J'ai ce bit de code où je dois entrer des numéros de CRN spécifiques du cours, mais si je sais que ce numéro, je veux que cela me donne une erreur disant que ce n'est pas un choix de réponse possible. Je pensais que c'était comme ça que tu as fonctionné, mais quand je tape dans les bonnes réponses, je pense obtenir le "désolé qui n'est pas une option"
3 Réponses :
Cela ne fait pas ce que vous pensez. Votre autre est seulement si la valeur == code> de sorte que la vérification de toute autre valeur n'a pas de sens
Vous faites actuellement les éléments suivants:
Si le parcours n'est pas de 4587, imprimez une erreur. S'il est 4587, vérifiez s'il est également 4599. Si ce n'est pas le cas, imprimez une erreur ... et ainsi de suite. P>
Comme vous le voyez, même si le premier cas est rempli, il est impossible pour Pour répondre à tous les cas comme un entier ne peut avoir qu'une seule valeur. P>
Essayez de faire quelque chose comme ceci: p>
Lorsque vous passez f p>
correspond à un numéro de point flottant éventuellement signé; le prochain pointeur
doit être un pointeur pour flotter. P>
blockQuote>
Plus tard, quand il est comparé à un certain nombre de types entier, il échoue.
La variable Plus tard, dans le boîtier de commutation, vous utilisez des chaînes au lieu d'entiers.
Les cas tels que % f code> sur scanf, il retournera un type code> float code> qui représente une fraction. De la page man pour scanf: p>
cours code> devrait probablement être déclarée comme int code>. P>
case '4587': code> doivent être Case 4587: code> au lieu de cela, et cela fonctionnera. P>
Si ce n'est aucune des réponses correctes, vous obtiendrez une erreur. Cela n'a rien à voir avec c, car votre code est défectueux
Où est la définition de la variable "Cours"?
Mais c'était le point, si je mettais tout ce qui n'est ce n'est pas le bon, je veux que cela me donne une erreur, si je mets le bon, je veux qu'il exécute le commutateur et affectez la valeur. désolé im très nouveau à cela
Utilisez des fgets à lire du clavier à la place, il vous évitera beaucoup de problèmes comme dans
tampon de char [128]; Si (Fgets (tampon, taille de taille de (tampon), stdin)! = null) {... code>J'ai le cours globé au-dessus
Le cas code> code> -s pour
commutateur (cours) code> doit être sans guillemets:case 4587: code>Vous avez lu un int avec
% d code>, pas% f code>. Et les citations danscase '4587' code> sont également fausses.