Problème 3 fonctions
firk
-
firk -
firk -
Bonjour,
1)Je voudrais savoir si on peut énumérer des attributs à des individus sans passer par
char*attrib[ ]= { "A,B,C,D,E,F"};
On m'a suggéré de faire enum attrib[ ]={ "A,B,C,D,E,F"}; cependant, lors de la compilation, on m'affiche :
expected identifier or ‘(’ before ‘[’ token
2)J'ai un peu de mal avec l'instruction switch : pouvez-vous m'indiquer où se trouve mon erreur dans la fonction suivante :
case(status[1]=*status[0] && status[2]!=status[1])/* Cas 1 C.D.I avec n'importe qui*/
{
while( R[1]>3*L && R[2]<=3*L)
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");break;
}
while(h=3 && h=4)/* Cas 2 T.N.S et cas 2 Retraités*/
{ case(status[1]==status[2]=*status[h])
{ if(R[1]>3*L && R[2]>3*L)
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");
else
{ if(R[1]<2*L && R[2]<2*L)
printf("Impossibilité de soumettre votre dossier\n");
else { if(R[1]<2*L && R[2]<=3*L || R[2]<2*L && R[1]<=3*L)
printf("Demande de caution solidaire\n");
}
}
}break;
3)int nombrecoloc(int nb)
{ int g;
for(g=0;g<3;g++)
{ scanf("%d",&nb);
printf("Quel est le nombre de colocataires?",nb);
nb=g;
}
dans la main(), je mets : int j,i;int R[2];int L,nb;nombrecoloc(nb);
Où est l'erreur?
1)Je voudrais savoir si on peut énumérer des attributs à des individus sans passer par
char*attrib[ ]= { "A,B,C,D,E,F"};
On m'a suggéré de faire enum attrib[ ]={ "A,B,C,D,E,F"}; cependant, lors de la compilation, on m'affiche :
expected identifier or ‘(’ before ‘[’ token
2)J'ai un peu de mal avec l'instruction switch : pouvez-vous m'indiquer où se trouve mon erreur dans la fonction suivante :
case(status[1]=*status[0] && status[2]!=status[1])/* Cas 1 C.D.I avec n'importe qui*/
{
while( R[1]>3*L && R[2]<=3*L)
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");break;
}
while(h=3 && h=4)/* Cas 2 T.N.S et cas 2 Retraités*/
{ case(status[1]==status[2]=*status[h])
{ if(R[1]>3*L && R[2]>3*L)
printf("Vous remplissez les conditions d'acceptation auprès de notre assurance\n");
else
{ if(R[1]<2*L && R[2]<2*L)
printf("Impossibilité de soumettre votre dossier\n");
else { if(R[1]<2*L && R[2]<=3*L || R[2]<2*L && R[1]<=3*L)
printf("Demande de caution solidaire\n");
}
}
}break;
3)int nombrecoloc(int nb)
{ int g;
for(g=0;g<3;g++)
{ scanf("%d",&nb);
printf("Quel est le nombre de colocataires?",nb);
nb=g;
}
dans la main(), je mets : int j,i;int R[2];int L,nb;nombrecoloc(nb);
Où est l'erreur?
A voir également:
- Problème 3 fonctions
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Diviser une photo en 3 instagram - Guide
- Samsung kies galaxy tab 3 ✓ - Forum Mobile
2 réponses
fonction 3 :
ta fonction ne retourne rien !
printf n'a pas d'entrée pour afficher nb !
fonction 1 :
ta syntaxe est vraiment bizarre !
ce serait plutôt : enum attrib = { A,B,C,D,E,F };
fonction 2 :
de quel type est status ?
----------------------------------------------------------------------------------------------------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
ta fonction ne retourne rien !
printf n'a pas d'entrée pour afficher nb !
fonction 1 :
ta syntaxe est vraiment bizarre !
ce serait plutôt : enum attrib = { A,B,C,D,E,F };
fonction 2 :
de quel type est status ?
----------------------------------------------------------------------------------------------------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
enumération : enum { A, B, C, D, E, F };
c'est mieux ainsi.
il faut comprendre que enum et define définit des entiers
A <=> 0
B <=> 1 etc...
par contre je comprend pas ton case !!! (fonction suppl)
pour la fonction 3 :
int nombrecoloc(int nb) indique que cela retourne un entier (le nb de coloc je suppose)
et prend un entier en paramètre ????
mais ta fonction ne renvoie rien
tu veux que l'utilisateur saisisse avant d'afficher la demande de saisie
je comprend pas non plus a quoi sert ta boucle ?
que veux tu faire exactement dans cette fonction ?
----------------------------------------------------------------------------------------------------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
c'est mieux ainsi.
il faut comprendre que enum et define définit des entiers
A <=> 0
B <=> 1 etc...
par contre je comprend pas ton case !!! (fonction suppl)
pour la fonction 3 :
int nombrecoloc(int nb) indique que cela retourne un entier (le nb de coloc je suppose)
et prend un entier en paramètre ????
mais ta fonction ne renvoie rien
tu veux que l'utilisateur saisisse avant d'afficher la demande de saisie
je comprend pas non plus a quoi sert ta boucle ?
que veux tu faire exactement dans cette fonction ?
----------------------------------------------------------------------------------------------------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
pour la fonction nombrecoloc, je veux juste que le client me dise : nous sommes 2 à être en colocation, je limite ce nombre à 2 car en passant à 3, je dois encore plus travailler(nombre de combinaisons plus important!)
Pour lea fonction suppl, je dois par exemple étudier le cas où :
coloc n°1=étudiant et coloc n°2 un autre attibut. R[ ] indique les revenus du colocataire, L le montant du loyer.
Ce que je voulais dire par status[1] correspond à l'attribut du coloc n°1, idem pour status [2].
*status[2] correspond au contenu de enum status[ 2], à savoir étudiant.
Bref, mon problème est un problème de pointeur, comment écrire correctement la fonction suppl?
message d'erreur : invalid type argument of ‘unary *’
j'ai mis des define pour solva acquise, demande... et impossible.
Pour lea fonction suppl, je dois par exemple étudier le cas où :
coloc n°1=étudiant et coloc n°2 un autre attibut. R[ ] indique les revenus du colocataire, L le montant du loyer.
Ce que je voulais dire par status[1] correspond à l'attribut du coloc n°1, idem pour status [2].
*status[2] correspond au contenu de enum status[ 2], à savoir étudiant.
Bref, mon problème est un problème de pointeur, comment écrire correctement la fonction suppl?
message d'erreur : invalid type argument of ‘unary *’
j'ai mis des define pour solva acquise, demande... et impossible.
fonction 1 : les attrib désignent en réalité les status qui représentent des chaînes de caractères(6 au total).
En suivant ton conseil, j'ai le message d'erreur suivant :
expected identifier or ‘(’ before ‘=’ token
error: stray ‘\303’ in program
error: stray ‘\251’ in program
c'est pourquoi je donne la char*attrib= { "A,..., F"}
fonction 3 : je veux juste le nombre de colocataires(2 au maximum).
fonction suppl : case(status[1]=*status[2] && status[2]!=*status[2] || status[2]=*status[2] && status[1]!=*status[2]):
{ (R[2]>3*L || R[1]>3*L)? Solvabilité acquise : Demande de Caution Solidaire ou Impossible
(R[2]<2*L || R[1]<2*L)? Impossible : Demande de Caution Solidaire
}break;
Comment je déclare Solvabilité acquise,Demande de Caution Solidaire, Impossible?
J'ai essayé avec des define, mais la console me met : missing whitespace after macro name.
Sais-tu comment procéder?