Оператор switch в C ++




оператор switch, switch c++, switch в с++, оператор множественного выбора, свич с++, основы программирования

Dans cet article, nous modifions légèrement le format du thème d'étude. En regard tôt un exemple avec l'opérateur interrupteur (commutation), qui sera beaucoup de commentaires sur la façon dont, ce qui se passe dans le code. Une théorie tout sera situé au-dessous. travail de l'opérateur à choix multiples interrupteur en C ++, nous considérons à résoudre ce problème: LET, l'utilisateur dispose d'une liste numérotée des stations de métro à Barcelone. Vous devez écrire le code, dans lequel le dialogue avec l'utilisateur est mis en oeuvre, à savoir demandé d'entrer le nombre de stations de métro. Après avoir entré le numéro de la station, nous devons montrer à l'écran et le nom du temps de Voyage. Si, toutefois, le nombre de stations ne sont pas, informer et de proposer d'entrer à nouveau le numéro. procéder:

Aux termes 13 – tout effacer: Annonces variables nécessaires, présente la question, et entrant dans la boucle faire pendant. En ligne 14 nous avons obtenu la valeur répondre, entré par l'utilisateur. plus regarder, comment fonctionne intéressants interrupteur() : entre parenthèses le peredaom répondre (rangée 16) et près de chaque mot cas écrire des valeurs possibles répondre, l'utilisateur peut entrer (1, 2, 3 …). après chaque cas vous voyez l'opérateur : , il est obligatoire. Suivi par l'équipe, qui doivent être respectées, si la valeur cas coïncide avec la valeur répondre. opérateur Pause à la fin de chaque bloc cas comme il est obligatoire. Il montre le compilateur, que si cette cas Il a été fait, vous devez sortir interrupteur(). C'est en fait, lorsqu'un interrupteur () recherche et commence la recherche du choix cas. si répondre est 1, travail cas 1 et l'écran affiche le, qu'il est inscrit à un mot-clé Pause, et tous les autres cas, Ils seront ignorés. si répondre est 2 – exécutée uniquement cas 2 et quittera interrupteur(). Et si aucun des blocs de valeur cas ne correspond pas à, avec la valeur, qui a pris interrupteur() (dans ce cas répondre)? Pour cette unité de but défaut. Avant lui, la question est, tout aussi, lorsque ni cas Il ne fonctionne pas, et, respectivement, pas rempli aucune Pause ces blocs. Dans notre exemple,, il ne fonctionnera que si la valeur, qui introduira l'utilisateur, sera <1 ou >5. Ensuite, l'utilisateur verra à l'écran un message, que ce numéro et la station de métro est pas nécessaire de rentrer dans.

Dans le cycle, nous vérifions toujours la valeur répondre, qui est entré par l'utilisateur. Nous le faisons avec si . Si la valeur est dans la plage appropriée, nous (à partir de 1 à 5 ), la variable de commande était Il sera mis en 0. Dans ce cas,, l'utilisateur ne sera plus invité à entrer une nouvelle valeur.

Voilà comment le programme fonctionne:

оператор switch, switch c++, switch в с++, оператор множественного выбора, свич с++

Ce qu'il faut retenir:

  • syntaxe:

оператор switch, switch c++, switch в с++, оператор множественного выбора, свич с++

  • bloc défaut Il peut être placé n'importe où sur le bloc interrupteur() Par exemple, le premier et le deuxième cas . Son code est exécuté en tout cas que si, Si vous trouvez la valeur dans les blocs cas. mais, Je vous conseille de le placer exactement à la fin de, comme la plupart des programmeurs. Il est une règle non écrite.
  • dans le bloc inférieur interrupteur(), si défaut ou cas, opérateur Pause Vous ne pouvez pas spécifier. Cela se fait dans notre exemple. Mais nous ne devons pas oublier, que tous les autres Pause obligatoire!
  • défaut Il n'est pas obligatoire. son en interrupteur() ne peut pas être du tout. Dans ce cas,, si aucun des blocs de valeur cas ne coïncide pas avec la, qui a pris interrupteur() , le programme juste passer à la ligne de code suivante, sous interrupteur()
  • parfois des blocs cas caractère de contrôle, au lieu des valeurs numériques. Ensuite, vous devez prendre ces caractères guillemets simples – le cas « b »: , cas « G »: , case « +’ etc.

