Problème fonction écrite en C
mumberea
-
keurdange Messages postés 720 Date d'inscription Statut Membre Dernière intervention -
keurdange Messages postés 720 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'avoue que je n'ai pas encore bien interiorisé la théorie sur les chaines de caratères, alors il y a cette fonction qui plante juste après l'instruction printf(" Homme ou femme?... ");
la compilaion se déroule correctement (cad pas d'erreur de synthaxe), mais je n'arrive pas à trouver le problème.
le voici:
void identification(coord joueur)
{
printf("\n\tINDENTIFICATONU DU JOUEUR\n\t--------------------------\n\n");
printf("\tVeuillez entrer vos coordonnees:\n");
printf("\nPrenom:");scanf("%s",&joueur.prenom);
printf("\nNom:");scanf("%s",&joueur.nom);
printf("\nPostnom:");scanf("%s",&joueur.nom);
printf("\nHomme ou femme? Tapez H ou F:\t");scanf("%s",&joueur.genre[10]);
//Determinantion de Monsieur ou Madame
if(joueur.genre[10]=="H"||joueur.genre[10]=="h")
{
joueur.genre[10]="Monsieur";
}
else if(joueur.genre[10]=="F"||joueur.genre[10]=="f")
{
joueur.genre[10]="Madame";
}
else
{
do
{
printf("\n\tVeuillez tapez M ou F:\t");
scanf("%s",&joueur.genre);
}
while((joueur.genre[10]!="M"||joueur.genre[10]!="m")||(joueur.genre[10]!="F"||joueur.genre[10]!="f"));
};
printf("\n\t%s %s %s %s, si vous etes pret alors\n\n",joueur.genre,joueur.prenom,joueur.nom,joueur.postnom);system("PAUSE");printf("\n\n");
}
j'avoue que je n'ai pas encore bien interiorisé la théorie sur les chaines de caratères, alors il y a cette fonction qui plante juste après l'instruction printf(" Homme ou femme?... ");
la compilaion se déroule correctement (cad pas d'erreur de synthaxe), mais je n'arrive pas à trouver le problème.
le voici:
void identification(coord joueur)
{
printf("\n\tINDENTIFICATONU DU JOUEUR\n\t--------------------------\n\n");
printf("\tVeuillez entrer vos coordonnees:\n");
printf("\nPrenom:");scanf("%s",&joueur.prenom);
printf("\nNom:");scanf("%s",&joueur.nom);
printf("\nPostnom:");scanf("%s",&joueur.nom);
printf("\nHomme ou femme? Tapez H ou F:\t");scanf("%s",&joueur.genre[10]);
//Determinantion de Monsieur ou Madame
if(joueur.genre[10]=="H"||joueur.genre[10]=="h")
{
joueur.genre[10]="Monsieur";
}
else if(joueur.genre[10]=="F"||joueur.genre[10]=="f")
{
joueur.genre[10]="Madame";
}
else
{
do
{
printf("\n\tVeuillez tapez M ou F:\t");
scanf("%s",&joueur.genre);
}
while((joueur.genre[10]!="M"||joueur.genre[10]!="m")||(joueur.genre[10]!="F"||joueur.genre[10]!="f"));
};
printf("\n\t%s %s %s %s, si vous etes pret alors\n\n",joueur.genre,joueur.prenom,joueur.nom,joueur.postnom);system("PAUSE");printf("\n\n");
}
A voir également:
- Problème fonction écrite en C
- Fonction si et - Guide
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
char joueur.genre[20];
printf("Votre genre?");
scanf("%s", joueur.genre);
Regarde bien la façon dont le scanf est formé ici
j'ai pris le 20 par hasard, pour ton cas 10 est largement suffisant.
Espérant t'aider.
Merci