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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
#1

Не работает прога - C++

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

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2010, 23:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает прога (C++):

не работает прога - C++
#include &lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; //#define...

не работает прога - C++
прога работает она запускается,появляется окно,но сразу же отключается.. Дана матрица состоящая из N,M вещественных элементов. 1.Найти...

Не работает прога из учебника - C++
Нашла очень хороший учебник в инете: то, что нужно, мало воды, много примеров. Как только захотела запустить прогу и посмотреть, как она...

не работает прога на VS 2010 - C++
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;math.h&gt; #include &lt;curses.h&gt; #include &lt;stdlib.h&gt; FILE *file; char *fname...

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

прога не правильно работает - C++
У меня ошибка в while но не знаю как исправить:( #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;clocale&gt; #include &lt;iomanip&gt; ...

22
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 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
besstiaa
94 / 94 / 7
Регистрация: 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
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
20.07.2010, 23:36  [ТС] #4
1)Скорее всего мало знаний,чтобы корректно ответить на вопрос "в чем это выражается".После прочтения про инструкцию switch захотелось практики,так как сам я ошибки не нашел,решил выложить на форуме.
2)Привычка с delphi объявлять переменные заранее...
3)Нe очень понятно, что значит в данном случае,скобки не влияют на результат...
0
jonson
233 / 206 / 61
Регистрация: 18.03.2010
Сообщений: 750
20.07.2010, 23:47 #5
Цитата Сообщение от Arver Посмотреть сообщение
Нe очень понятно, что значит в данном случае,скобки не влияют на результат...
Значит что y=x++; и y=(x++); одно и то же, скобки не влияют на результат.
0
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
20.07.2010, 23:53  [ТС] #6
Цитирую "Круглые скобки повышают приоритет операций,содержащихся внутри них". Поэтому и непонятно, почему же значение x сразу присвается...
0
lex1990able
2 / 2 / 1
Регистрация: 22.04.2010
Сообщений: 37
21.07.2010, 00:09 #7
Попробуй после первой конструкции switch поставить ЗАКРЫВАЮЩУЮ скобку а 27 и 28 строки удалить.
0
jonson
233 / 206 / 61
Регистрация: 18.03.2010
Сообщений: 750
21.07.2010, 00:13 #8
а так вот ты о чем!
просто есть префиксная форма ++x и постфиксная x++
вот как раз в префиксной форме вначале значение x инкрементируется а потом присваевается.

т.е. y=x++; и y = ++x; это разные вещи
1
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:30  [ТС] #9
Спасибо,поискал,почитал-стало все понятно,только вот,что за ошибка в программе,не понятно..lex1990able(пробовал все равно 1 ошибка)
0
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 00:31 #10
Arver,если ошибка при компиляции, то сообщите ее полностью. Потому что у меня все компилируется, например.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
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
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:38  [ТС] #12
besstiaa ваш вариант работает,просто все же хотелось узнать,где именно у меня ошибка
0
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
21.07.2010, 00:38 #13
Arver, ваша программа у меня тоже компилируется нормально. Может вы все-таки назовете ошибку?
0
Arver
0 / 0 / 0
Регистрация: 15.07.2010
Сообщений: 68
21.07.2010, 00:51  [ТС] #14
Пойду разбираться как выявить где допущена ошибка,потому как программа не хочет компилироваться,ах да,раз уж затронули тему компилятора.Пробовал компилировать через командную строку,цитирю из книжки "c:\...>cl -gx myprog.cpp" получаю ошибку,что "cl" не является внутренней или внешней командой,и тд
0
besstiaa
94 / 94 / 7
Регистрация: 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
21.07.2010, 01:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2010, 01:07
Привет! Вот еще темы с ответами:

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

Прога работает неправильно - C++
Например вводим 123 45 new_str_ed=new_str_cop; ch=getchar();//здесь почему то просит ввести символы if (ch==32)//во входном потоке...

вот прога почему то не работает - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main (){ string str,slovo; int s=0; char m=0; ...

Прога не всегда работает правильно.. - C++
Задача: Построить максимальное множество, состоящее из попарно не сравнимых векторов v. Векторы v определяются парами чисел, выбираемые из...


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

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

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