This commit is contained in:
unknown
2022-01-14 06:54:18 +01:00
commit d9949b5cb0
288 changed files with 6425 additions and 0 deletions

View 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;
}

Binary file not shown.

View 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
*/

View 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;
}

Binary file not shown.

View 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);
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.