J'écris un exemple d'instruction de commutation et tout va bien, aucune erreur n'est donnée et ça marche bien mais ça ne fait pas ce que je veux que ce que je veux faire. Cela ne montre aucune sortie du tout, toutes suggestions s'il vous plaît?
Je ne sais pas quoi essayer car il n'y a pas d'erreur, cela ne fonctionne pas p> i veulent que cela me dise les remarques de la note de l'élève, mais cela ne montre rien du tout et il montrera toujours le message par défaut quoi que vous entriez p> p>
3 Réponses :
Vous devez faire Il convient probablement d'ajouter que lorsque vous essayez de lire un numéro et qu'il n'y a pas de numéro à lire (parce que l'utilisateur a saisi une note de lettre), le flux d'entrée est placé dans un état d'erreur. Jusqu'à ce que l'erreur soit réinitialisée avec grade code> A char code>, pas un int code>. p>
CIN >> Note; code> tente de lire un entier à partir du flux d'entrée, car grade code> est un int code>. Si vous faites note code> A char code>, CIN >> code> lira simplement un seul caractère. (Dans les deux cas, il saute d'abord avec espaces, vous ne pouvez donc pas lire un seul personnage d'espaces. Mais cela n'a pas d'importance ici.) P>
std :: cin.clear () code> Toute tentative d'entrée échouera sans rien lire. Voir STD :: IStream :: Effacer , en particulier le code exemple fourni . p>
En outre, je ne sais pas pourquoi vous faites ceci: Char A, A, B, B, C, C, D, D, F, F; CODE>. Il est totalement inutile.
Tout d'abord, merci pour vos efforts, puis votre réponse était un peu utile que j'ai changé de charcuterie () et cela a fonctionné bien le gars au-dessus de votre réponse le suggéré, je parle en fait que je parle lentement mon professeur ne m'a pas appris le code u a donné et ne peut pas encore le comprendre mais toujours merci
et j'ai ajouté A, B, C, D, car il pense qu'il est préférable de comprendre quels sont les personnages que quiconque peut entrer. J'ai juste essayé de faire un bon programme
@Mutiurrehman: Ce n'est pas ce que Char A; code> signifie. char A; code> déclare une variable nommée A code>; Cela n'a rien à voir avec la valeur de caractère 'a' code>. (Et, pour ce que sa valeur, ma suggestion était de changer int old code> à de grade de caractère; code>. Je pense que vous devez travailler à la compréhension des variables et comment les déclarations fonctionnent. )
Oui vous avez raison, je lui ai donné une pensée et j'ai pu faire le programme à ma manière
Cela devrait fonctionner.
J'ai utilisé Un autre point est votre déclaration de Char A-F, A-B. Ceci est inutile. A, B, C, D, F, F ne sont que des noms, vous devez comparer à une valeur. Dans votre propre interrupteur, vous n'utilisez pas tous ces caractères, vous les comparez à un personnage pas avec une variable. Un autre point est celui-ci: j'ai ajouté J'ai également ajouté des lampes à votre sortie afin de mieux lire de la console. P> J'ai commenté pense où je pense qu'ils sont inutiles ou faux. Si vous avez des questions ou si je faisais une erreur, PLS m'a laissé savoir. P> getchar () code> au lieu de CIN code> CauseChare obtiendra un seul caractère (char = caractère unique, chaîne plusieurs caractères). Si vous utilisez CIN et un type d'utilisateur dans plus d'un caractère, un seul caractère n'utilisera que le premier caractère. Case 'A': Code> Vérifiez si GRADE == 'A'not Si Grade == a. P> moyenne, somme = 0 code>. Je ne fais pas vraiment ce que vous voulez faire, mais si vous essayez de les mettre stand à 0 c'est le mauvais sens. Ensuite, vous devriez faire dans la déclaration comme Etudiant, moyen = 0, somme = 0; code>.
Vous avez déclaré 3 entiers, donnez-leur une valeur mais ne les utilisez jamais, peut-être plus tard?
J'ai changé principal () code> à int Main () code> (retourType = entier)
Plus d'informations sur la principale: Quelle est la déclaration appropriée de la principale? p> retour 0; code> à la principale, car une fonction doit avoir de retour! p>
merci beaucoup j'ai beaucoup changé à getchar et ça a fonctionné bien alors merci encore je l'apprécie vraiment vraiment
Je dois entendre et voir que vous améliorez votre code par vous-même!
ouais je l'ai fait et je l'ai posté mais c'est en fait c'était vous qui m'a aidé à le faire directement et indirectement, alors merci encore
Oui j'ai vu, mais je ne peux pas commenter ça. Content d'être utile et de continuer à travailler. Votre code amélioré est beaucoup mieux mais n'oubliez pas la pause par la déclaration par défaut.
Est-il nécessaire d'appliquer une pause après la déclaration par défaut car elle se terminera de toute façon, même si je n'écris pas Break Plus, cela fonctionne juste bien
Je sais que je travaille bien mais c'est un meilleur style à mon avis
ok donc j'ai posé cette question hier et merci de vous remercier de votre aide, j'ai utilisé getchare à la réponse, mais honnêtement, je n'ai pas su quel était le but de Getchar parce que je n'ai pas encore appris que je n'ai pas encore appris que j'ai continué à essayer et Je l'ai résolu enfin je pose cela seulement parce que vous avez partagé vos connaissances et m'a aidé donc je veux partager ce que j'ai appris à accroître vos connaissances.
Le code est ici
Cout << "Veuillez entrer les grades de l'étudiant:"; code> peut-être que vous devriez changer cela pour entrer dans la note de l'élève. Vous récupérez une seule note, pas plusieurs grades.Main () Code> doit êtreInt Main () Code>moyenne, somme = 0; code> L'opérateur des virgules ne fait pas ce que vous pensez. ideone.com/ndxf4yMerci d'avoir essayé de répondre et j'apprécie vraiment cela, mais aucune des choses que vous avez suggérée était le problème, le problème réel était que j'utilisais de Char, tandis que j'aurais dû utiliser Getchar () le gars qui a commenté deuxième qu'il a bien fait et j'ai donc essayé et ça a fonctionné pour moi aussi pour que vous devriez essayer aussi c'est un bon exercice et merci encore pour vos efforts.
Je voudrais simplement signaler d'autres bugs dans votre code. Les choses que j'ai postées sont des bugs. La raison pour laquelle je n'ai pas mentionné que le problème de caractère était que @icii avait déjà répondu à cette partie lorsque j'ai commenté.
Comment est-ce un bug? ça marche juste bien
Travailler bien ne signifie pas que le code n'a pas de bugs. Les 3 choses que j'ai mentionnées étaient des problèmes / bugs dans votre code.
Ok peut-être que vous avez raison mais que je pose la solution aussi et j'ai essayé de résoudre vos soi-disant bugs là-bas