Une modification sur la mise a joure en c

Fermé
betyzak Messages postés 40 Date d'inscription dimanche 5 décembre 2010 Statut Membre Dernière intervention 6 janvier 2011 - 5 déc. 2010 à 13:54
 youri gagarin - 1 janv. 2011 à 19:52
je veux une correction pour ce code (gestion d'élève) :) et merci!


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
typedef struct {
char nom[20];
char prenom[20];
int cin;
}eleve;

int main(int n)
{


eleve t[20] ;



menu();

return 0;}
//fonction rechercher

int rechercher(char nom[15]){
int i,n;
eleve t[20];
for(i=1;i<=n;i++){
if (strcmp(t[i].nom,nom)==0)
return(i);
else
return(-1); }
}
// procedure remplissage

remplir(){
int n,i;
eleve t[20];
printf("entrer le nombre d'eleve saisie :");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("entrer le nom :");
scanf("%s",&t[i].nom);
printf("entrer le prenom :");
scanf("%s",&t[i].prenom);
printf("entrer le cin :");
scanf("%d",&t[i].cin);}

}

//procedure ajouter

void ajouter(){
int i,m,n;
eleve t[20];

n=n+1;

printf("entrer le nom :");
scanf("%s",&t[n].nom);
printf("entrer le prenom :");
scanf("%s",&t[n].prenom);
printf("entrer le cin :");
scanf("%d",&t[n].cin);
printf("\n l'ajout a ete effectue avec succes \n");
}

// procedure modification

void modifier(){

int ch,pos,n;
eleve t[20];
char nom[20];

pos=rechercher(nom);
if(pos==-1)
printf("l'eleve a modifier n'existe pas dans le tableau\n");
else {
do{
printf("\nvous voulez modifier=====>\n\n");
printf("1--------->cin\n");
printf("2--------->nom\n");
printf("3--------->prenom\n");
printf("4--------->quitter\n");
printf("\n____________________________________\n");
printf("entrer votre choix SVP :");
scanf("%d",&ch);}
while(ch>4);
switch (ch){
case 1:modifcin(pos);break;
case 2:modifnom(pos);break;
case 3:modifprenom(pos);break;
case 4:printf("____________________QUITTER_________________\n");break;
}}}

// procedure modifier le cin

modifcin(int pos){

eleve t[20];
printf("entrer le nouveau cin:");scanf("%d",&t[pos].cin);
printf("la modification a ete effectue avec succes\n");}

// procedure modifier le nom

modifnom(int pos){
eleve t[20];
printf("entrer le nouveau nom:");scanf("%s",&t[pos].nom);
printf("la modification a ete effectue avec succes\n");}

// procedure modifier le prenom

modifprenom(int pos){
eleve t[20];
printf("entrer le nouveau prenom:");scanf("%s",&t[pos].prenom);
printf("la modification a ete effectue avec succes\n");}

// procedure consulter

void consulter(int pos){
char nom[15];
eleve t[20];
printf("entrer le nom d'eleve a consulter: ");
scanf("%s",&nom);
pos=rechercher(nom);
if(pos==0)
{
printf("le cin de cet eleve :%d",t[pos].cin);
printf("le nom de cet eleve :%s",t[pos].nom);
printf("le prenom de cet eleve :%s",t[pos].prenom);
printf("\n la consultation a ete effectue avec succes \n");}

else
printf("l'eleve a consulter n'existe pas dans le tableau\n");
}
// procedure supprimer

void supprimer(int pos){
int i,n;
char nom[15];
eleve t[20];
printf("entrer le nom d'eleve a supprimer: ");
scanf("%s",&nom);
pos=rechercher(nom);
if(pos=-1)
printf("l'eleve a supprimer n'existe pas dans le tableau\n");
else {
for(i=1;i<=n-1;i++){
t[i]=t[i+1];}

n=n-1;
printf("\n la suppression a ete effectue avec succes \n");

}
}

// menu

int menu(){
int pos,n;
eleve t[20];
char nom[20];
int choix;
do{
printf("********MENU*********\n");
printf("1- REMPLIR\n");
printf("2- AJOUTER\n");
printf("3- MODIFIER\n");
printf("4- CONSULTER\n");
printf("5- SUPPRIMER\n");
printf("6- QUITTER\n");
printf("*********************\n");
printf("entrer votre choix SVP :");
scanf("%d",&choix);}

while(choix>6);


switch (choix){
case 1:
remplir();
menu();
break;
case 2:ajouter();
menu();
break;
case 3:printf("entrer le nom d'eleve a modifier: ");
scanf("%s",&nom);
modifier();
menu();
break;
case 4:consulter(pos);
menu();
break;
case 5:supprimer(pos);
menu();
break;

case 6:printf("vous avez choisi de quitter le programme \n");
break;}

getch();}
A voir également:

1 réponse

Il y a une faute tout en où il faut faire normalement:

typedef struct eleve eleve;
struct eleve
{
/* patati patata*/
};

tu doit renvoyer une valeur dans la fonction menu

tu n'as pas déclaré en prototype la fonction menu, modifcin, modifnom, modifprenom

et tu n'a pas donner le type de la fonction remplir, modifcin, modifnom et modifprenom.

Ca devrait marcher.

Bonne année !!!!!!!!!
0