вам алгоритмические или синтаксические?
если алгоритмические - мы не телепаты, какое задание вы решаете? если синтаксические - то не стыдно ли вам, спрашивать у людей то, на что компилятор затратит гораздо меньше усилий ?
________________________________
1) использование goto - плохое решение можно было бы обойтись until и еще одной переменной - флагом выхода из цикла.
2) метки в сях пишуться так "имя_метки: " именно после имени двоеточие надо ставить, а не до !
Другие языки программирования и технологии
C++ найти ошибки
Юрий Сказка
Не хочешь помогать - не отвечай. А то все хотят баллы получать за какую-нибудь написанную чушь.
Юрий Сказка
Извиняюсь. Спасибо хотя бы за последующий ответ. Помогло. А то в методичке по с++ хрень непонятная.
Юрий Сказка
Ну, ладно. Все нормально. Прога вроде пашет.
:d убери совсем, на него и ругается: й\третий\1.cpp(7) : error C2143: синтаксическая ошибка: отсутствие ";" перед ":" (ошибка в седьмой строке).
Тарлан Нуруллаев
а,теперт вижу,ты goto пользуешь))) ну тогда метку правильно запиши d:
Тут проше новую программу написать, ну вопервых вот этот кусок нужно заменить и такими больше не пользоваться
:d cout<<"vvedite nomer masti = ";
cin>>m;
cout<<"vvedite nomer karti = "; cin>>k;
if ((m<1) || (m>4) || (k<6) || (k>14)) {cout<<"NEPRAVILNII VVOD, VVEDITE ZANOVO\n"; goto d;}
лучше использовать цикл While или Until например
While((m<1) || (m>4) || (k<6) || (k>14))
{
cout<<"Введите номер карты и масть= "; cin>>k, cin>>m;;
} else cout<<"неправельный ввод введите заного";
В операторе выбора свич синтаксическая ощибка
switch(k)
{case 6:cout<<"Shesterka "; break;
после : если используете больше одного оператора необходимо их заключать в {}
Также не мешало вам повторить логические операции, так как символ ||
Истина истина 1
Истина ложь 1
Ложь истина 1
Ложь ложь 0
То есть Ваше условие будет выполняться неверно я думаю его нужно заменить &&
А так все остальное по идее должно работать но алгоритм с написанием на честную двойку!
:d cout<<"vvedite nomer masti = ";
cin>>m;
cout<<"vvedite nomer karti = "; cin>>k;
if ((m<1) || (m>4) || (k<6) || (k>14)) {cout<<"NEPRAVILNII VVOD, VVEDITE ZANOVO\n"; goto d;}
лучше использовать цикл While или Until например
While((m<1) || (m>4) || (k<6) || (k>14))
{
cout<<"Введите номер карты и масть= "; cin>>k, cin>>m;;
} else cout<<"неправельный ввод введите заного";
В операторе выбора свич синтаксическая ощибка
switch(k)
{case 6:cout<<"Shesterka "; break;
после : если используете больше одного оператора необходимо их заключать в {}
Также не мешало вам повторить логические операции, так как символ ||
Истина истина 1
Истина ложь 1
Ложь истина 1
Ложь ложь 0
То есть Ваше условие будет выполняться неверно я думаю его нужно заменить &&
А так все остальное по идее должно работать но алгоритм с написанием на честную двойку!
Юрий Сказка
Незнаю о чем ты говоришь, но после совета apprico у меня все стало работать. Так что там больше нет никаких ошибок. Ну спасибо и на этом.
Юрий Сказка
По поводу логических операций у меня всё правильно. Если истинно это высказывание, то мы вводим все заново. Т.е если введённые значения не попадают к нам в промежуток, то мы задаем заново значение переменных. А когда истинна дизъюнкция? Тогда, когда хотя бы один эл-т истинен. Оператор break можно использовать без {} (даже в самоучителе так написано). Ну ,а насчет ошибок я уже сказал. Просто не туда поставил : , не больше.
Похожие вопросы
- программирование C++. Помогите найти ошибку
- Помогите найти ошибку в программе. C++
- c++ помогите найти ошибку
- c# где ошибка в коде
- Не могу найти ошибку c++
- Помогите найти ошибку Delphi легкая программка
- Код c++ выдает ошибку
- Помогите пожалуйста найти ошибку, с++
- Помогите найти ошибку в коде
- Помогите найти ошибку в задачи,Паскаль...