Construction de structure
firk
-
firk -
firk -
Comment créer une structure indiv avec les champs char nom[], char prénom[], adresse,
la taille à allouer indiv I?
j'ai fait qqch du genre :
struct locataires{
{ int nombre;
char nom[];char prénom[];
char statut[];
};
struct locataire L; /*à mettre dans main()?*/
L.nombre=%d;
L.nom=%s;
L.prénom=%s;
L.statut=*statut[];/*pointeur sur tableau qui donne directement le statut du client*/
}
dans main()
struct locataire L=malloc((*int)10 sizeof (struct locataire));
{ L.nombre=&d;
L.nom=&s;
L.prénom=&s;
L.statut=*statut[6];/*pointeur sur tableau qui donne directement le statut du client*/
}
if(!=L)
{ printf("malloc failed");}
la taille à allouer indiv I?
j'ai fait qqch du genre :
struct locataires{
{ int nombre;
char nom[];char prénom[];
char statut[];
};
struct locataire L; /*à mettre dans main()?*/
L.nombre=%d;
L.nom=%s;
L.prénom=%s;
L.statut=*statut[];/*pointeur sur tableau qui donne directement le statut du client*/
}
dans main()
struct locataire L=malloc((*int)10 sizeof (struct locataire));
{ L.nombre=&d;
L.nom=&s;
L.prénom=&s;
L.statut=*statut[6];/*pointeur sur tableau qui donne directement le statut du client*/
}
if(!=L)
{ printf("malloc failed");}
A voir également:
- Construction de structure
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Simulateur de construction 14 - Télécharger - Simulation
- Structure d'un rapport de stage - Guide
- Logiciel de construction - Guide
- Construction de site web - Guide
6 réponses
oups comme ceci c'est mieu
f(struct L.statut[0]==1){blalbla}
else if(struct L.statut[0]==2){balbal2}
f(struct L.statut[0]==1){blalbla}
else if(struct L.statut[0]==2){balbal2}
re firk il y a pas mal de probleme dans ton code deja L.nom=%s; ne veut rien dire
mais je ne comprend pas trop ta question et ton but
mais je ne comprend pas trop ta question et ton but
dis précisément ce que tu veux faire en me metant :
ma structure : ( ce que tu veux dedans )
et apres
main : ce que tu veux faire avec tes structure je pourrai peu etre t'aider la c'est beaucoup trop flou
ma structure : ( ce que tu veux dedans )
et apres
main : ce que tu veux faire avec tes structure je pourrai peu etre t'aider la c'est beaucoup trop flou
j'ai oublié dans la main()
main()
{
struct locataire L=malloc((*int)10 sizeof (struct locataire));
{ L.nombre=&d;
L.nom=&s;
L.prénom=&s;
L.statut=&s;/*pointeur sur tableau qui donne directement le statut du client*/
}
if(!=L)
{ printf("malloc failed");}
/*struct dossier statut[i]==1 va donner la totalité du dossier : mettre un switch(struct dossier[]) */
switch(struct dossier D)
{ case (*statut[0]==1)
{ if(struct dossier *statut[0]==1)
printf("Votre dossier est complet\n");
}
case (*statut[1]==1)
{ if(struct dossier *statut[1]==1)
printf("Votre dossier est complet\n");
}
case (*statut[2]==1)
{ if( struct dossier *statut[2]==1)
printf("Votre dossier est complet\n");
}
case (*statut[3]==1)
{ if( struct dossier *statut[3]==1)
printf("Votre dossier est complet\n");
}
case (*statut[4]==1)
{ if(struct dossier *statut[4]==1)
printf("Votre dossier est complet\n");
}
case (*statut[5]==1)
{ if(struct dossier *statut[5]==1)
printf("Votre dossier est complet\n");
}
main()
{
struct locataire L=malloc((*int)10 sizeof (struct locataire));
{ L.nombre=&d;
L.nom=&s;
L.prénom=&s;
L.statut=&s;/*pointeur sur tableau qui donne directement le statut du client*/
}
if(!=L)
{ printf("malloc failed");}
/*struct dossier statut[i]==1 va donner la totalité du dossier : mettre un switch(struct dossier[]) */
switch(struct dossier D)
{ case (*statut[0]==1)
{ if(struct dossier *statut[0]==1)
printf("Votre dossier est complet\n");
}
case (*statut[1]==1)
{ if(struct dossier *statut[1]==1)
printf("Votre dossier est complet\n");
}
case (*statut[2]==1)
{ if( struct dossier *statut[2]==1)
printf("Votre dossier est complet\n");
}
case (*statut[3]==1)
{ if( struct dossier *statut[3]==1)
printf("Votre dossier est complet\n");
}
case (*statut[4]==1)
{ if(struct dossier *statut[4]==1)
printf("Votre dossier est complet\n");
}
case (*statut[5]==1)
{ if(struct dossier *statut[5]==1)
printf("Votre dossier est complet\n");
}
le problème c'est pas ton programme c'est ta façon de coder qui est peu commune et je ne comprends vraiment ce que tu veux faire, explique moi avec tes mots
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ahhhh ok ^^
donc si tu as 6 catégories le plus prudent est de faire 1 structure pour chaque catégories
ou alors si tu veux faire une seul structure ( comme tu as a fait )
tu dois remplir ta structure a l'aide de scanf ( je ne les vois pas dans ton code )
et pour tes case je ne trouve pas ca genial le mieu serai de faire
if(struct dossier L.statut[0]==1){blalbla}
else if(struct dossier L.statut[0]==2){balbal2}
donc si tu as 6 catégories le plus prudent est de faire 1 structure pour chaque catégories
ou alors si tu veux faire une seul structure ( comme tu as a fait )
tu dois remplir ta structure a l'aide de scanf ( je ne les vois pas dans ton code )
et pour tes case je ne trouve pas ca genial le mieu serai de faire
if(struct dossier L.statut[0]==1){blalbla}
else if(struct dossier L.statut[0]==2){balbal2}
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define TRUE 1
#define FALSE 0
void cautsol( int r, int l) /*Examen de solvabilité du client : cas les plus simples*/
{ if(r>=3*l)
printf("vous pouvez soumettre votre dossier\n");
else{
if(r<2*l)
printf("Impossibilité de soumettre votre dossier\n");
else{ if(r>=2*l && r<3*l)
printf("Demande de caution solidaire\n");
}
}
}
char *statut[]={ "CDI hors période d'essai ou préavis de licenciement",
"CDD, CNE, ou CDI en période d'essai",
"Etudiant",
"TNS",
"Retraités et autres pensionnés",
"En place depuis 12 mois, sans incident de paiement"};
struct locataires{
{ int nombre;
char *nom[20];char *prénom[20];char *adresslot[60];
char *statut[];
};
struct locataire L; /*à mettre dans main()?*/
{scanf("%d",&L.nombre);
scanf("%s",&*L.nom);
scanf("%s",&*L.prénom);
scanf("%s",&*L.statut);/*pointeur sur tableau qui donne directement le statut du client*/
}
/*Intéressons-nous au revenu net cumulé du client
char nommois[]={"Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre"};
/*Ensuite je veux r(*date[i]) pour indiquer précisément le montant du revenu net pour tel mois.*/
/*affichrevenu(int r1,int r2,int r3)
{ scanf("%d",&r1);
scanf("%d",&r2);
scanf("%d",&r3);
printf("Votre revenu initial vaut %d\n",r1);
printf("Votre revenu intermédiaire vaut %d\n",r2);
printf("Votre revenu final vaut %d\n",r3);
}
int cumul( int r1,int r2, int r3)
{ int i;int result;
while(r3!=r2 && r3!=r1)
result=(r1+r2+r3)/3; /*dois-je sauvegarder r3 via r3=result;result=%d; ou mettre directement result=(r1+r2+r3)/3;?
}return result;
/*Exposition des coordonnées bancaires du client
int affichRIB(int tab[], int i)
{ for(i=0;i<=23;i++)
scanf("%d",&tab[i]);
}/*int j;
for(i=0;i<=23;i++)
{ for(j=0;j<=9;j++)
V[i]=j;
}
int triRIB(int tab[])
{ int i;
for(i=0;i<23;i++)
{ if(i==5||i==10||i==20)
printf(" ");
printf("%d",tab[i]);
}
}
*/
struct dossier
{ char *A;char *B;char *C;
char *D;char *E;char *F;
char *G;char *H;char *I;
char *J;char *K;
}
void init_struct(dossier * D){ scanf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",&dossier.A,&dossier.B,&dossier.C,&dossier.D,&dossier.E,&dossier.F,&dossier.G,
&dossier.H,&dossier.I,&dossier.J,&dossier.K);
}
{ struct dossier D
{
D.A={"3 derniers bulletins de salaire"};
D.B={"2 derniers avis d'imposition sur le revenu"};
D.C={"Contrat de travail ou Attestation d'employeur(datant de moins d'un mois)"};
D.D={"Pensions ou allocations diverses"};
D.E={"Dernier décompte de la(les) caisse de retraite(s)"};
D.F={"Fiche de renseignements"};
D.G={"R.I.B, R.I.P ou R.I.C.E"};
D.H={"Pièce d'identité"};
D.I={"Carte d'étudiant"};
D.J={"Acte de Caution Solidaire"};
D.K={"Attestation d'assurance Habitation"};
}
};
/*Mettre dans main() si j'ai tel document(==1), return(TRUE), else return(FALSE);de cette façon, on peut vérifier le nombre de documents à notre disposition*/
struct dossierstatut[0]
{ dossierstatut[0].A;
dossierstatut[0].B;
dossierstatut[0].C;
dossierstatut[0].D;
dossierstatut[0].F;
dossierstatut[0].G;
dossierstatut[0].H;
dossierstatut[0].J;
dossierstatut[0].K;
};
struct dossier statut[1]
{ dossierstatut[1].A;
dossierstatut[1].B;
dossierstatut[1].C;
dossierstatut[1].D;
dossierstatut[1].F;
dossierstatut[1].G;
dossierstatut[1].H;
dossierstatut[1].J;
dossierstatut[1].K;
}
struct dossier statut[2]
{ dossierstatut[2].C;
dossierstatut[2].D;
dossierstatut[2].F;
dossierstatut[2].G;
dossierstatut[2].H;
dossierstatut[2].I;
dossierstatut[2].J;
dossierstatut[2].K;
}
struct dossier statut[3]
{ dossierstatut[3].B;
dossierstatut[3].C;
dossierstatut[3].D;
dossierstatut[3].F;
dossierstatut[3].G;
dossierstatut[3].H;
dossierstatut[3].J;
dossierstatut[3].K;
}
struct dossier statut[4]
{ dossierstatut[4].A;
dossierstatut[4].B;
dossierstatut[4].D;
dossierstatut[4].E;
dossierstatut[4].F;
dossierstatut[4].G;
dossierstatut[4].H;
dossierstatut[4].J;
dossierstatut[4].K;
}
struct dossier statut[5]
{ dossierstatut[5].A;
dossierstatut[5].B;
dossierstatut[5].C;
dossierstatut[5].D;
dossierstatut[5].E;
dossierstatut[5].F;
dossierstatut[5].G;
dossierstatut[5].H;
dossierstatut[5].I;
dossierstatut[5].J;
dossierstatut[5].K;
}
affichpensalloc( int i, int R[])/*Se limiter à 5 ou 7 valeurs, voire moins*/
{ for(i=0;i<10; i++)
printf("%f", &R[i]);
}*/
affichdéc(int j, int V[1])
{ scanf("%d", &V[1]);
printf("Veuillez donner le montant de votre dernier décompte\n",V[1]);
}
main()
{ int i,b; int a,d;char s;struct dossier D;
scanf("%d",&a);
scanf("%d",&b);
printf("Votre revenu net est %d euros",a);
printf("Votre loyer est de %d euros",b);
cautsol(a,b);
printf("Une fois votre situation financière établie, nous allons procéder à la composition de votre dossier de location\n");
locataire Total L=(locataire*)malloc(n* sizeof ( locataire));
{ scanf("%d",&L.nombre);
scanf("%s",&L.nom);
scanf("%s",&L.prénom);
scanf("%s",&L.statut)/*pointeur sur tableau qui donne directement le statut du client*/
}
if(!=L)
{ printf("malloc failed");}
/*struct dossier statut[i]==1 va donner la totalité du dossier : mettre un switch(struct dossier[]) */
switch(struct dossier D)
{ case (*statut[0]==1)
{ if(struct dossier *statut[0]==1)
printf("Votre dossier est complet\n");
}
case (*statut[1]==1)
{ if(struct dossier *statut[1]==1)
printf("Votre dossier est complet\n");
}
case (*statut[2]==1)
{ if( struct dossier *statut[2]==1)
printf("Votre dossier est complet\n");
}
case (*statut[3]==1)
{ if( struct dossier *statut[3]==1)
printf("Votre dossier est complet\n");
}
case (*statut[4]==1)
{ if(struct dossier *statut[4]==1)
printf("Votre dossier est complet\n");
}
case (*statut[5]==1)
{ if(struct dossier *statut[5]==1)
printf("Votre dossier est complet\n");
}
faudrait-il une fonction prenant en compte 2 paramètres tels qu'on a : fonction(int argv, char*argv[])
Je dois faire 6 dossiers au total!