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

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

Войти
Регистрация
Восстановить пароль
 
 
Евклид
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 10
#1

Ребят, можете помочь исправить ошибку, долго с ней мучался. - C++

02.11.2011, 22:38. Просмотров 945. Ответов 22
Метки нет (Все метки)

Эта задача не работает полностью.Это программа с использованием меню. Зацикливается,когда переходит к case3. Помогите пожалуйста.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
 #include<iostream.h>
 #include<conio.h>
 #include<math.h>
 #include<string.h>
 int main()
 {
 m1:
 {
 clrscr();
 int f1,f2=0;
 char s[15],passw[]="123456";
 cout<<"vvedite parol"<<endl;
 cin>>s;
 if (strstr(s,passw))f2=1;
 if(f2==1)
 cout<<"Parol verniy"<<endl;
 if(f2!=1)
 {
 cout<<"Parol neverniy"<<endl;
 getch();
 goto m1;
 }
 }
 int perekl;
 int j;
 link:
 cout<<"              MENU             "<<endl;
 cout<<"1)Arifmetisheskie operazii"<<endl<<"2)Odnomerniy massiv"<<endl<<"3)Dvumerniy massiv"<<endl<<"4)Exit"<<endl;
 cout<<"Vibirite komandu"<<endl;
 cin>>perekl;
 switch(perekl)
main()
{
case1:
int a,b;
float y,c;
cout<<"vvedite chislo a,b,c"<<endl;
cin>> a>>b>>c;
if (c>0) y=8*a-b- 31/c;
if(c<=0) y= 3*a+b/7-c;
cout<< "y= "<<y;
getch ();
goto link;
case2:
#define HB 5 
int a[HB];  
int min;   
int i;     
printf("\nПоиск минимального элемента массива\n");
    printf("Введите в одной строке ");
    printf("%i целых чисел, и нажмите <Enter>\n", HB);
    printf("-> ");
    for (i = 0; i < HB; i++)
 scanf("%i",&a[i]);
max = 0; 
 for (i = 1; i < HB; i++)
        if (a[i] > a[max])  max  =  i;
 
    printf("Максимальный элемент массива: a[%i]=%i ", max+1, a[max]);
    printf("\nДля завершения работы программы нажмите <Enter>");
    getch();
goto link;
case3:
int i,j,mas[10][10],n,m,sum[10];
clrscr();
cout<<"Vvedite kol-vo strok massiva:"<<endl;
cin>>n;
cout<<"Vvedite kol-vo stolbchov massiva:"<<endl;
cin>>m;
cout<<"Vvedite elementi massiva:"<<endl;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
cin>>mas[i][j];
}
cout<<"Vvedenniy massiv:"<<endl;
for(i=0;i<n;i++)
{
cout<<endl;
for(j=0;j<n;j++)
cout<<mas[i][j]<<" ";
}
cout<<endl;
cout<<"Summa elementov po stolbcam:"<<endl;
for(j=0;j<n;j++)
sum[j]=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
sum[j]=sum[j]+mas[i][j];
for(j=0;j<n;j++)
cout<<sum[j]<<" "<<endl;
getch();
goto link;
case4:
goto exit;
 default:
 goto link;
 }
 exit:
 cout<<"the end";
 getch();
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 22:38     Ребят, можете помочь исправить ошибку, долго с ней мучался.
Посмотрите здесь:

Ребят, подскажите как исправить ошибку... - C++
не могу понять , много что перепробывал компилятор C++ builder codegear вот собственно сам код ...

Помочь доделать программу с реккурентными соотношениями. (Исправить ошибку) - C++
Здравствуйте, дорогие форумчане. Опять нуждаюсь в вас. Мне помочь доделать программу. Задание прикрепил на скрине, так как его...

Программисты, можете ли вы мне объяснить почему выдает эту ошибку час сижу не могу исправить - C++
Задание: Разработать программу для генерации числового массива, его сортировки по возрастанию и по убыванию, а также поиска элементов по...

Можете помочь дописать программу, неправильно работает. - C++
Вариант 8 Даны целые массивы А, B и значения R и F. Каждый массив пpеобpазовать по пpавилу: компоненты с четными номеpами,...

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

прошу помочь найти ошибку - C++
задача должна заключатЬся в следующем: вводится предположим число 5, программа обрабатывает и выдает на строке 5 звездочек. #include...

Нахождение суммы большего и меньшего из 3 чисел (помочь найти ошибку) - C++
#include &lt;iostream.h&gt; #include &lt;math.h&gt; int MAX(int,int); int MIN(int,int); int a,b,c,d,e,f void main() {cout&gt;&gt;&quot;Vvedite tri...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
03.11.2011, 17:14     Ребят, можете помочь исправить ошибку, долго с ней мучался. #16
Bers,
по сути говорим одно и тоже но разными словами.
Что б не разводить демагогию, предлагаю завершить дискуссию.
А вот что касается меня как "Прикладного программиста верхнего уровня", не красиво на личности переходить. Все были такими прикладными прогеррами. И всегда хорошо когда человек имеет свое мнение, только нужно слышать опонента, а не слушать.
Плох тот кто закрыл свое сознание от нового!
100 грам, код, мир?)))
Bers
Заблокирован
03.11.2011, 17:33     Ребят, можете помочь исправить ошибку, долго с ней мучался. #17
Цитата Сообщение от hoot Посмотреть сообщение
А вот что касается меня как "Прикладного программиста верхнего уровня", не красиво на личности переходить.
Это не переход на личности, и это даже не показатель "профессионализма" программиста. Это просто предметная область в которой он работает.

