Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
26.05.2011, 21:13     Инициализация массива внутри case #1
Подскажите, пожалуйста, как правильно инициализировать массив внутри оператора 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
26.05.2011, 21:21     Инициализация массива внутри case #2
C++
1
2
std::cin >> choise;
while (choise != 2)
Даёт бесконечный цикл(choise внутри цикла никогда не становится равным 2).
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
27.05.2011, 00:46  [ТС]     Инициализация массива внутри case #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 секунд
Извините за повтор.. проблемы с интернетом..
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
27.05.2011, 00:55     Инициализация массива внутри case #4
Цитата Сообщение от pro_mary Посмотреть сообщение
cin >> choise;
добавьте в своём варианте
Yandex
Объявления
27.05.2011, 00:55     Инициализация массива внутри case
Ответ Создать тему
Опции темы

Текущее время: 13:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru