Bonjour tout le monde!
j'ai un probleme pour finir un exercice en langage C sur les fichiers.J'arrive pas a faire le choix 3 et le choix 4.Voila l'enoncé de l'exercice :
Ecrire une fonction "saisie" permettant de rentrer un numero, un nom et un prenom.Ecrire ensuite une fonction "affiche" affichant le numero de matricule, le nom et le prenom à l'ecran. Ecrire un programme structuré sous forme de menu proposant les options suivantes :
1 : creation du fichier dt le nom sera entré au clavier.
2 : addition à la fin du fichier d'un nombre d'elements.
3 : recherche à travers le fichier et affichage du matricule, nom et prenom pour tos les elements du fichier correspondant au nom saisi au clavier.
4 : affichage des caracteristiques (matricule, nom, prenom) pour le premier element du fichier dont le nom correspond à celui entré.
Si vous pouvez m'aider ce serait sympa je bloque vraiment là et j'ai mon exam mardi
Merci beaucoup.
voila le debut du programme que j'ai deja fait :
#include<stdio.h>
void saisie(char nom[50],char prenom[50],int *mat)
{
printf("Entrez le matricule : ");
scanf("%d",mat);
printf("Entrez le nom du comdamné a mort : ");
scanf("%s",nom);
printf("Entrez le prenom du comdamné a mort : ");
scanf("%s",prenom);
}
void affiche(char nom[50],char prenom[50],int mat)
{
printf("le numero de matricule est : %d",mat);
printf("le nom du comdamné a mort est : %s \net son prenom est :
%s",nom,prenom);
}
int main()
{
int choix,nbr,nbr2,p,i;
char nomf[50];
char n1[50],n2[50];
char rechnom[50];
FILE *fp;
printf("Que voulez vous faire?\n");
printf("1. creation du fichier dont le nom sera entré au clavier\n");
printf("2. addition à la fin du fichier d'un nombre d'elements demandé
a l'utilisateur\n");
printf("3. recherche a travers le fichiers\n");
printf("4. affichage des caracteristiques pour le premier element du
fichier dont le nom correspond à celui entré\n");
scanf("%d",&choix);
switch(choix)
{
case 1 :
printf("entrez le nom du fichier : ");
scanf("%s",nomf);
fp=fopen(nomf,"w");
if (fp==0)
return -1;
printf("entrez le nombre d'enregistrements : ");
scanf("%d",&nbr);
for(i=0;i<nbr;i++)
{
saisie(n1,n2,&p);
fprintf(fp,"%s\t%s\t%d\n",n1,n2,p);
}
fclose(fp);
break;
case 2 :
printf("quel fichier voulez vous ouvrir : ");
scanf("%s",&nomf);
fp=fopen(nomf,"a");
if (fp==0)
{
printf("erreur ouverture fichier\n");
return -1;
}
printf("entrez le nombre d'enregistrements a ajouter : ");
scanf("%d",&nbr2);
for(i=0;i<nbr2;i++)
{
saisie(n1,n2,&p);
fprintf(fp,"%s\t%s\t%d\n",n1,n2,p);
}
fclose(fp);
break;
case 3 :
printf("quel fichier voulez vous ouvrir : ");
scanf("%s",&nomf);
printf("entrez le nom a rechercher :");
scanf("%s",&rechnom);
fp=fopen(nomf,"r");
break ;
case 4 :
break ;
}
return 0;
}