Probleme en c
Fermé
kimologie
Messages postés
5
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
22 mars 2008
-
20 mars 2008 à 16:56
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 22 mars 2008 à 16:48
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 22 mars 2008 à 16:48
7 réponses
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
20 mars 2008 à 16:59
20 mars 2008 à 16:59
si tu veux qu'on t'aide il faut nous aider aussi...
quel est le probleme ?
erreur de compilation ? si oui laquelle a quelle ligne ?
erreur de segmentation ?
aucune erreur mais le programme fait pas ce que tu veux ? dans ce cas que veux tu faire ?
quel est le probleme ?
erreur de compilation ? si oui laquelle a quelle ligne ?
erreur de segmentation ?
aucune erreur mais le programme fait pas ce que tu veux ? dans ce cas que veux tu faire ?
kimologie
Messages postés
5
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
22 mars 2008
20 mars 2008 à 17:03
20 mars 2008 à 17:03
dabord merci
ba oui un problemme de compilation il me pose un envirent de 40 erreur;
lorsque je corrige quelque uns il trouve des autres probleme
j'ai pa arriver a resolut le probleme
ba oui un problemme de compilation il me pose un envirent de 40 erreur;
lorsque je corrige quelque uns il trouve des autres probleme
j'ai pa arriver a resolut le probleme
Utilisateur anonyme
20 mars 2008 à 17:09
20 mars 2008 à 17:09
Wowww il va falloir que tu expliques à quoi ce sert tout ça parce que ton code est illisible
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
20 mars 2008 à 17:23
20 mars 2008 à 17:23
bon alors j'ai pas de compilateur sous la main pour tester mais je vais comme meme essayé de t'aidé
deja ton define n'est pas correct c'est plutot comme ça
a ce moment il faut que tu enleves tous tes
ça devrait deja resoudre quelques erreurs...
deja ton define n'est pas correct c'est plutot comme ça
#define N 4
a ce moment il faut que tu enleves tous tes
int nqui ne serve a rien dans les parametres de tes fonctions et partout a l'interieur de tes fonctions tu mets N a la place de n
ça devrait deja resoudre quelques erreurs...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
20 mars 2008 à 17:35
20 mars 2008 à 17:35
Sans vouloir te contredire Mype je pense qu'il a déclaré cette variable comme valeur par défaut au cas où l'utilisateur ne saisit pas une valeur correcte pour la phrase : "donner le nombre de voiture a ajouter"
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
20 mars 2008 à 18:19
20 mars 2008 à 18:19
c'est possible mais je vois pas l'interet de demander a l'utilisateur le nombre de voiture a ajouter s'il n'y a qu'un seul choix possible...
de plus ça ne va pas marcher parce que le nombre de voiture sera stocké dans la variable n et le define il va remplacer tous les N dans le programme par 4 il ne va pas stocké 4 dans la variable n
dans ce cas tu peux laisser tous tes int n et enlever le define qui sert pas
et kimologie merci de repondre sur ton post et pas en privé pour que tout le monde en profite
de plus ça ne va pas marcher parce que le nombre de voiture sera stocké dans la variable n et le define il va remplacer tous les N dans le programme par 4 il ne va pas stocké 4 dans la variable n
dans ce cas tu peux laisser tous tes int n et enlever le define qui sert pas
et kimologie merci de repondre sur ton post et pas en privé pour que tout le monde en profite
kimologie
Messages postés
5
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
22 mars 2008
22 mars 2008 à 11:34
22 mars 2008 à 11:34
voici ou j'ai arriver dans mon mini projet svp aidez moi pour lui completé
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* lec_nv(int i)
{
char m[20],*p[100];
//for(i=0;i<n;i++)
printf("donner :\n*le nom et la modele de la voiture numero %d\n",i+1);
fflush(stdin);
gets(m);
p[i]=(char*)malloc(sizeof(char)*strlen(m));
if(!p[i])
strcpy(p[i],m);
return p[0];
}
int lec_mat()
{int i=0,mat[100];
//for(i=0;i<n;i++)
do{
printf("*le numero de sa matricule svp:\n");
scanf("%d",mat+i);}while((*(mat+i)<100000)||(*(mat+i)>999999));
return mat[0];
}
int serie()
{int i=0,s[100];
//for(i=0;i<n;i++)
do{
printf("*le numero de sa serie svp\n");
scanf("%d",s+i);}while((*(s+i)<=0)||(*(s+i)>200));
return s[0];
}
float lec_prix()
{int i=0;
float prix[100];
//for(i=0;i<n;i++)
do{
printf("*sa prix de location par jour svp\n");
scanf("%f",&prix[i]);}while(prix[i]<=0);
return prix[0];
}
void tri_voiture(int n,char* x,int *mat,int *y,float *z)
{char *aux;
int *aux2,*aux4,i,t;
float *aux3;
for(i=0;i<n;i++)
{x=lec_nv(i);
*mat=lec_mat();
*y=serie();
*z=lec_prix();}
while(t=0)
{t=1;
for(i=0;i<n;i++)
{if(*(mat+i)<*(mat+i+1))
{
aux2=(mat+i);
*(mat+i)=*(mat+i+1);
*(mat+i+1)=*aux2;
aux4=(y+i);
*(y+i)=*(y+i+1);
*(y+i+1)=*aux4;
aux=x+i;
*(x+i)=*(x+i+1);
*(x+i+1)=*aux;
aux3=z+i;
*(z+i)=*(z+i+1);
*(z+1+i)=*aux3;
t=0;
}
}
}
}
int verif_dat(int d)
{int a,w,e,t;
e=d/100000;
w=(d/10000)%10;
a=d%10000;
if((a<1900)||(a>1988))
t=0;
else
{if((a%4)==0)
{if(((w==1)||(w==3)||(w==5)||(w==7)||(w==8)||(w==10)||(w==12))&&((e>0)&&(e<32)))
t=1;
else
if(((w==4)||(w==6)||(w==9)||(w==11))&&((e>0)&&(e<31)))
t=1;
else
if((w=2)&&((e>0)&&(e<30)))
t=1;
}
else
if((a%4)!=0)
{if(((w==1)||(w==3)||(w==5)||(w==7)||(w==8)||(w==10)||(w==12))&&((e>0)&&(e<32)))
t=1;
else
if(((w==4)||(w==6)||(w==9)||(w==11))&&((e>0)&&(e<31)))
t=1;
else
if((w=2)&&((e>0)&&(e<39)))
t=1;
}
}
return t;
}
char* lec_nom(int i)
{
char m[20],*p[100];
printf("donner :\n*le nom et le prenom du client numero %d\n",i+1);
fflush(stdin);
gets(m);
p[i]=(char*)malloc(sizeof(char)*strlen(m));
if(!p[i])
strcpy(p[i],m);
return p[0];
}
int lec_ncin()
{
int i=0,ncin[100];
do{
printf("*le numero de sa carte d'identitee svp:\n");
scanf("%d",ncin+i);}while((*(ncin+i)<1000000)||(*(ncin+i)>9999999));
return ncin[0];
}
int dat_nai()
{int i=0,s[100];
do{
printf("*sa date de naissance en bloc svp\n");
scanf("%d",s+i);}while(verif_dat(*(s+i))==0);
return s[0];
}
void tri_client(int n,char* x,int *mat,int *y)
{char *aux;
int *aux2,*aux4,i,m;
for(i=0;i<n;i++)
{x=lec_nom(i);
*mat=lec_ncin();
*y=dat_nai();}
while(m=0)
{m=1;
for(i=0;i<n;i++)
{if(*(mat+i)>*(mat+i+1))
{
aux2=(mat+i);
*(mat+i)=*(mat+i+1);
*(mat+i+1)=*aux2;
aux4=(y+i);
*(y+i)=*(y+i+1);
*(y+i+1)=*aux4;
aux=x+i;
*(x+i)=*(x+i+1);
*(x+i+1)=*aux;
m=0;
}
}
}
}
int trouve_mat(int n,int* x ,int* g)
{int i,t=0;
for(i=0;i<n;i++)
{if(*x==*(g+i))
{t=1;break;}
}
return t;
}
int trouve_ncin(int n,int* x ,int* g )
{int i,t=0;
for(i=0;i<n;i++)
{if(*x==*(g+i))
{t=1;break;}
}
return t;
}
int* ajou_emp(int* x,int* y)
{int t[4][100],i,aux,j,k,n;
printf("donner les nombre des emprunt a ajouter\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{do{
printf("donner le numero de matricule de la voiture a emprunter\n");
scanf("%d",t+i);
printf("donner le numero de cin du client\n");
scanf("%d",*(t+1)+i);
printf("donner la date du debut d'emprunt\n");
scanf("%d",*(t+2)+i);
printf("donner la date de fin d'emprunt\n");
scanf("%d",*(t+3)+i);
}while((trouve_mat(n,*(t+i),y)==0)||(trouve_ncin(n,((*t+1)+i),x)==0)||(verif_dat(*(*(t+2)+i))==0)||(verif_dat(*(*(t+2)+i))==0));
if(*(t+i)<*(t+i+1))
{for(j=0;j<4;j++)
{for(k=0;k<n;k++)
{aux=*(*(t+j)+k)=
*(*(t+j)+k)=*(*(t+j)+k+1);
*(*(t+j)+k+1)=aux;}
}
}
}
return t[0];
}
void main()
{char x1=0;
int mat=0,y1=0,l;
float z1=0;
char x2=0;
int ncin=0,y2=0,k,*emp;
printf("donner le nombre de voiture a ajouter\n");
scanf("%d",&l);
tri_voiture(l,&x1,&mat,&y1,&z1);
printf("donner le nombre des client a ajouter\n");
scanf("%d",&k);
tri_client(k,&x2,&ncin,&y2);
emp=ajou_emp(&mat,&ncin);
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* lec_nv(int i)
{
char m[20],*p[100];
//for(i=0;i<n;i++)
printf("donner :\n*le nom et la modele de la voiture numero %d\n",i+1);
fflush(stdin);
gets(m);
p[i]=(char*)malloc(sizeof(char)*strlen(m));
if(!p[i])
strcpy(p[i],m);
return p[0];
}
int lec_mat()
{int i=0,mat[100];
//for(i=0;i<n;i++)
do{
printf("*le numero de sa matricule svp:\n");
scanf("%d",mat+i);}while((*(mat+i)<100000)||(*(mat+i)>999999));
return mat[0];
}
int serie()
{int i=0,s[100];
//for(i=0;i<n;i++)
do{
printf("*le numero de sa serie svp\n");
scanf("%d",s+i);}while((*(s+i)<=0)||(*(s+i)>200));
return s[0];
}
float lec_prix()
{int i=0;
float prix[100];
//for(i=0;i<n;i++)
do{
printf("*sa prix de location par jour svp\n");
scanf("%f",&prix[i]);}while(prix[i]<=0);
return prix[0];
}
void tri_voiture(int n,char* x,int *mat,int *y,float *z)
{char *aux;
int *aux2,*aux4,i,t;
float *aux3;
for(i=0;i<n;i++)
{x=lec_nv(i);
*mat=lec_mat();
*y=serie();
*z=lec_prix();}
while(t=0)
{t=1;
for(i=0;i<n;i++)
{if(*(mat+i)<*(mat+i+1))
{
aux2=(mat+i);
*(mat+i)=*(mat+i+1);
*(mat+i+1)=*aux2;
aux4=(y+i);
*(y+i)=*(y+i+1);
*(y+i+1)=*aux4;
aux=x+i;
*(x+i)=*(x+i+1);
*(x+i+1)=*aux;
aux3=z+i;
*(z+i)=*(z+i+1);
*(z+1+i)=*aux3;
t=0;
}
}
}
}
int verif_dat(int d)
{int a,w,e,t;
e=d/100000;
w=(d/10000)%10;
a=d%10000;
if((a<1900)||(a>1988))
t=0;
else
{if((a%4)==0)
{if(((w==1)||(w==3)||(w==5)||(w==7)||(w==8)||(w==10)||(w==12))&&((e>0)&&(e<32)))
t=1;
else
if(((w==4)||(w==6)||(w==9)||(w==11))&&((e>0)&&(e<31)))
t=1;
else
if((w=2)&&((e>0)&&(e<30)))
t=1;
}
else
if((a%4)!=0)
{if(((w==1)||(w==3)||(w==5)||(w==7)||(w==8)||(w==10)||(w==12))&&((e>0)&&(e<32)))
t=1;
else
if(((w==4)||(w==6)||(w==9)||(w==11))&&((e>0)&&(e<31)))
t=1;
else
if((w=2)&&((e>0)&&(e<39)))
t=1;
}
}
return t;
}
char* lec_nom(int i)
{
char m[20],*p[100];
printf("donner :\n*le nom et le prenom du client numero %d\n",i+1);
fflush(stdin);
gets(m);
p[i]=(char*)malloc(sizeof(char)*strlen(m));
if(!p[i])
strcpy(p[i],m);
return p[0];
}
int lec_ncin()
{
int i=0,ncin[100];
do{
printf("*le numero de sa carte d'identitee svp:\n");
scanf("%d",ncin+i);}while((*(ncin+i)<1000000)||(*(ncin+i)>9999999));
return ncin[0];
}
int dat_nai()
{int i=0,s[100];
do{
printf("*sa date de naissance en bloc svp\n");
scanf("%d",s+i);}while(verif_dat(*(s+i))==0);
return s[0];
}
void tri_client(int n,char* x,int *mat,int *y)
{char *aux;
int *aux2,*aux4,i,m;
for(i=0;i<n;i++)
{x=lec_nom(i);
*mat=lec_ncin();
*y=dat_nai();}
while(m=0)
{m=1;
for(i=0;i<n;i++)
{if(*(mat+i)>*(mat+i+1))
{
aux2=(mat+i);
*(mat+i)=*(mat+i+1);
*(mat+i+1)=*aux2;
aux4=(y+i);
*(y+i)=*(y+i+1);
*(y+i+1)=*aux4;
aux=x+i;
*(x+i)=*(x+i+1);
*(x+i+1)=*aux;
m=0;
}
}
}
}
int trouve_mat(int n,int* x ,int* g)
{int i,t=0;
for(i=0;i<n;i++)
{if(*x==*(g+i))
{t=1;break;}
}
return t;
}
int trouve_ncin(int n,int* x ,int* g )
{int i,t=0;
for(i=0;i<n;i++)
{if(*x==*(g+i))
{t=1;break;}
}
return t;
}
int* ajou_emp(int* x,int* y)
{int t[4][100],i,aux,j,k,n;
printf("donner les nombre des emprunt a ajouter\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{do{
printf("donner le numero de matricule de la voiture a emprunter\n");
scanf("%d",t+i);
printf("donner le numero de cin du client\n");
scanf("%d",*(t+1)+i);
printf("donner la date du debut d'emprunt\n");
scanf("%d",*(t+2)+i);
printf("donner la date de fin d'emprunt\n");
scanf("%d",*(t+3)+i);
}while((trouve_mat(n,*(t+i),y)==0)||(trouve_ncin(n,((*t+1)+i),x)==0)||(verif_dat(*(*(t+2)+i))==0)||(verif_dat(*(*(t+2)+i))==0));
if(*(t+i)<*(t+i+1))
{for(j=0;j<4;j++)
{for(k=0;k<n;k++)
{aux=*(*(t+j)+k)=
*(*(t+j)+k)=*(*(t+j)+k+1);
*(*(t+j)+k+1)=aux;}
}
}
}
return t[0];
}
void main()
{char x1=0;
int mat=0,y1=0,l;
float z1=0;
char x2=0;
int ncin=0,y2=0,k,*emp;
printf("donner le nombre de voiture a ajouter\n");
scanf("%d",&l);
tri_voiture(l,&x1,&mat,&y1,&z1);
printf("donner le nombre des client a ajouter\n");
scanf("%d",&k);
tri_client(k,&x2,&ncin,&y2);
emp=ajou_emp(&mat,&ncin);
}
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
22 mars 2008 à 16:48
22 mars 2008 à 16:48
c'est quoi le probleme exactement ?