Qui a le désir – regarder la vidéo-leçon. En plus de l'opérateur à choix multiples interrupteur (17-procès-verbal) il a examiné instructions conditionnelles si et autre, aussi bien que opérateur ternaire ?: (15-procès-verbal)




Nous avons des questions – leur demander dans les commentaires. Assurez-vous de répondre à toutes. Apprenez les bases de la programmation avec nous! D'autres exemples d'utilisation interrupteur en C ++ est considéré dans l'article tâches: Оператор switch в C ++.

Bulletin de nouvelles leçons sur la programmation:

Оператор switch в C ++
5 (100%) 8 votes

40 réflexions sur "Оператор switch в C ++

  1. Fiodor, Je n'ai pas écrit cet article … et je ne l'ai pas lu correctement même. Mais il a dit que, que la rupture dans les arbres de choix pratiquement presque toujours nécessaire, les premières étapes de l'étude est très utile.

    ils, Fiodor, qui a écrit plusieurs milliers de code industriel de la profession (Je), en l'honneur de degeneratov, qui écrivent des commentaires que dans les forums (vous) savoir, cette pause sauter dans un commutateur où il est nécessaire – la cause la plus difficile de l'échec, qui ne sont que de nombreuses heures de débogage.

    1. 1. « Tchouktches pas le lecteur - l'écrivain tchouktche!»
      2. “et je ne l'ai pas lu correctement même”
      Je n'ai rien à ajouter à mon précédent post.

    2. C'est tout, qui, par profession n'est pas super tricheur raide avec megaintellektom mathématique et de l'expérience dans l'élaboration d'un code de rouleaux – dégénéré?
      ensuite, vous – unilatéralement développé avec un robot selon la revendication.

      Comment noviček, Personnellement, je comprends, Je ne suis pas à Cambridge ou okforde, qu'aurais-je appris “idéalement” et très reconnaissant à Fedor pour son travail!

  2. Pourquoi mon code ne se répète pas lorsque vous entrez une valeur incorrecte?

    1. Comment faut-il répéter le code? Je suis dans ce coup d'œil rapide annonces correspondant 6 erreurs, en raison de laquelle il ne sera pas compiler. boîte, sa première course au moins, et alors seulement rechercher des erreurs?

      1. Nekorekktno code apparaît dans certains endroits. Et l'erreur de ma version des erreurs du compilateur ne. Mais sans deyvstvuet pour une raison quelconque. J'ai demandé de me aider à comprendre certains des. Et ne pas écrire des commentaires vides.

    1. Ce que vous Attentif… Ainsi, la tenir compte)
      Toute votre vie, vous êtes à la recherche d'erreurs. On vous demande d'aider, et vous êtes à la recherche d'erreurs? Si vous êtes si arrogant, puis vérifier l'erreur, vous dans mon code trouvé. Bien que le code entier – erreur, plan du site, il est pas, lui dans mon IDE écrit.

      1. Où avez-vous obtenu les informations, Je suis une vie à la recherche d'erreurs? Nous avons mis au point?
        On nous demande d'aider à trouver une erreur (parce que si quelque chose ne fonctionne pas ou ne fonctionne pas, Un code d'erreur?), mais les erreurs nous ne devrions pas chercher? et, si le code ne compilera pas, les erreurs logiques à ridiculiser.
        Sur la base de vos mots, Je pense que, que pour prouver le fait, Je ne suis pas arrogante, Je besoin de préciser non seulement les insectes me. bon, Je ne vais pas.

  3. aucun, pas inventé. Les plus commentées vu. le code est compilé. Il suffit de ne pas tenir compte de la commande alors que le programme, c'est tout. Sur la base de vos mots, Vous ne pouvez pas me aider avec mon problème, et par conséquent, écrire des commentaires hors sujet. vous – ne pas!

    1. Code Tot, que vous étiez en mesure d'apporter, pas compiler, et tout autre code nous ne pouvons pas voir, Vous ne montrez pas. mais vous, encore, veulent, nous avons appris à télépathie, quel genre de code est enregistré sur votre ordinateur et résoudre le problème.
      Je suppose que, que tout ne fonctionne pas, parce que la valeur de la condition (étaient == true) != true, mais la variable var est pas définie et n'est pas affecté nulle part, et pourquoi il est nécessaire, connu seulement pour vous. Mais cette hypothèse est que, tk. dans l'état peut contenir tous, rien, Vous ne savez pas, qu'il y Pastebin-services, pas de code korezhaschie.

      1. Je portai loin de tous les tout code. aucun, est pas la faute du var, parce que sur mon ordinateur (drôle que vous avez remarqué), pas var… Même si var au lieu mettre un peu trueOrFalse, comme je l'ai dans mon IDE, le code ne fonctionne pas.
        Je vais essayer d'écrire du code sans balises
        #comprendre
        using namespace std;

        int main()
        {
        setlocale(LC_ALL, “rus”);
        int = firstNumber 0;
        int = secondNumber 0;
        Composition int = 0;
        cout <> firstNumber;
        cout <> secondNumber;
        cout <> composition;

        si (Composition == firstNumber * secondNumber)
        {
        cout << "Правильный ответ. Êtes-vous au cours de l'été est pas tout oublié!";
        }
        autre
        cout << "Неправильный ответ. Maintenant, vous savez, choses à faire… Essayez à nouveau! à propos, la bonne réponse – " << firstNumber * secondNumber << endl;
        }
        }

  4. bonjour!
    Merci beaucoup pour l'article, mais je me sens obligé de constater une mise en garde, Certes, je ne veux pas généraliser, mais encore: russophones citant souvent l'exemple de programme, ne conduit pas à son contenu russe – J'ai une question normale: qui eMPÊCHE, par exemple, la station de métro de Moscou plomb, ou une station de chemin de fer région Irkutsk, et, cours, en russe?
    “Bonjour le monde!”.
    Ma question ne nécessite pas de réponse, et peut être vu, juste, comme la pensée, qui a le droit d'exister.
    citoyen du monde…

    1. Parce qu'il est un classique. Le premier programme en langage C était “Bonjour le monde!”.
      une autre raison – le premier programme a commencé dans la console, et il n'y a généralement pas de langue russe sans aucun réglage supplémentaire.
      bien, et il n'y a pas programmeur anglais.

      1. que, habitués à voir le premier programme est ce dont vous écrivez. Problèmes avec le codage russe presque tous résolus, qui est lui-même un locuteur natif et, respectivement, Il utilise un PC, si linux, ou Windows. Votre avis sur cette question est claire. Merci pour la réponse.

    2. de plus, qui ont déjà répondu: présentation du russophones (Chinois ou) les lignes de C / C ++ dépend du système d'exploitation (Fenêtres, Linux e T. D.), codage utilisé par (CP-866, CP-1251, UTF-8, UTF-16 et TD). Par conséquent, le travail avec les lignes russes dans le C / C ++ est beaucoup plus difficile, que des caractères latins, et exige professionnelle adéquate.

      P.S. Par conséquent, au stade initial de développement n'est pas un jeu et jouer en toute sécurité avec les lignes russes.

      1. peut-être, bien sûr, cela est vrai. Néanmoins,, Je ne ai jamais fait face à ces problèmes, en tout cas – l'ampleur des problèmes, cependant, à mon avis, exagéré. Votre motivation est clair pour moi. Merci pour la réponse!

      2. pas “peut-être”, c'est la façon dont il est: pour correct avec des textes localisés (russe, chinois, arabe) vous obligé de utilisez plutôt un type char “large” caractères UNICODE wchar_t, et au lieu de chaîne – wstring, respectivement… et d'autres (similaire) travaux de chaîne de fonction, par exemple wcslen() au lieu strlen() (tout de même, WCS но *() вмесчо str *()). Et c'est une autre technique.
        Et que dans les cas, lorsque vos opérations sont concernées sans discrimination Ligne de contenu interne, vous pouvez utiliser la fonction strcp(), strcat() etc., tout en même temps, vous faites des actions incorrectes obtenir le bon résultat! Mais il est bon de garder à l'esprit et à comprendre ce qui se passe (вот strlen() pour les lignes russes vous toujours donner le mauvais résultat).

  5. в онлайн компиляторе при набирании числа не отвечающим условиюпроисходит ошибканачинается бесконечный цикл писанинывведите станцию от …. à… “, “станции под номером … aucun” и так далее и далее
    Наверное что-то в коде не совсем верно!

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *