int number;
cin>>number;
switch (number)
{
case 1:
cout<<"My Favourite Subject is";
break;
case 2:
cout<<"Fundamentals of Programming";
break;
case 3:
cout<<"Exit";
break;
default:
cout<<"Invalid Data";
}
Répondre
Vérifiez si number
est égal à la première valeur du commutateur, si le texte égal alors sortie, sinon (autre) vérifier le numéro suivant.
if (number == /*put here value to check*/)
// print some text
else
// do something else
Vous remplacez l'instruction switch avec if-else
if (number == 1)
{
}
else if (number == 2)
{
}
...
{
}
else
{
// default here
}
J'aime que vous avez fourni de l'aide, mais pas la réponse exacte ... – marcc
J'ai essayé, je suis une personne agréable. J'essaie d'aider les nouveaux développeurs à obtenir le plus possible de copier/coller: moins ils utilisent leur tête, moins ils apprennent, moins ils apprennent moins la concurrence sur le marché ... Je pourrais même obtenir un emploi quand je suis vieux ... – stefanB
Remplacer la déclaration de cas avec une instruction if:
if (number == 1) {
cout<<"My Favourite Subject is";
} else if (number == 2) {
cout<<"Fundamentals of Programming";
} else if (number == 3) {
cout<<"Exit";
} else {
cout<<"Invalid Data";
}
if (number == 1) {
cout << "blah1";
}
else if (number == 2) {
cout << "blah2";
}
else if (number == 3) {
cout << "blah3";
}
else { cout << "default";
}
-1 pour faire ses devoirs –
+1 pour essayer d'aider – dalle
Ceci est mon préféré, même si ce n'est pas ce que vous avez demandé:
string res =
number==1 ? "My Favourite Subject is" :
number==2 ? "Fundamentals of Programming" :
number==3 ? "Exit" :
number==4 ? "Invalid Data" :
"";
cout<<res;
Le bon côté ici est que vous n'avez pas à vous contraindre à la comparaison entière. Au lieu de number == 1, vous pouvez utiliser n'importe quel type de complexeComparisonReturningBoolean (nombre).
Utilisez 'const char *' à la place 'string' pour éviter la copie de chaîne. –
J'ai vraiment du mal à en lire plus d'un? opérateur dans une seule expression. – asveikau
Il est plus facile de comprendre si vous oubliez comment? -opérateur fonctionne normalement. Ici, il définit une table avec deux colonnes - colonne de conditions et colonne de valeurs. – AareP
Essayez:
if (number < 1 || number > 3) {
Cela vous aide à obtenir une plus grande expertise en mathématiques que de la vérification de l'égalité.
//
} else if (number == 1) {
//
} else if (number/2 == 1) {
//
} else if ((number - 1)/ 2 == 1) {
//
}
//Hey this is fun!
int number;
cin>>number;
// ultra const!
static const char const * const table[] =
{
"Invalid Data",
"My Favourite Subject is",
"Fundamentals of Programming",
"Exit"
};
cout<<table[number&3];
//Who needs if statements!!?
Aussi juste pour le plaisir: utiliser seulement des lettres majuscules et point-virgule au lieu du côlon. Ah, et ne pas oublier d'ajouter une macro mal :)
#define SWITCH(s) for(int switch_=s, b=1;b;b=0) {
#define CASE(n) } if (switch_ == n) {
#define DEFAULT }
int number;
cin>>number;
SWITCH(number)
{
CASE(1);
cout << "My Favourite Subject is";
break;
CASE(2);
cout << "Fundamentals of Programming";
break;
CASE(3);
cout << "Exit";
break;
DEFAULT;
cout << "Invalid Data";
}
Cette tuer la boucle « switch » et si « pour » ne sont pas autorisés, il est également possible d'utiliser une macro BREAK, mais il est encore plus de mal.
il pourrait être mieux si vous avez utilisé des gotos pour vos pauses/pauses. – tony
mais avec une instruction switch normale en C, vous pouvez écrire: case 0: if (blah) case 1: {foo(); } Et puis cas 0 fera foo() si blah est vrai, alors que case 1 fera toujours foo(). Cela ne fonctionne pas avec vos macros. – asveikau
@tony: Oui, j'ai pensé à ça aussi, mais où mets-tu l'étiquette de sortie? En outre, je voulais éviter les tracas de générer une étiquette unique et la passer entre les macros. – Alink
- 1. Comment modifier cette déclaration de code?
- 2. Problème avec ifelse dans le script PHP
- 3. Modifier MySQL Où Déclaration Basé sur la matrice
- 4. créer des catégories de taille sans ifelse imbriqués dans R
- 5. Modifier l'image de cellule UITableView à l'aide de la déclaration IF?
- 6. OrderByDescending à la déclaration LINQ
- 7. Comment modifier l'interface à onglets?
- 8. déclaration à l'aide Sesame HTTPRepository
- 9. Comment puis-je modifier/modifier une hiérarchie à 3 niveaux
- 10. sql: comment améliorer cette déclaration
- 11. Comment réduire une déclaration logique?
- 12. déclaration argument composé
- 13. Sqlite3 mise à jour problème de déclaration
- 14. comment écrire cette déclaration SQL
- 15. Comment faire cette déclaration sql
- 16. comment écrire cette déclaration SQL?
- 17. Comment utiliser Déclaration de cas
- 18. déclaration enum dans Windows à Linux
- 19. Regardez-le à cette déclaration: System.Security.Principal.WindowsIdentity.GetCurrent(). Name;
- 20. C# Mettre fin à la déclaration Regex
- 21. php if déclaration relative à l'adresse URL
- 22. Oracle, comment la déclaration de mise à jour fonctionne
- 23. Comment écrire cette déclaration de mise à jour de MySQL?
- 24. Comment initialiser un tableau char à la déclaration
- 25. Cocoa variable déclaration
- 26. déclaration de commutateur à l'aide d'un selectedSegmentIndex
- 27. Envoyer à Modifier MediaWiki
- 28. . Conception de Workflow Foundation. Workflows multiples ou un grand flux de travail avec les activités IfElse?
- 29. Aidez-moi à construire cette déclaration Linq
- 30. déclaration de mise à jour sqlite
Est-ce un devoir? –
Doit être, non? –
devoirs tagués – minjang