Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
1

Не работает прога

20.07.2010, 23:11. Показов 2138. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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 <iostream>
using namespace std;
int main()
{//Начало
int x,y;
cout<<"Vvedite chislo ";
cin>>x;
switch(x)
{   
case 0: cout<<"zero"; break;
case 1: cout<<"one"; break;
case 2: cout<<"two"; break;
case 3: cout<<"three"; break;
case 4: cout<<"four"; break;
default:
{
cout<<"Vvedite drugoe chislo";
cin>>y;
switch(y)
{
case 0: cout<<"zero"; break;
case 1: cout<<"one"; break;
case 2: cout<<"two"; break;
case 3: cout<<"three"; break;
case 4: cout<<"four"; break;
}
} 
}
for(;;) //Бесконечный цикл
{}
return 0;
}//Конец
Всем привет,хотелось бы узнать почему данная программа не работает.Да,еще также хочется узнать ответы на пару вопросов(не хочется создавать дополнительные темы).1)Почему считается ошибкой объявлять переменные,но не использовать их.2)Почему в 2 выражениях y=x++ y=(x++) у 'y' значения одинаковые
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2010, 23:11
Ответы с готовыми решениями:

Глобальные и локальные переменные, одна и та же прога в процедуре Не работает, а просто так работает. Почему?
Здравствуйте, есть программка которая переводит из 2-ной системы в 10-ную. Она работает. А вот...

Не работает прога
Не могу понять по какой причине не работает прога. program twelve; uses crt; const uin =...

не работает прога
прога работает она запускается,появляется окно,но сразу же отключается.. Дана матрица состоящая из...

не работает прога
Делал по этому видио...

22
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
20.07.2010, 23:18 2
Arver, используйте теги выделения кода (над окном ввода сообщения, в данном случае C++) - читать невозможно.
Замените бесконечный цикл на:
C++
1
system("pause");
Цитата Сообщение от Arver Посмотреть сообщение
хотелось бы узнать почему данная программа не работает
В чем это выражается?
Цитата Сообщение от Arver Посмотреть сообщение
Почему считается ошибкой объявлять переменные,но не использовать их
Потому что если перменная не используется, то она не нужна, зачем ее тогда объявлять?
Цитата Сообщение от Arver Посмотреть сообщение
Почему в 2 выражениях y=x++ y=(x++) у 'y' значения одинаковые
В данном случае скобки не вляют на выполнение операции.
1
94 / 94 / 14
Регистрация: 04.06.2010
Сообщений: 223
20.07.2010, 23:27 3
Программа работает. Другой вопрос, что от нее ждут. Вот немножко переделанная. Запрашиваетс число до тех пор, пока не будет введены 0,1,2,3 или 4.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main()
{//Начало
int x,y;
 
do
{
cout<<"Vvedite chislo ";
cin>>x;
switch(x)
{    
case 0: cout<<"zero"<<endl; break;
case 1: cout<<"one"<<endl; break;
case 2: cout<<"two"<<endl; break;
case 3: cout<<"three"<<endl; break;
case 4: cout<<"four"<<endl; break;
default: cout<<"Vvedite drugoe chislo (1-4)"<<endl;
}
}while (x < 0 || x > 4 );
system ("pause");
return 0;
}//Конец
1
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
20.07.2010, 23:36  [ТС] 4
1)Скорее всего мало знаний,чтобы корректно ответить на вопрос "в чем это выражается".После прочтения про инструкцию switch захотелось практики,так как сам я ошибки не нашел,решил выложить на форуме.
2)Привычка с delphi объявлять переменные заранее...
3)Нe очень понятно, что значит в данном случае,скобки не влияют на результат...
0
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
20.07.2010, 23:47 5
Цитата Сообщение от Arver Посмотреть сообщение
Нe очень понятно, что значит в данном случае,скобки не влияют на результат...
Значит что y=x++; и y=(x++); одно и то же, скобки не влияют на результат.
0
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
20.07.2010, 23:53  [ТС] 6
Цитирую "Круглые скобки повышают приоритет операций,содержащихся внутри них". Поэтому и непонятно, почему же значение x сразу присвается...
0
2 / 2 / 1
Регистрация: 22.04.2010
Сообщений: 37
21.07.2010, 00:09 7
Попробуй после первой конструкции switch поставить ЗАКРЫВАЮЩУЮ скобку а 27 и 28 строки удалить.
0
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
21.07.2010, 00:13 8
а так вот ты о чем!
просто есть префиксная форма ++x и постфиксная x++
вот как раз в префиксной форме вначале значение x инкрементируется а потом присваевается.