Я тоже прикладной программист, и всякие там goto не использую. Зачем он мне нужен в ОО-архитектуре, когда и без него все шустро работает.

Использовал его несколько раз, но каждый раз это были ситуации, когда:
1. Хотелось из лени сэкономить на нескольких строчках кода.
2. Это было глубоко запрятано в кишках библиотеки, и кроме меня туда нехай вапще кому соваться.
3. Первый же рефакторинг позволил сделать кишки более красиво, а goto просто остался не у дел.

Я вообще считаю, что всякого рода оптимизации (не обязательно с goto) лучше оставить на совести компилятора, ну или на совести специального софта, который уже рабочий код сможет "оптимизировать" перед непосредственно компиляцией, с возможностью обратного преобразования.

А сам человек в ручную этим заниматься не должен, тем паче на высоком уровне.

Добавлено через 19 секунд
Цитата Сообщение от hoot Посмотреть сообщение
100 грам, код, мир?)))
ага
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
03.11.2011, 17:42     Ребят, можете помочь исправить ошибку, долго с ней мучался. #18
народ раз уж тема зашла про goto, у меня тут появился вопрос:
мне однажды лень было писать пару строк кода, а по ситуации нужно было чтобы один (из двух) конструкторов класса, при определенных обстоятельствах работал как другой, вызывать конструктор из конструктора напрямую запрещенно... задумал сделать goto на начало другого конструктора, но как выяснилось goto подвержен влиянию областей видимости.
так вот вопрос, как при помощи goto можно сделать переход на метку в другой области видимости?
по аналогии с неймспейсами? goto class_name::class_construc::link; ?
Bers
Заблокирован
03.11.2011, 17:55     Ребят, можете помочь исправить ошибку, долго с ней мучался. #19
Razzeeyy, Это вам у Сыроежки спросить надобно) Он у нас великий знаток с++

/зы Я б на вашем месте ещё раз пересмотрел б архитектуру, а не изобретал бы очередные пляски с бубнами.
LosAngeles
Заблокирован
03.11.2011, 17:59     Ребят, можете помочь исправить ошибку, долго с ней мучался. #20
Razzeeyy,
The
only use of an identifier label is as the target of a goto. The scope of a label is the function in which it
appears. Labels shall not be redeclared within a function. A label can be used in a goto statement before
its definition. Labels have their own name space and do not interfere with other identifiers.
The goto statement unconditionally transfers control to the statement labeled by the identifier. The identifier
shall be a label (6.1) located in the current function
.
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
03.11.2011, 18:04     Ребят, можете помочь исправить ошибку, долго с ней мучался. #21
Цитата Сообщение от Bers Посмотреть сообщение
/зы Я б на вашем месте ещё раз пересмотрел б архитектуру, а не изобретал бы очередные пляски с бубнами.
благо там код мал был, просто скопипастил. да впрочем если интересно взгляните сами https://github.com/Razzeeyy/Rz-config-manager )

LosAngeles, печалька...
LosAngeles
Заблокирован
03.11.2011, 18:11     Ребят, можете помочь исправить ошибку, долго с ней мучался. #22
Цитата Сообщение от Razzeeyy Посмотреть сообщение
при определенных обстоятельствах работал как другой, вызывать конструктор из конструктора напрямую запрещенно... задумал сделать goto на начало другого конструктора,
Просто даже в другую функцию прыгнуть нельзся, как ты себе это представляешь, нужно ведь накачать стек положить какие-то параметры, проинициализировать локальные переменные, а вслучае с методом класса положить в регистр this, или тоже в стек его запихать, короче сам видишь это невозможно реализовать. Просто вызвать конструктор в некотором смысле можно, может быть тебе placement new нужен или метод create сделать, вобщем озвучь первоначальную задачу, скорее всего она легко реализуется без таких страшных вещей которые ты написал и goto
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2011, 18:13     Ребят, можете помочь исправить ошибку, долго с ней мучался.
Еще ссылки по теме:

Программа на контестере проходит только 1 тест из 9. Можете объяснить, в чем моя ошибка и как ее исправить! - C++
Объясните, в чем моя ошибка в решении задачи. Условие: 103. Подсчет войск ограничение времени на тест: 0.5 сек. ...

Исправить ошибку - C++
Задачу и формулы надо переписывать! Редактор формул внизу страницы. помогите исправить ошибку в программе, задание 9 вариант, первая...

Исправить ошибку - C++
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; #include&lt;graphics.h&gt; #include&lt;dos.h&gt; ...

Исправить ошибку - C++
Здравствуйте, не могу исправить ошибку: &quot;no matching function for call to `pow(int)'&quot; Строку с ошибкой пометил в коде. #include &lt;cmath&gt; ...

Исправить ошибку C - C++
#include &lt;stdio.h&gt; int get_length(int* arr, int size) { for (int i = 1; i &lt; size; i++) { if (arr &lt; arr) { return i; } ...


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

Или воспользуйтесь поиском по форуму:
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
03.11.2011, 18:13     Ребят, можете помочь исправить ошибку, долго с ней мучался. #23
да, там можно было бы сделать метод open() "вместо конструктора" и вызывать его в конструкторе, но там не настолько сложная задача была )
Yandex
Объявления
03.11.2011, 18:13     Ребят, можете помочь исправить ошибку, долго с ней мучался.
Ответ Создать тему
Опции темы

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