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

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

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

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

26.05.2011, 21:13. Просмотров 525. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация массива внутри case (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
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 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
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
Привет! Вот еще темы с ответами:

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

инициализация массива - C++
Доброго времени. Инициализация массива с указанием размера 80 проходит гладко, при указании допустимого размера 12 выдает ошибку. Почему?

Инициализация массива C++ - C++
Почему, если мы не инициализируем переменную, то при попытке работы с ней будет ошибка int main(){ char x; cout &lt;&lt; x; ...

Инициализация массива - C++
Нужно объявить несколько статических строк, содержащих байты со значениями в диапазоне от 1 до 255 Пытаюсь что-то в этом духе: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.05.2011, 00:55
Ответ Создать тему
Опции темы

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