Ficher professeur
dav_smith
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Chris 94 Messages postés 54087 Date d'inscription Statut Modérateur Dernière intervention -
Chris 94 Messages postés 54087 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir à vous,
voilà j'ai petit problème sur le code C de cette Algorithme c'est à dire plus précisément sur l'ajout de professeur!
*voici l'algorithme:
* Création du fichier professeur
-Saisir le nombre de professeur à ajouter (nb_prof)
-Ouvrir le fichier professeur en mode écriture
-n = 0
-tantque n < nb_prof
-Saisir le matricule et le nom d'un professeur
-Ajouter l'enregistrement dans le fichier professeur
-n ++
-Fin tantque
-Fermer le fichier
* Ajout d'un nouveau professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur n'existe pas encore alors l'ajouter dans le fichier professeur sinon afficher le message << professeur déjà saisi>>.
* Suppression d'un professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur est trouvé alors le supprimer dans le fichier professeur sinon afficher le message d'erreur << professeur non trouvé>>
* Modification d'un professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur est trouvé alors le modifier dans le fichier professeur sinon afficher le message d'erreur << professeur non trouvé>>
*voici le code que j'ai commencer mais mon programme bloque sur la rechercher dans le fichier professeur et de faire apparaitre << professeur déjà saisi>>.
{
int choixprof ;
printf("-----------------------------------------------------------\n");
printf("| TRAITEMENT PROFESSEUR |\n");
printf("-----------------------------------------------------------\n");
printf("1 : Creation de fihier professeur \n");
printf("2 : Ajout d'un nouveau professeur\n ");
printf("3 : Modification d'un professeur\n ");
printf("4 : Supppression d'un professeur\n");
printf("------------------------------------------------------------\n");
printf("Entrer le numero de votre choix: ");
scanf("%d",&choixprof);
while(getchar()!='\n');
printf("------------------------------------------------------------\n\n");
choic_prof(choixprof);
}
void choic_prof(int cp)
{
switch(cp)
{
case 1: creation_prof();break;
case 2: ajout_prof();break;
case 3: modification_prof();break;
//case 4: suppression_prof();break;
}
}
/*++++creation de professeur+++*/
void creation_prof()
{ FILE *p_fichier= NULL;
char nom_du_professeur[50] , nom_fic_prof[50], matricule[50],*m,*np;
int n , nb_prof ;
printf("--------------------------------------------------\n");
printf("| Creation du fichier professeur |\n");
printf("---------------------------------------------------\n");
printf("Entrer le nom du fichier a creer: ");
scanf("%s",&nom_fic_prof);
while(getchar()!='\n');
p_fichier=fopen("ficp/nom_fic_prof.text","w");
printf("Donnee le nombre de professeur a ajouter :");
scanf("%d",&nb_prof);
while(getchar()!='\n');
n=0;
while(n < nb_prof)
{
printf("Entrer le matricule du professeur : ");
scanf("%s",&matricule);
while(getchar()!='\n');
printf("Enter son nom :");
scanf("%s",&nom_du_professeur);
while(getchar()!='\n');
fprintf(p_fichier, "%s\n%s\n",matricule,nom_du_professeur);
n++;
}
m=&matricule; np=&nom_du_professeur;
fclose(p_fichier);
}
/*+++++++Ajout de professeur+++++++*/
void ajout_prof()
{ FILE *p_fichier, *p1_fihier;
int y=0;
char matriculep[50],nomp[50],*m,*np;
//==saisi du matricule
ver:printf("Entre le matricule a ajouter:");scanf("%[^\n]",&matriculep);while(getchar()!='\n');
goto p_fichier;
nom:printf("Entrer son nom:");scanf("%[^\n]",nomp);while(getchar()!='\n');
p_fichier:printf("");
p_fichier=fopen("ficp/nom_fic_prof.text","r");
p1_fihier=fopen("ficp/novo_fic_prof.text","w");
while(!feof(p_fichier)){
fscanf(p_fichier,"%[^\n]\n%[^\n]\n",m,np);
if(strcmp(matriculep,m)==0){
printf("professeur deja saisi.\n");
goto ver;
y=1;
}
goto p1_fihier;
fprintf(p1_fihier,"%s\n%s\n",m,np);
}
goto nom;
fp:fprintf(p1_fihier,"%s\n%s\n",matriculep,nomp);
fclose(p1_fihier);
fclose(p_fichier);
//retour
p_fichier=fopen("ficp/nom_fic_prof.text","w");
p1_fihier=fopen("ficp/novo_fic_prof.text","r");
while(!feof(p1_fihier)){
fscanf(p1_fihier,"%[^\n]\n%[^\n]\n",m,np);
fprintf(p_fichier,"%s\n%s\n",m,np);
}
//))Fermeture des fichier
fclose(p1_fihier);fclose(p_fichier);
}
//***Modification
void modification_prof(){
FILE*p_fichier;
FILE*p3_fihier;
int matriculem ,matriculemo,matricule;
//Ouverture du ancien fichier professeur
do
{
p_fichier=fopen("ficp/nom_fic_prof","r");
if(!p_fichier)
printf("\aERREUR:Impossible d'ouvrir""le fichier");
}
while(!p_fichier);
//Ouverture du nouveau fichier professeur
do
{
p3_fihier=fopen("ficp/novmod_fic_prof","w");
if(!p3_fihier)
printf("\aERREUR:Impossible d'ouvrir""le nouveau fichier professeur");
}
while(!p3_fihier);
printf("Entrer le matricule de professeur à modifier:");
scanf("%d",&matriculem);
while(getchar()!='\n');
printf("Entrer le nouveau matricule de professeur à modifier:");
scanf("%d",&matriculemo);
while(getchar()!='\n');
while(!feof(p_fichier))
{
fscanf(p_fichier,"%d",matricule);
if(strcmp(matricule,matriculem)>0)
fprintf(p3_fihier,"%d\n",matriculemo);
else fprintf(p3_fihier,"%d\n",matricule);
}
//fermeture des fichier
fclose(p3_fihier);fclose(p_fichier);
}
*si vous plais donne moi la solution!
voilà j'ai petit problème sur le code C de cette Algorithme c'est à dire plus précisément sur l'ajout de professeur!
*voici l'algorithme:
* Création du fichier professeur
-Saisir le nombre de professeur à ajouter (nb_prof)
-Ouvrir le fichier professeur en mode écriture
-n = 0
-tantque n < nb_prof
-Saisir le matricule et le nom d'un professeur
-Ajouter l'enregistrement dans le fichier professeur
-n ++
-Fin tantque
-Fermer le fichier
* Ajout d'un nouveau professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur n'existe pas encore alors l'ajouter dans le fichier professeur sinon afficher le message << professeur déjà saisi>>.
* Suppression d'un professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur est trouvé alors le supprimer dans le fichier professeur sinon afficher le message d'erreur << professeur non trouvé>>
* Modification d'un professeur
-Saisir le matricule de professeur et le rechercher dans le fichier professeur ouvert en mode lecture
-Si le professeur est trouvé alors le modifier dans le fichier professeur sinon afficher le message d'erreur << professeur non trouvé>>
*voici le code que j'ai commencer mais mon programme bloque sur la rechercher dans le fichier professeur et de faire apparaitre << professeur déjà saisi>>.
{
int choixprof ;
printf("-----------------------------------------------------------\n");
printf("| TRAITEMENT PROFESSEUR |\n");
printf("-----------------------------------------------------------\n");
printf("1 : Creation de fihier professeur \n");
printf("2 : Ajout d'un nouveau professeur\n ");
printf("3 : Modification d'un professeur\n ");
printf("4 : Supppression d'un professeur\n");
printf("------------------------------------------------------------\n");
printf("Entrer le numero de votre choix: ");
scanf("%d",&choixprof);
while(getchar()!='\n');
printf("------------------------------------------------------------\n\n");
choic_prof(choixprof);
}
void choic_prof(int cp)
{
switch(cp)
{
case 1: creation_prof();break;
case 2: ajout_prof();break;
case 3: modification_prof();break;
//case 4: suppression_prof();break;
}
}
/*++++creation de professeur+++*/
void creation_prof()
{ FILE *p_fichier= NULL;
char nom_du_professeur[50] , nom_fic_prof[50], matricule[50],*m,*np;
int n , nb_prof ;
printf("--------------------------------------------------\n");
printf("| Creation du fichier professeur |\n");
printf("---------------------------------------------------\n");
printf("Entrer le nom du fichier a creer: ");
scanf("%s",&nom_fic_prof);
while(getchar()!='\n');
p_fichier=fopen("ficp/nom_fic_prof.text","w");
printf("Donnee le nombre de professeur a ajouter :");
scanf("%d",&nb_prof);
while(getchar()!='\n');
n=0;
while(n < nb_prof)
{
printf("Entrer le matricule du professeur : ");
scanf("%s",&matricule);
while(getchar()!='\n');
printf("Enter son nom :");
scanf("%s",&nom_du_professeur);
while(getchar()!='\n');
fprintf(p_fichier, "%s\n%s\n",matricule,nom_du_professeur);
n++;
}
m=&matricule; np=&nom_du_professeur;
fclose(p_fichier);
}
/*+++++++Ajout de professeur+++++++*/
void ajout_prof()
{ FILE *p_fichier, *p1_fihier;
int y=0;
char matriculep[50],nomp[50],*m,*np;
//==saisi du matricule
ver:printf("Entre le matricule a ajouter:");scanf("%[^\n]",&matriculep);while(getchar()!='\n');
goto p_fichier;
nom:printf("Entrer son nom:");scanf("%[^\n]",nomp);while(getchar()!='\n');
p_fichier:printf("");
p_fichier=fopen("ficp/nom_fic_prof.text","r");
p1_fihier=fopen("ficp/novo_fic_prof.text","w");
while(!feof(p_fichier)){
fscanf(p_fichier,"%[^\n]\n%[^\n]\n",m,np);
if(strcmp(matriculep,m)==0){
printf("professeur deja saisi.\n");
goto ver;
y=1;
}
goto p1_fihier;
fprintf(p1_fihier,"%s\n%s\n",m,np);
}
goto nom;
fp:fprintf(p1_fihier,"%s\n%s\n",matriculep,nomp);
fclose(p1_fihier);
fclose(p_fichier);
//retour
p_fichier=fopen("ficp/nom_fic_prof.text","w");
p1_fihier=fopen("ficp/novo_fic_prof.text","r");
while(!feof(p1_fihier)){
fscanf(p1_fihier,"%[^\n]\n%[^\n]\n",m,np);
fprintf(p_fichier,"%s\n%s\n",m,np);
}
//))Fermeture des fichier
fclose(p1_fihier);fclose(p_fichier);
}
//***Modification
void modification_prof(){
FILE*p_fichier;
FILE*p3_fihier;
int matriculem ,matriculemo,matricule;
//Ouverture du ancien fichier professeur
do
{
p_fichier=fopen("ficp/nom_fic_prof","r");
if(!p_fichier)
printf("\aERREUR:Impossible d'ouvrir""le fichier");
}
while(!p_fichier);
//Ouverture du nouveau fichier professeur
do
{
p3_fihier=fopen("ficp/novmod_fic_prof","w");
if(!p3_fihier)
printf("\aERREUR:Impossible d'ouvrir""le nouveau fichier professeur");
}
while(!p3_fihier);
printf("Entrer le matricule de professeur à modifier:");
scanf("%d",&matriculem);
while(getchar()!='\n');
printf("Entrer le nouveau matricule de professeur à modifier:");
scanf("%d",&matriculemo);
while(getchar()!='\n');
while(!feof(p_fichier))
{
fscanf(p_fichier,"%d",matricule);
if(strcmp(matricule,matriculem)>0)
fprintf(p3_fihier,"%d\n",matriculemo);
else fprintf(p3_fihier,"%d\n",matricule);
}
//fermeture des fichier
fclose(p3_fihier);fclose(p_fichier);
}
*si vous plais donne moi la solution!
A voir également:
- Ficher professeur
- Ficher rar - Guide
- Ficher bin - Guide
- Ficher iso - Guide
- Professeur particulier - Guide
- Ficher 7z - Guide