Salut, voilà je viens à peine de reprendre les cours de C qui reprennent tout à 0 et malgré tout j'ai déjà un problème avec une fonction tout ce qu'il y a de plus basique...
Je vous balance mon code et je m'explique
- include <stdio.h>
- include <stdlib.h>
int main()
{
int temperature;
char temps, voisin;
printf("Quel est le temps? [S]oleil, [P]luie, [C]ouvert\n");
scanf("%c", &temps);
printf("temps: %c\n", temps);
printf("Quelle est la temperature\n");
scanf("%d", &temperature);
printf("temperature: %d\n", temperature);
printf("Un voisin est-il present? [O]ui, [N]on\n");
scanf("%s", &voisin);
printf("voisin: %c\n", voisin);
if(((voisin=='n')||(voisin=='N'))&&(((temps=='s')|
|(temps=='S'))||(((temps=='c')||(temps=='C'))&&(te
mperature>=10))))
{
printf("Vous pouvez promener votre chien\n");
}
else
{
printf("Vous ne pouvez pas promener votre chien\n");
}
return 0;
}
Voilà en gros, l'utilisateur doit rentrer le temps qu'il fait, la température extérieur et si un voisin est présent puis en fonction des réponses, l'ordi dit si on peut sortir son chien ou non.
Le problème c'est que le 2ème scanf merde pour une raison inconnu car je sais les scanf c'est pas super surtout si on en a plusieurs il me semble mais on nous a jamais dit réellement pourquoi et comment contourner ce problème.
En effet, peut-être vous vous en doutez si vous vous y connaissez, mais les 2 premiers scanf marchent nickel e tle 3ème merde. Donc j'ai mis à la place du %c un %s car il me semble qu'un prof avait réglé le problème comme ça un jour sans vraiment m'expliquer mais malgré ça, ça bug. Si je rentre les bons paramètres en entrée, j'ai pas la bonne sortie...
Du coup j'ai testé en passant la variable voisin de float à int et en remplaçant le oui/non que doit rentrer l'utilisateur par 0/1 et là par contre ça marche.
Donc bon... Je sais pas si j'ai été clair mais si vous comprenez et que vous pouvez m'aider, merci 