Problème 3 fonctions

Fermé
firk - 30 juin 2008 à 12:37
 firk - 30 juin 2008 à 17:34
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?
A voir également:

2 réponses

91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1
30 juin 2008 à 12:51
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
0
Tu ne m'éclaires pas beaucoup!

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?
0
91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1
30 juin 2008 à 16:43
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
0
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.
0