101 / 102 / 43
Регистрация: 06.03.2012
Сообщений: 478
1

switch-case, как писать в самом case

08.11.2012, 23:55. Показов 4481. Ответов 5
Метки нет (Все метки)

Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в самом case страны?Например,вот так:
case Vengrija : printf("Столица: Будапешт,население: 11 млн.чел.\n ");break;
или без шансов,и ещё можно пару подсказок как можно код красивей записвать=)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "stdafx.h"
#include <stdio.h>
#include <clocale>
 
 
 
 
int _tmain()
{   setlocale (LC_ALL,"Russian");
    setlocale (LC_ALL,"rus");
 
    int strana;
    
 
    printf ("Список стран : \n");
    
    printf ("1.Венгрия\n");
    printf ("2.Италия\n");
    printf ("3.Греция\n");
    printf ("4.Турция\n");
    printf ("5.Египет\n");
    printf ("7.Непал\n");
    printf ("8.Бельгия\n");
    
    
    printf ("Введите страну :\n ");
    scanf_s ("%d", &strana);
    
    switch (strana)
      {case 1 : printf("Столица: Будапешт,население: 11 млн.чел.\n ");break;
        case 2 : printf("Столица: Рим,население: 60 млн.чел.\n ");break;
          case 3 : printf("Столица: Афины,население: 10 млн.чел.\n ");break;
            case 4 : printf("Столица: Анкара,население: 55 млн.чел.\n ");break;
              case 5 : printf("Столица: Каир,население: 53 млн.чел.\n ");break;
                case 6 : printf("Столица: Катманду,население: 18 млн.чел.\n ");break;
                  case 7 : printf("Столица: Брюссель,население: 10 млн.чел.\n ");break;
                  default: printf("ёпте,такой страны нету в путеводителе!!!\n");break;
       }
 
    getchar();
    getchar();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2012, 23:55
Ответы с готовыми решениями:

Оптимальная конструкция switch-case-while / while-switch-case
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл...

При выборе case 1 всегда черный экран? как правильно указать путь в case
Доброго времени суток) проблема с компиляций когда при компилирование появляется экран выбора....

Как избежать switch case и преобразования типов?
Подскажите пожалуйста, есть класс , допустим ,Automobile , есть наследники этого класса, допустим...

5
17 / 17 / 15
Регистрация: 10.01.2012
Сообщений: 34
09.11.2012, 00:10 2
Создай перечисление:
C++
1
enum { Vengriya = 1, Italiya, Gretsiya, Turtsiya, Egipet, Nepal, Belgiya };
и юзай вместо цифер названия стран.
0
22 / 40 / 15
Регистрация: 25.10.2011
Сообщений: 175
09.11.2012, 00:18 3
можно зделать switch по строке
0
101 / 102 / 43
Регистрация: 06.03.2012
Сообщений: 478
09.11.2012, 09:39  [ТС] 4
пасиб.
0
Модератор
Эксперт по электронике
8729 / 6522 / 884
Регистрация: 14.02.2011
Сообщений: 22,831
09.11.2012, 09:51 5
а можно вообще без switch обойтись
создаем структуру
типа такой
C++
1
2
3
4
5
6
struct Country
{
char nameCountry[255];
char capital[255];
char comment[255];
};
потом создать массив структур
C++
1
Country cont[10];
заполнить их


и вызывать так

C++
1
printf("%s %s  %s",cont[i].nameCountry ,cont[i].capital,cont[i].comment)  ;
0
101 / 102 / 43
Регистрация: 06.03.2012
Сообщений: 478
09.11.2012, 21:12  [ТС] 6
просто я создавал именно через switch=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2012, 21:12
Помогаю со студенческими работами здесь

Как сравнить case у switch с чаровским массивом?
мне надо написать удобное консольное меню. Как я хочу єєто сделать: Создать массив строк. Каждая...

Как использовать один и тот же case в switch несколько раз?
Как использовать один и тот же case в switch несколько раз?

Можно ли как-то заставить сработать одновременно все case у оператора switch?
Вопрос в заголовке темы:)

Как в операторе switch вместо числового значения case поставить, например, слово?
Как в операторе switch вместо числового значения case поставить, например слово, желательно на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru