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 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|