Pourquoi mon code ne fonctionne pas

Fermé
asmae - 15 mai 2021 à 17:23
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 15 mai 2021 à 20:24
Bonjour,



#include<stdio.h>
#include<stdlib.h>
#include<string.h>

///////////////////////////////// gestion d'hopital ////////////////////////////////////
////// les listes simplement chainee/////

struct date
{
int j;
int m;
int a;
} ;
typedef struct date date;
//Declaration structure Medecin

struct medecin{

char identifiantmed[50];
char nomMedcin[12];
char prenoMedcin[12];
char adresseMedcin[12];
char specialite[12];
float salaireMedcin;
date dateaffe;

} ;
typedef struct medecin medecin;

//Declaration structure infirmier
struct infirmier {
char identifiantinf[50];//l->identifiantinf,l->nominf,l->prenominf,l->adresseinf,l->salaireinf,l->typeconta,l->j,l->m,l->a
char nominf[12];
char prenominf[12];
char adresseinf[12];
float salaireinf;
char typeconta[20];
date datepreaff;
struct infirmier *suivant;

} ;
typedef struct infirmier infirmier;

//Declaration des structures Service
//créer et initialiser une liste de services
struct service{
char code[10];
char nomservi[12];
char secretaire[12];
medecin chef;
date dateservice;

struct service*suivant;
infirmier*list;

} ;
typedef struct service serv;



//déclarer une fonction qui ajoute un service à une liste donnée
serv Ajout( char code[10], char nomservi[12],char secretaire[12], char * identifiantmed[50],char nomMedcin[12],
char prenoMedcin[12],char adresseMedcin[12], char specialite[12],float salaireMedcin,int j,int m,int a,serv l){

serv l1;

l1=malloc(sizeof(serv));
////medecin chef //////
strcpy(l1->chef. identifiantmed,identifiantmed);
strcpy(l1->chef.nomMedcin,nomMedcin);
strcpy(l1->chef.prenoMedcin,prenoMedcin);
strcpy(l1->chef.adresseMedcin,adresseMedcin);
strcpy(l1->chef.specialite,specialite);
l1->chef.salaireMedcin=salaireMedcin;
l1->chef.dateaffe.j=j;
l1->chef.dateaffe.m=m;
l1->chef.dateaffe.a=a;
// infirmier liste////
l1->list=NULL;
// l1->list.suivant=l;
//// service///
strcpy(l1->code,code);
strcpy(l1->nomservi,nomservi);
strcpy( l1->secretaire,secretaire);
l1->dateservice.j=j;
l1->dateservice.m=m;
l1->dateservice.a=a;
l1->suivant=l;


return l1;
}
void Affiche(serv l){
while(l!=NULL){
printf("[%s]|| [ %s] || [ %d] || [ %s] || [%s ] || [ %s] || [ %s] || [ %s] || [%s] || [%d] || [ %d /%d/%d]->",
l->code,l->nomservi,l->secretaire,l->dateservice,l->identifiantmed,l->nominf
, l->prenoMedcin,l->adresseMedcin,l->specialite,l->salaireMedcin,l->dateaffe,);
l=l->suivant;
}
printf("NULL\n");
}
int main (){
serv *l;
infirmier*A;
int j;
int m;
int a;
/////
char identifiantmed[50];
char nomMedcin[12];
char prenoMedcin[12];
char adresseMedcin[12];
char specialite[12];
float salaireMedcin;
/////
char identifiantinf[50];
char nominf[12];
char prenominf[12];
char adresseinf[12];
float salaireinf;
char typeconta[20];
////
char code[10];
char nomservi[12];
char secretaire[12];
////
int N,i,;

printf("----------------------------\n");
printf(" Entrer le nombre de cellule ");
scanf("%d",&N);
for(i=0,i<N,i++){
printf(" entrer une valeur",i+1);
printf("entrer un code de service \n");
//gets(code);
scanf("%s",serv.code);
printf(" entrer le nom de service \n");
//gets(nomservi);
scanf("%s",serv.nomservi);
printf(" entrer la secretaire de service \n");
//
scanf("%s",serv.secretaire);
//gets(secretaire);
///
printf(" entrer l'identifiant du medcin\n");
gets(identiantmed);
printf("entrer le nom du medecin \n");
gets(nomMedcin);
printf(" entrer le prenom du medecin \n ");
gets(prenoMedcin);
printf(" entrer l'adresse du medcin \n");
gets(adresseMedcin);
printf(" entrer la specialite du medcin \n ");
gets(specialite);
printf(" entrer le salire du medcin \n");
scanf("%f",&salaireMedcin);
///
printf("entrer l'identifiant d'unfermiere \n");
gets(identifiantinf);
printf(" entrer le nom d'infermiere \n");
gets(nominf);
printf("entrer le prenom d'infermiere \n");
gets(prenominf);
printf(" entrer l'adresse d'infermiere \n");
gets(adresseinf);
printf("entrer le salaire d'infermiere \n");
scanf("%f",&salaireinf);
printf("entrer le type de contra de contrat d'infermiere \n ");
gets(typeconta);
///
printf(" entrer le jour\n");
scanf("%d",&j);
printf(" entrer le mois \n");
sacanf("%d",&m);
printf(" entrer l'annee ");
scanf("%d",&a);

l=Ajout(code,nomservi,secretaire,identiantmed,nomMedcin,prenomMedcin,adresseMecin,specialite,salaireMedcin,identifiantinf,l);
Affiche(l);
}








}
A voir également:

1 réponse

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
15 mai 2021 à 20:24
bonjour,
probablement parce qu'il est mal écrit.

quand tu partages du code, merci de tenir compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

prends aussi un peu de temps pour expliquer ce qui se passe. "ne fonctionne pas", cela ne signifie rien.
0