-1
votes

L'utilisation correcte de ne pas égaler en C?

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" xxx

c

7 commentaires

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) {...


J'ai le cours globé au-dessus


Le cas -s pour commutateur (cours) doit être sans guillemets: case 4587:


Vous avez lu un int avec % d , pas % f . Et les citations dans case '4587' sont également fausses.


3 Réponses :


2
votes

Cela ne fait pas ce que vous pensez. Votre autre est seulement si la valeur == de sorte que la vérification de toute autre valeur n'a pas de sens xxx


0 commentaires

2
votes

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.

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.

Essayez de faire quelque chose comme ceci: xxx


0 commentaires

2
votes

Lorsque vous passez % f sur scanf, il retournera un type float qui représente une fraction. De la page man pour scanf:

f

correspond à un numéro de point flottant éventuellement signé; le prochain pointeur doit être un pointeur pour flotter.

Plus tard, quand il est comparé à un certain nombre de types entier, il échoue. La variable cours devrait probablement être déclarée comme int .

Plus tard, dans le boîtier de commutation, vous utilisez des chaînes au lieu d'entiers. Les cas tels que case '4587': doivent être Case 4587: au lieu de cela, et cela fonctionnera.


0 commentaires