Coucou
Je débute juste en C++ et je ne suis pas doué pour le coup^^ J'ai un exercice sur les fichiers qui me demande de faire ça:
Pour toutes les questions suivantes, utiliser une structure.
1/ Ecrire une fonction permettant de créer séquentiellement un fichier "mesures" comportant pour chaque mesure:
-nom (20 caractères maximum), nom de la mesure
-reference (15 caractères maximum), référence de la mesure
-resultat (réel), résultat de la mesure
Les informations relatives aux différentes mesures seront saisies au clavier.
2/Ecrire une fonction permettant, à partir du fichier créé précédemment, de retrouver les informations correspondant à une mesure de nom donné.
3/Ecrire une fonction permettant, à partir du fichier créé précédemment, de retrouver les informations relatives à une mesure de "rang" donné (par accès direct).
4/Ecrire un programme de test regroupant toutes ces fonctions avec possibilité de menu de choix pour l'utilisateur comme ci-dessous:
1 Créer et remplir le fichier mesures
2 Consulter mesure par son nom
3 Consulter mesure par son rang dans le fichier mesures
Pour le 1/ j'ai fait cela :
Citation :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
struct mesure
{
char nom[20];
char reference[15];
float resultat;
FILE * fp;
void saisie();
};
void mesure::saisie()
{
fp=fopen ("mesures.txt", "at" );
cout<<"Donnez le nom de la mesure : ";
cin>>nom;
fprintf (fp,"%s",nom);
cout<<"Donnez la reference : ";
cin>>reference;
fprintf (fp," %s",reference);
cout<<"Donnez le resultat de la mesure : ";
cin>>resultat;
fprintf (fp," %f\n",resultat);
fclose (fp);
}
void main()
{ int x;
mesure nouvelle;
x=1;
while (x!=0)
{
nouvelle.saisie();
cout<<"Donner 0 si la saisie est finie ou 1 si elle continue : ";
cin>>x;
};
getch();
}
|
Bon ça marche mais pour que ça puisse fonctionner avec la suite il doit faloir changer des trucs peut-être
Après le 2/ je ne sais pas trop comment faire et le 3/ vu le cours il faut se servir de fseek et fread (et fwrite peut-être du coup).
Si quelqu'un a une idée, je l'épouse sur le champ !
Enfin juste si c'est une demoiselle
Merci beaucoup en tout cas