0% ont trouvé ce document utile (0 vote)
12 vues4 pages

Code C

Ce code en C permet de gérer un système d'enregistrement d'étudiants, incluant des fonctionnalités pour enregistrer, afficher, rechercher et modifier des informations sur les étudiants. Les données sont stockées dans un fichier texte dont le nom est spécifié par l'utilisateur. Le programme utilise une structure pour représenter les étudiants et gère la mémoire dynamique pour stocker les informations des étudiants.

Transféré par

paulintegomo167
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues4 pages

Code C

Ce code en C permet de gérer un système d'enregistrement d'étudiants, incluant des fonctionnalités pour enregistrer, afficher, rechercher et modifier des informations sur les étudiants. Les données sont stockées dans un fichier texte dont le nom est spécifié par l'utilisateur. Le programme utilise une structure pour représenter les étudiants et gère la mémoire dynamique pour stocker les informations des étudiants.

Transféré par

paulintegomo167
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <stdio.

h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
typedef struct{
int matricule;
char nom[20];
char prenom[25];
int age;
char email[55];
}ETUDIANT;
int menu(){
int i;
printf("1 : Enregistrer un étudiants\n\n");
printf("2 : Afficher les étudiants\n\n");
printf("3 : Rechercher un étudiants\n\n");
printf("4 : Modifier un étudiants\n\n");
printf("5 : Quitter\n\n");
printf("Choisir une option......\n\n");
scanf("%d",&i);
return i;
}
void Enregistrer(ETUDIANT *E){
char NomFichier[50];
char matricule[50];
char nom[50];
int i,n;
printf("Entrer le nom du fichier de sauvegarde\n");
scanf("%s",&NomFichier);
strcpy( NomFichier , strcat(NomFichier,".txt"));
printf("%s",NomFichier);
printf("Entrez la taille de la classe\n");
scanf("%d",&n);

E = (ETUDIANT*)malloc((n+1)*sizeof(ETUDIANT));
for(i =1;i<=n;i++){
printf("Entrez le matricule de l'étudiant %d\n",i);
scanf("%s",matricule);
strcpy(&E[i].matricule,matricule);
printf("Entrez le nom de l'étudiant %d\n",i);
scanf("%s",nom);
strcpy(&E[i].nom,nom);
printf("Entrez le prénom de l'étudiant %d\n",i);
scanf("%s",& E[i].prenom);
printf("Entrez l'âge de l'étudiant %d\n",i);
scanf("%s",& E[i].age);
printf("Entrez l'email de l'étudiant %d\n",i);
scanf("%s",& E[i].email);
}
/*
char choix[10];
printf("Voulez vous enregistrer ? \n");
printf("y / n\n");

scanf("%s",&choix);
if(strcmp(choix,"y")){
*/
FILE *fichier;
fichier = fopen(NomFichier ,"a");
if(fichier == NULL){
printf("Erreur d'ouverture");
}
for(i = 1 ;i <= n;i++){

fprintf(fichier," matricule : %s ,Nom : %s, Prénom : %s, âge = %s, Email :


%s",& E[i].matricule,& E[i].nom,& E[i].prenom,& E[i].age,& E[i].email);

}
fclose(fichier);
/*}else{
if(strcmp(choix,"y")){
printf("bye");
}

}*/
}
void Afficher(){
char Nomfichier[55];
char ligne[256];
printf("Entrez le nom du fichier de sauvegarde");
scanf("%s",&Nomfichier);
strcpy(Nomfichier , strcat(Nomfichier,".txt"));
FILE *fichier = fopen(Nomfichier ,"r");
if(fichier == NULL){
printf("Impossible de lire ce fichier veillez essayer un autre");
}else{
while(fgets(ligne,sizeof(ligne),fichier) != NULL){
printf("%s", ligne);}

}
fclose(fichier);
}
void Recherche(){
char Nomfichier[55];
char matricule[55];
char ligne[256];
printf("Entrez le nom du fichier de sauvegarde");
scanf("%s",&Nomfichier);
printf("Entrez le matricule de l'étudiant à rechercher");
scanf("%s",&matricule);
strcpy(Nomfichier , strcat(Nomfichier,".txt"));
FILE *fichier = fopen(Nomfichier ,"r");
if(fichier == NULL){
printf("Impossible de lire ce fichier veuillez essayer un autre");
}else{
while(fgets(ligne,sizeof(ligne),fichier) != NULL){
if(strstr(ligne,matricule)!=NULL){
printf("%s", ligne);
}
}

}
fclose(fichier);

}
void Modifier(){
char Nomfichier[55];
char matricule[55];
char ligne[256];
printf("Entrez le nom du fichier de sauvegarde");
scanf("%s",&Nomfichier);
printf("Entrez le matricule de l'étudiant à modifier");
scanf("%s",&matricule);
strcpy(Nomfichier , strcat(Nomfichier,".txt"));
FILE *fichier = fopen(Nomfichier ,"a");
FILE *fichiertemp = fopen("[Link]" ,"a");

if(fichier == NULL){
printf("Impossible de lire ce fichier veuillez essayer un autre");
}else{

if(fgets(ligne,sizeof(ligne),fichier) != NULL){

if(strstr(ligne,matricule)== NULL){
fprintf(fichiertemp,"%s", ligne);
}
}
fclose(fichier);
ETUDIANT *E;
char nom[55];
strcpy(E->matricule,matricule);
printf("Entrez le nouveau nom de l'étudiant %d\n");
scanf("%s",nom);
strcpy(E->nom,nom);
printf("Entrez le nouveau prénom de l'étudiant %d\n");
scanf("%s", E->prenom);
printf("Entrez le nouvel âge de l'étudiant %d\n");
scanf("%s", E->age);
printf("Entrez le nouvel email de l'étudiant %d\n");
scanf("%s", E->email);
fprintf(fichiertemp,"%s", E->matricule);

fprintf(fichiertemp,"%s \t", E->nom);

fprintf(fichiertemp,"%s\t",E->prenom);

fprintf(fichiertemp,"%s\t", E->age);

fprintf(fichiertemp,"%s\t", E->email);

fclose(fichiertemp);
remove(Nomfichier);
rename("[Link]",Nomfichier);

}
}
int main()
{
int i;
i = menu();
ETUDIANT *E;
switch (i){
case 1:{
Enregistrer(E);
break;
}
case 2:{
Afficher();
break;
}
case 3:{
Recherche();
break;
}
case 4:{
Modifier();
break;
}
case 5:{
return 0;
}default:
printf("Faite un choix parmi le menu !\n");
break;
}
return 0;
}

Vous aimerez peut-être aussi