т.е. y=x++; и y = ++x; это разные вещи
1
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:30  [ТС] 9
Спасибо,поискал,почитал-стало все понятно,только вот,что за ошибка в программе,не понятно..lex1990able(пробовал все равно 1 ошибка)
0
94 / 94 / 14
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 00:31 10
Arver,если ошибка при компиляции, то сообщите ее полностью. Потому что у меня все компилируется, например.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.07.2010, 00:33 11
Хм. Странно. Все пашет. Может вы скажете ошибку?

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
#include <iostream>
using namespace std;
int main()
{//Начало
int x,y;
cout<<"Vvedite chislo ";
cin>>x;
switch(x)
{       
case 0: cout<<"zero"; break;
case 1: cout<<"one"; break;
case 2: cout<<"two"; break;
case 3: cout<<"three"; break;
case 4: cout<<"four"; break;
default:
    {
cout<<"Vvedite drugoe chislo";
cin>>y;
switch(y)
{
case 0: cout<<"zero"; break;
case 1: cout<<"one"; break;
case 2: cout<<"two"; break;
case 3: cout<<"three"; break;
case 4: cout<<"four"; break;
}
} 
}
system("pause");
return 0;
}
0
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:38  [ТС] 12
besstiaa ваш вариант работает,просто все же хотелось узнать,где именно у меня ошибка
0
94 / 94 / 14
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 00:38 13
Arver, ваша программа у меня тоже компилируется нормально. Может вы все-таки назовете ошибку?
0
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:51  [ТС] 14
Пойду разбираться как выявить где допущена ошибка,потому как программа не хочет компилироваться,ах да,раз уж затронули тему компилятора.Пробовал компилировать через командную строку,цитирю из книжки "c:\...>cl -gx myprog.cpp" получаю ошибку,что "cl" не является внутренней или внешней командой,и тд
0
94 / 94 / 14
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 01:07 15
М... ну тут дело не в программе, а в компиляторе, точнее его присутствия. Так как через командную строку не компилировала никогда, так только гугл. Насколько я понимаю, приведенный пример, это для компилятора visual c++. А он есть у вас вообще?

To compile MyProg.cpp using Visual C++, you will use this command line.
C:\...>cl -GX MyProg.cpp
The –GX option enhances compilation. To use the Visual C++ command-line
compiler, you must first execute the batch file VCVARS32.BAT, which is provided
by Visual C++. (You will want to consult your Visual C++ documentation for details.)
To compile MyProg.cpp using C++ Builder, use this command line.
C:\...>bcc32 Sample.cpp
The output from a C++ compiler is executable object code. For a Windows
environment, the executable file will use the same name as the source file,
but have the .exe extension. Thus, the executable version of MyProg.cpp
will be in MyProg.exe.
0
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 01:14  [ТС] 16
да, Microsoft Visual C++ 6.0
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.07.2010, 01:19 17
Arver, Ставьте новее. Хотя бы 2005.
0
94 / 94 / 14
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 01:28 18
Visual Studio 2008, через командную строку тоже ваша программа компилируется нормально.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.07.2010, 05:29 19
Arver,

используй отступы по три-четыре пробела, а то не понятно что где

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
    default:
        cout << "Vvedite drugoe chislo: ";
        
        cin >> y;
 
        switch (y) {
        case 0:
            cout << "zero";
            break;
        case 1:
            cout << "one";
            break;
        case 2:
            cout << "two";
            break;
        case 3:
            cout << "three";
            break;
        case 4:
            cout << "four";
            break;
        }
 
    }
 
    cout << endl;
один оператор - одна строка
0
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 12:32  [ТС] 20
Спасибо всем за помощь.
0
21.07.2010, 12:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2010, 12:32
Помогаю со студенческими работами здесь

не работает прога
#include &lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...

Ай-яй-яй не работает прога!
Столкнулся с небольшой проблемой: в приложении использую ComboBox для выбора дня (в месяце). И вот...

Не работает прога
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;fstream.h&gt; #include &lt;string.h&gt; #include...

не работает прога на VS 2010
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;math.h&gt; #include &lt;curses.h&gt; #include...

почему не работает прога?
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void mean (const int, int); void...

Не работает прога. Помогите
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; float f1(float);...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru