Switch + Répétition
Résolu
URK
-
URK -
URK -
A voir également:
- Switch + Répétition
- Android switch - Accueil - Android
- Smart switch pc - Télécharger - Divers Bureautique
- Switch off - Télécharger - Divers Utilitaires
- Logiciel switch - Télécharger - Conversion & Extraction
- Switch qwerty azerty - Guide
1 réponse
Salut,
Normal, c'est à cause du \n qui est stocké dans le buffer clavier et qui répond à la question à ta place. D'où ton problème.
A la place de ton scanf("%c",&clavUtil); fais :
Cdlt
Normal, c'est à cause du \n qui est stocké dans le buffer clavier et qui répond à la question à ta place. D'où ton problème.
A la place de ton scanf("%c",&clavUtil); fais :
char reponse[3]; //pour initialiser un nouveau tableau ... fgets(reponse, sizeof reponse, stdin); //a la place de scanf clavUtil=reponse[0];
Cdlt
tu serais m'expliquer en deux mots pourquoi ça fait ça (il stock le caractère + un espace ?)
et pour le add y a encore la même erreur mais je suppose que c'est à cause du scanf aussi
mais vu que c'est une chaine de caractère
je dois faire un strcopy ou un truc du genre ?
Merci de ton aide en tout cas :d :d :d
En C, tout ce que tu tapes rentre dans le buffer y compris la touche entrée ('\n' après traduction par l'OS).
Donc, si pendant le scanf("%c",&clavUtil), tu tapes 'abcde' et tu valides. Le premier caractère 'a' va aller dans clavUtil, et 'b', 'c', 'd', 'e', '\n' vont aller dans le buffer clavier. Ainsi à un autre scanf, s'ils peuvent sortir, ils ne se priveront pas (les chenapans ^^).
scanf("%s", &sMsg);
Ce n'est pas bon.
Il faut mettre scanf("%s", sMsg); Pas d'esperluette (&).
Sinon petit conseil, utilise plutôt : fgets(sMsg,sizeof sMsg,stdin) (C'est plus sécurisé ;)).
gmAdd(sMsg, &dRC);
Euh, je sais pas ce que fait ta fonction ^^.
Euh, je sais pas ce que fait ta fonction ^^.
Elle place le message d'erreur dans un tableau, mais là ça va ça marche :d
En tout cas ton explication était bien clair et je comprends mieux.
Me reste plus qu'à mettre résolu ;) .
Merci encore ....