a
This commit is contained in:
26
APL1.2/3.Fichier/source/Chainée.c
Normal file
26
APL1.2/3.Fichier/source/Chainée.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include<stdlib.h>
|
||||
|
||||
typedef struct s_maillon {
|
||||
int valeur;
|
||||
struct s_maillon* suivant;
|
||||
} maillon;
|
||||
|
||||
typedef maillon* pile;
|
||||
|
||||
void push(pile* p, int nouveau) {
|
||||
maillon* m = (maillon*) malloc(sizeof(maillon));
|
||||
m->valeur = nouveau;
|
||||
m->suivant = *p;
|
||||
*p = m;
|
||||
}
|
||||
|
||||
int pop(pile* p) {
|
||||
maillon m = **p;
|
||||
free(*p);
|
||||
*p = m.suivant;
|
||||
return m.valeur;
|
||||
}
|
||||
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
BIN
APL1.2/3.Fichier/source/Challenger
Normal file
BIN
APL1.2/3.Fichier/source/Challenger
Normal file
Binary file not shown.
86
APL1.2/3.Fichier/source/Challenger.c
Normal file
86
APL1.2/3.Fichier/source/Challenger.c
Normal file
@@ -0,0 +1,86 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
|
||||
|
||||
|
||||
int main(int argc, char* argv[]){
|
||||
|
||||
FILE* fluxFichierTopL;
|
||||
|
||||
|
||||
fluxFichierTopL = fopen("top10", "r");//on affecte le fichier a notre variable
|
||||
|
||||
if(fluxFichierTopL){
|
||||
|
||||
typedef struct enregistrement{
|
||||
int score;
|
||||
char sigle[3];
|
||||
} joueur; //structure d'un joueur
|
||||
|
||||
int compteur=0,ajout=0;
|
||||
joueur hof[10];
|
||||
joueur nouveauHof[10];
|
||||
joueur entrant;
|
||||
entrant.score = strtol(argv[1],NULL,10);
|
||||
|
||||
|
||||
|
||||
for(compteur=0;compteur<10;compteur++){ //on lit les valeur des 10 joueur du hof et on les affecte au variable correspondantes
|
||||
|
||||
fread(&hof[compteur].score,sizeof(int),1,fluxFichierTopL);
|
||||
fread(&hof[compteur].sigle,sizeof(char),3,fluxFichierTopL);
|
||||
}
|
||||
|
||||
printf("on a tout lu\n");
|
||||
|
||||
for(compteur=0;compteur<10;compteur++){ //on affiche les valeurs lu precedemment
|
||||
|
||||
printf("%08d %s \n",hof[compteur].score, hof[compteur].sigle);
|
||||
}
|
||||
|
||||
for(compteur=0;compteur<10;compteur++){
|
||||
|
||||
if(hof[compteur].score<entrant.score && ajout!=1){ //si on le nouveau score est superieur a un ancien et qu'on a deja inserer le nouveau joueur
|
||||
|
||||
nouveauHof[compteur].score=entrant.score;
|
||||
nouveauHof[compteur].sigle[0]=argv[2][0];
|
||||
nouveauHof[compteur].sigle[1]=argv[2][1];
|
||||
nouveauHof[compteur].sigle[2]=argv[2][2];
|
||||
ajout=1;
|
||||
|
||||
} else{
|
||||
if(ajout==1){ //si on a deja inserer le nouveau jour on prendra les valeurs des joueur decaler de 1 rang afin de ne pas remplacer le joueur battu mais de le placer derriere le nouveau
|
||||
nouveauHof[compteur]=hof[compteur-1];
|
||||
}else nouveauHof[compteur]=hof[compteur]; //sinon on va juste affecter le meme joueur a la meme place
|
||||
}
|
||||
|
||||
}
|
||||
printf("NOUVELLE LISTE\n");
|
||||
for(compteur=0;compteur<10;compteur++)
|
||||
{
|
||||
printf("%08d %s \n",nouveauHof[compteur].score, nouveauHof[compteur].sigle); //on affiche la nouvelle liste
|
||||
}
|
||||
fclose(fluxFichierTopL);//on ferme le flux de lecture
|
||||
|
||||
FILE* ecriture;
|
||||
ecriture=fopen("top10","w");//on ouvre le flux d'ecriture en supprimant les anciennes données
|
||||
|
||||
for(compteur=0;compteur<10;compteur++){ //on insere la nouvelle liste dans le fichier
|
||||
|
||||
fwrite(&nouveauHof[compteur].score,sizeof(int),1,ecriture);
|
||||
fwrite(&nouveauHof[compteur].sigle,sizeof(char),3,ecriture);
|
||||
}
|
||||
|
||||
fclose(ecriture);//on ferme le flux de lecture
|
||||
|
||||
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
/*FAUT PAS OUVRIR DEUX FOIS LE MEME FICHIER EN MEME TEMPS, TU LOUVRE PUIS TU LE FERME PUIS TU LE REOUVRE
|
||||
|
||||
*/
|
||||
42
APL1.2/3.Fichier/source/Image.c
Normal file
42
APL1.2/3.Fichier/source/Image.c
Normal file
@@ -0,0 +1,42 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<graph.h>
|
||||
|
||||
int main(void){
|
||||
|
||||
FILE* flux;
|
||||
flux=fopen("image.bin", "r");
|
||||
int h,l;
|
||||
int coul1,coul2,coul3;
|
||||
int compteurL,compteurH;
|
||||
couleur couleurPixel;
|
||||
|
||||
if(flux){
|
||||
|
||||
fread(&l,sizeof(int),1,flux);
|
||||
fread(&h,sizeof(int),1,flux);
|
||||
printf("l=%d d=%d\n",l,h );
|
||||
InitialiserGraphique();
|
||||
ChoisirEcran(0);
|
||||
CreerFenetre(10,10,l,h);
|
||||
|
||||
for(compteurL=0;compteurL<l;compteurL++){
|
||||
|
||||
|
||||
for(compteurH=0;compteurH<h;compteurH++){
|
||||
|
||||
fread(&couleurPixel,sizeof(couleur),1,flux);
|
||||
|
||||
ChoisirCouleurDessin(couleurPixel);
|
||||
DessinerPixel(compteurL,compteurH);
|
||||
}
|
||||
|
||||
}
|
||||
Touche();
|
||||
FermerGraphique();
|
||||
fclose(flux);
|
||||
}
|
||||
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
BIN
APL1.2/3.Fichier/source/Records
Normal file
BIN
APL1.2/3.Fichier/source/Records
Normal file
Binary file not shown.
34
APL1.2/3.Fichier/source/Records.c
Normal file
34
APL1.2/3.Fichier/source/Records.c
Normal file
@@ -0,0 +1,34 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
|
||||
#define BLOC_ENTIER sizeof(int)
|
||||
|
||||
int main(void){
|
||||
|
||||
|
||||
FILE* fluxFichierTop;
|
||||
|
||||
fluxFichierTop = fopen("top10", "r");
|
||||
|
||||
if (fluxFichierTop) {
|
||||
|
||||
int score=0;
|
||||
char sigle[3];
|
||||
|
||||
while(1){
|
||||
|
||||
fread(&score,sizeof(int),1,fluxFichierTop);
|
||||
fread(sigle,sizeof(char),3,fluxFichierTop);
|
||||
|
||||
if (feof(fluxFichierTop)){
|
||||
|
||||
fclose(fluxFichierTop);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
printf("%08d %s\n",score,sigle);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
BIN
APL1.2/3.Fichier/source/image.bin
Normal file
BIN
APL1.2/3.Fichier/source/image.bin
Normal file
Binary file not shown.
BIN
APL1.2/3.Fichier/source/test
Normal file
BIN
APL1.2/3.Fichier/source/test
Normal file
Binary file not shown.
BIN
APL1.2/3.Fichier/source/top10
Normal file
BIN
APL1.2/3.Fichier/source/top10
Normal file
Binary file not shown.
Reference in New Issue
Block a user