Bonjour,
je suis en train de realiser un programme de "gestion des comptes bancaires" en langage C;
Dans le programme, j'ai une structure compte declarée comme une variable globale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 struct compte { char numeroCpte [11]; //numero du compte char typeCompte [7]; //type du compte: cheque ou epargne char nomClient [50]; //nom du client char prenomClient [50]; //prenom(s) du client char statutClient [12]; //statut social du client: salarie ou non salarie char categorieCompte [13]; //categorie du compte: particulier ou professionnel char numeroClient [11]; //numero du client char dateCreation [10]; //date de creation du compte }; struct compte cpt; // declaration d'une variable cpt de type compte
J'enregistre les donnees dans la structure compte dans un fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 void EnregDansFichier () { char nomFichier [26]; //nom du fichier dans lequel il faut sauvegarder int erreur; int i; FILE *sortie; printf("Entrez le nom du fichier: "); scanf("%s",&nomFichier); sortie=fopen(nomFichier,"at"); if (sortie == NULL) { printf("Un probleme est survenue lors de la tentative d'enregistrement de vos donnees dans le fichier %s\n",nomFichier); } else { fprintf(sortie,"%s \n %s \n %s \n %s \n %s \n %s \n %s \n %s \n", cpt.numeroCpte, cpt.typeCompte, cpt.nomClient, cpt.prenomClient, cpt.statutClient, cpt.categorieCompte, cpt.numeroClient, cpt.dateCreation); } fclose(sortie); }
Je voudrais effectuer une recherche à partir du nomClient, ou à partir du numeroCpte, dans le fichier, et afficher l'enregistrement correspondant:
[/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 void RechercheCpte () { char numeroCpte [11]; char nomClient [50]; char nomFichier [26]; int trouve1, trouve2=0; FILE *sortie; printf ("Entrez le nom du fichier: "); scanf ("%s", nomFichier); sortie=fopen(nomFichier, "rt"); printf ("\n\n\nEntrez le nom du client, ou le numero de compte que vous cherchez"); printf ("\n\n\nNumero compte: "); scanf ("%s", numeroCpte); printf ("\n\n\nNom client: "); scanf ("%s", nomClient); while (!EOF || !trouve1 || !trouve2) // tant que la fin du fichier n'est pas atteint { if (numeroCpte) // si un numero de compte a ete saisi { if (nomClient) // si un numero de compte et un nom de client ont ete saisi { trouve1=(strcmp(nomClient, cpt.nomClient)); } else // si un numero de compte a ete saisi, mais pas de nom client { trouve2=(strcmp(numeroCpte, cpt.numeroCpte)); } } else // si aucun numero de compte n'a ete saisi { if (nomClient) // si aucun numero de compte n'a ete saisi, mais qu'un numero de client a ete saisie { trouve1=(strcmp(nomClient, cpt.nomClient)); } } // fin du if fscanf(sortie,"%s \n %s \n %s \n %s \n %s \n %s \n %s \n %s \n", &cpt.numeroCpte, &cpt.typeCompte, &cpt.nomClient, &cpt.prenomClient, &cpt.statutClient, &cpt.categorieCompte, &cpt.numeroClient, &cpt.dateCreation); } // fin du while fscanf(sortie,"%s \n %s \n %s \n %s \n %s \n %s \n %s \n %s \n", &cpt.numeroCpte, &cpt.typeCompte, &cpt.nomClient, &cpt.prenomClient, &cpt.statutClient, &cpt.categorieCompte, &cpt.numeroClient, &cpt.dateCreation); // fscanf(sortie,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", &cpt.numeroCpte, &cpt.typeCompte, &cpt.nomClient, &cpt.prenomClient, &cpt.statutClient, &cpt.categorieCompte, &cpt.numeroClient, &cpt.dateCreation); system ("pause"); }
Partager