Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 100
Завершенные тесты: 1
1

Инициализация массива внутри case

26.05.2011, 21:13. Просмотров 599. Ответов 3
Метки нет (Все метки)

Подскажите, пожалуйста, как правильно инициализировать массив внутри оператора case? Или так делать нельзя?
При компиляции вот этого кода ошибок нет, но при выводе результатов бесконечно печатается Vubor:. Что не так?:
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
#include "stdafx.h"
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n;
    std::cout << "Enter n: ";
    std::cin >> n;
    double *x1 = new double[n];
    std::cout << "Vubor: ";
    int choise;
    std::cin >> choise;
    while (choise != 2)
    {
        switch (choise)
        {
        case 1:
            {
                std::cout << "the first...\n";
                for (int i = 0; i < n; i++)
                    x1[i] = 1.3*i;
            }
            break;
        
        default : std::cout << "Ne verno!\n";
        }
    }
        for (int i = 0; i < n; i++)
            std::cout << x1[i] << "\n";
        std::cout << "\n";
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2011, 21:13
Ответы с готовыми решениями:

Инициализация массива внутри структурированнного типа
Добрый день! Прошу помочь разобраться. Компилятор ругается &quot;...

Инициализация массива строк внутри класса
Доброго времени суток! Есть такая проблема... Дан класс, в нем есть массив...

Инициализация обьекта внутри другого класса
Всем привет. Вообщем проблема такая. Есть несколько классов class...

Инициализация переменной, которая определена внутри функции
В учебнике по которому учусь есть строка: Если вы не инициализируете...

Внутри switch ошибка Case bypasses initialization of a local variable
Компилятор не устраивает case 3, там ввод массива автоматически , в чем ошибка...

3
rangerx
1942 / 1551 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
26.05.2011, 21:21 2
C++
1
2
std::cin >> choise;
while (choise != 2)
Даёт бесконечный цикл(choise внутри цикла никогда не становится равным 2).
0
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 100
Завершенные тесты: 1
27.05.2011, 00:46  [ТС] 3
Так а как правильно то??
И почему тут все нормально работает??
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
int _tmain(int argc, _TCHAR* argv[])
{
    showmenu();
    int choise;
    cin >> choise;
    while (choise != 5)
    {
        switch (choise)
        {
        case 1 : cout << "\a\n";
            cout << "Second string.\n";
            break;
        case 2 : report();
            break;
        case 3 : cout << "The boss was in all day.\n";
            break;
        case 4 : comfort();
            break;
        default : cout << "That's not a choise.\n";
        }
        showmenu();
        cin >> choise;
    }
    cout << "Bye!!\n";
Добавлено через 12 секунд
Так а как правильно то??
И почему тут все нормально работает??
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
int _tmain(int argc, _TCHAR* argv[])
{
    showmenu();
    int choise;
    cin >> choise;
    while (choise != 5)
    {
        switch (choise)
        {
        case 1 : cout << "\a\n";
            cout << "Second string.\n";
            break;
        case 2 : report();
            break;
        case 3 : cout << "The boss was in all day.\n";
            break;
        case 4 : comfort();
            break;
        default : cout << "That's not a choise.\n";
        }
        showmenu();
        cin >> choise;
    }
    cout << "Bye!!\n";
Добавлено через 58 секунд
Извините за повтор.. проблемы с интернетом..
0
Daemon025
380 / 328 / 159
Регистрация: 06.12.2010
Сообщений: 894
27.05.2011, 00:55 4
Цитата Сообщение от pro_mary Посмотреть сообщение
cin >> choise;
добавьте в своём варианте
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2011, 00:55

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

BST дерево. Инициализация класса внутри класса
Здравствуйте, нужно реализовать класс дерева бинарного поиска с использованием...

Инициализация массива
Есть массив: int d; Есть константа бесконечности (просто константа) inf,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru