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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pro_mary
1 / 1 / 0
Регистрация: 23.03.2009
Сообщений: 99
#1

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

26.05.2011, 21:13. Просмотров 517. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2011, 21:13     Инициализация массива внутри case
Посмотрите здесь:

Инициализация массива внутри структурированнного типа - C++
Добрый день! Прошу помочь разобраться. Компилятор ругается &quot; Unit1.cpp(204): E2188 Expression syntax&quot; при присвоении значений...

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

Инициализация обьекта внутри другого класса - C++
Всем привет. Вообщем проблема такая. Есть несколько классов class WeaponType { }; class Swords : public WeaponType { }; ...

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

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

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

Инициализация массива в классе - C++
Как инициализировать массив в классе? Пишу такой код, но компилятор выдает: 9:53: error: incompatible types in assignment of 'int' to...

Инициализация символьного массива - C++
Проблема в том, что выдает ошибку &quot;требуется выражение&quot; - непосредственно внутри конструктора при попытке присвоить символьному массиву...

Инициализация двумерного массива - C++
Чет не понимаю на что возмущается компилятор... Заполняю как и заполнял раньше... char my_array; int x = 0; int t = 2; for(; x &lt; 2;...

Инициализация массива в классе - C++
class matrix { int arr; ...... public: .............. void set_a(int input, int i, int j){arr=input;}; //тут ошибка };


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
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
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
Ответ Создать тему
Опции темы

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