Accueil > Forum > > > > Ecrire dans un fichier
Ecrire dans un fichier
lundi 5 mai 2008 à 19:27:38 |
Ecrire dans un fichier

pitidragon
|
Bonjour ! Je viens vous demandez de l'aide pour un programme en C. J'ai réalisé un démineur, jouable sur console, et je dois rajouter une fonction mais je bloque. Je dois écrire dans un fichier les meilleurs scores. J'ai 4 niveaux de jeux possible, et je chronomètre chaque partie. Il me faut donc écrire cette valeur dans un fichier, en indiquand le meilleur temps pour chaque niveaux. Un truc qui ressemblerai à ça : Démineur Meilleurs scores
Facile : ... secondes Moyen : ... secondes Difficile : ... secondes Personnalisé : ... secondesJ'ai commencé à écrire la fonction qui me permet de faire ça : void meilleur_score(int choix, double score) { FILE *f; f=fopen("Score","wt"); if(f==NULL) { perror("Erreur d'ouverture du fichier "); } fprintf(f," Démineur\n Meilleurs Scores\n"); fprintf(f,"\n");
if(choix==1) { fprintf(f,"Facile : %lf secondes",score); } if(choix==2) { fprintf(f,"Moyen : %lf secondes",score); } if(choix==3) { fprintf(f,"Difficile : %lf secondes",score); } if(choix==4) { fprintf(f,"Personnalisé : %lf secondes",score); } }
Choix me permet de savoir le niveau de difficulté, et score contient le temps de la partie. Je ne sais pas comment faire pour toujours afficher le modèle écrit dessus, et simplement changer le score lorsque celui-ci est un meilleur score. Je ne sais pas si je me suis bien fait comprendre lol. Merci de votre aide par avance :)
|
|
lundi 5 mai 2008 à 20:13:49 |
Re : Ecrire dans un fichier

Cyr62110
|
Le mieux est de stocker tes temps seul dans un fichier à part et faire un fichier texte avec le texte destiné à être lu par l'utilisateur.
Sinon tu peut faire une recherche de caractéres pour retrouver tes temps et reécrire entierement en remettant tes temps.
La premiére methode est je pense la plus rapide.
Bye
|
|
lundi 5 mai 2008 à 20:30:21 |
Re : Ecrire dans un fichier

pitidragon
|
Euh j'ai pas très bien compris. En fait dans un fichier j'écris le temps (juste celui de la dernière partie ou tous ?) Et dans un autre fichier j'écris le texte pour le joueur, auquel je rajoute le temps dedans ?
Je vois pas trop comment faire en fait pour savoir si le temps est bien un meilleur score, et comment l'écrire à la bonne place dans le fichier à lire.
Je te remercie de ton aide en tout cas
|
|
lundi 5 mai 2008 à 22:05:21 |
Re : Ecrire dans un fichier

p4l4din
|
je pense que si tu sépares en deux fonctions ça vas être plus simple ... je trouve que les idées sont là mais elles sont un peu mélangées ... à ta place je mettrai
une fonction qui au lancement du programme charge les 4 meilleurs scores du fichier.txt /* si il existe pas cette fontion même le crée et le rempli par quatre 0 ... */ dans un tableau de 4 cases
puis apres ta fontion meilleur_scores qui dépendant du choix va comparer le score de la partie à une valeur du tableau des scores si c'est un meilleur score elle l'écrit dans fichier.txt ... je crois que comme ca c'est plus simple @+
|
|
mardi 6 mai 2008 à 09:02:43 |
Re : Ecrire dans un fichier

Cyr62110
|
Bon je vais essayer d'être plus clair.
Tu créer un fichier qui contient tes 4 meileurs score sous forme binaire donc sans le formatage de fprintf. Une fois que tu lance ton logiciel tu charge ces quatres valeur et aprés tu n'as plus qu'as modifier ces valeurs si il y'as un nouveau meilleur score. Et donc aprés dans un autre fichier.txt que tu créer et qui est lisible par l'utilisateur, tu met tes meilleurs score avec le formatage de ta fonction.
Ce qui t'évitera de faire de la recherche de caractére dans ton fichier texte.
/*Exemple*/
void CreateMeilleurScoreFile()
{
FILE*fp;
fp = fopen("score.score","wb");
fwrite(0,sizeof(double),4,fp);
fclose(fp);
return;
}
double* RecupMeilleurScore()
{
double*score;
FILE*fp;
score = (double)malloc(4*sizeof(double));
fp = fopen("score.score","rb");
fread(score,sizeof(double),4,fp);
fclose(fp);
return score;
}
void ChangeMeilleurScore(double score,int difficulte)
{
FILE*fp;
fp = fopen("score.score","wb");
fseek(fp,difficulte,SEEK_CUR);
fwrite(score,sizeof(double),1,fp);
return;
}
Je ne l'ai ai pas testé donc il peut y avoir des erreurs.
Bye
|
|
Cette discussion est classée dans : fichier, choix, score, fprintf, if
Répondre à ce message
Sujets en rapport avec ce message
enreg et lecture dans fichier [ par musco ]
salut je desirai garder des infos dans un fichier (ATTENTION JE SUIS EN C ET NE VEUT PAS DE C++)alors en faite je fais saisir par l'utilisateur le nbr
pb ecriture ds fichier [ par YOHANONEILL ]
bonjour, voila j'ai un programme ou j'écrit dans un fichier des lignes, mais parfois la ligne que j'insert dans le fichier s'écrit 20000 ou 60000 foi
fprintf overload ??? [ par ekinox17 ]
bonjour, je sauvagarde un historique de mesure toutes les 10 seconde via fprintf donc l'ecriture dans le fichier se fait en mode "a" et donc elle est
demande explication sur fichier structuré [ par bellionl ]
Voila j'essaye de faire des fichiers strucurés.le probleme etant que les int de la structures s'ecrive bien sur le fichier mais pas les ansistring.ex
Choix d'un répertoire [ par albertoC ]
Bonjour,J'utilise GetOpenFileName pour récupérer le nom d'un fichier (merci, brunews).Par ailleurs, j'aurais besoin de sélectionner seulement un réper
Choix de l'emplacement ou enregistrer un fichier ini [ par Corn51 ]
Bonjour,Comment fait ton pour indiquer ou enregistrer un fichier ini ? Parce que en mettant comme cela :WritePrivateProfileString("COM","Baudrate", m_
pb encoding Base64 [ par mailer ]
J'ai récupéré cette méthode pour encoder un fichier en base64 mais elle plante au niveau du 1er fprintf. Quelqu'un a t-il une solution??? Merci #defi
information fprintf [ par angelfire0808 ]
Quand j'ecrie dans mon fichier avec la commande: fprintf(fichier, "%s;%d", sms_a_envoyer,num_send);&nb
[win32] combobox [ par mogwai93 ]
Bonjour j'ai une combobox avec plusieurs choix possibles en fonction des choix, certains items s'affichent ou non l'item sélectionné est enregistré
problem avec scanf et fwrite dans boucle while [ par kamal93270 ]
bonjour voici mon programme : #include #include int main() { int choix; FILE* fichier; while (1) { scanf("%d",
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : CXIMAGERE : CXIMAGE par rt15
Cliquez pour lire la suite par rt15
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|