ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.01.2010, 00:24
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Сообщение от Double2
Такая вот проблема. Совсем недавно, буквально вчера, начал учить С++. Решил написать небольшую прогу. Собственно вот код.
Код:
#include <iostream>
int main()
{
int a, b, c;
m: std::cout << "Введите первое число \n";
std::cin >> a;
std::cout << "Введите второе число \n";
std::cin >> b;
c=a+b;
if(a!=0 and b!=0)
{
std::cout << "Сумма a и b =";
std::cout << c;
}
else
{
std::cout << "Какое-то из чисел равно нулю! Введите другие числа!";
goto m;
}
return 0;
}
При запуске, ругается на 12 строку(это If) и выдает ошибку
"untitled1.cpp": E2377 If statement missing ) in function main() at line 10
Я читал, что это из-за того, что компилятор не определяет закрывающую скобку, но она на месте! Если что, юзаю Borland C++BuilderX
Код:
do
{
int a, b, c;
std::cout << "Введите первое число \n";
std::cin >> a;
std::cout << "Введите второе число \n";
std::cin >> b;
c=a+b;
if(a!=0 && b!=0)
{
std::cout << "Сумма a и b =";
std::cout << c;
}
else
{
std::cout << "Какое-то из чисел равно нулю! Введите другие числа!";
}
}while(a==0 && b==0)
попробуй так)
|
|
|

10.01.2010, 01:09
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Smapt
Код:
do
{
int a, b, c;
std::cout << "Введите первое число \n";
std::cin >> a;
std::cout << "Введите второе число \n";
std::cin >> b;
c=a+b;
if(a!=0 && b!=0)
{
std::cout << "Сумма a и b =";
std::cout << c;
}
else
{
std::cout << "Какое-то из чисел равно нулю! Введите другие числа!";
}
}while(a==0 && b==0)
попробуй так)
Объявления переменных a, b, c вынести за пределы цикла. И в условии цикла заменить && на ||. Не путайте людей, изучающих С++ второй день ))
|
|
|

10.01.2010, 01:16
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
Сообщение от herfleisch
Объявления переменных a, b, c вынести за пределы цикла. И в условии цикла заменить && на ||. Не путайте людей, изучающих С++ второй день ))
Ну я примерно написал... а вообще ты прав конечно)
|
|
|

09.01.2010, 23:22
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
Оу... Спасибо 
|
|
|

09.01.2010, 23:26
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Double2
Оу... Спасибо 
Если уж начал учить C/C++, отвыкай от меток и операторов goto. Они - признак плохого тона. Онотоле таке не одобряе )))
|
|
|

09.01.2010, 23:28
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
 А чем можно заменить goto?
|
|
|

09.01.2010, 23:31
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
Если не ошибаюсь, то округляется тогда, когда после точки идет число больше 5. Извиняюсь, если не прав
|
|
|

09.01.2010, 23:34
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Double2
Если не ошибаюсь, то округляется тогда, когда после точки идет число больше 5. Извиняюсь, если не прав
Не прав )
Сообщение от Double2
 А чем можно заменить goto?
В Вашем случае я бы заменил на цикл while() {}
|
|
|

09.01.2010, 23:39
|
|
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме: 30549
Репутация:
2
|
|
А почему while? Вроде бы это повтор кода пока условие исполняется... Не будет ли этот цикл бесконечным?
|
|
|

09.01.2010, 23:41
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Сообщение от Double2
А почему while? Вроде бы это повтор кода пока условие исполняется... Не будет ли этот цикл бесконечным?
Ну что-то вроде "Выполнять какой-нибудь кусок кода, пока числа не будут введены верно".Хотя, признаться честно, я твой код смотрел по диагонали )))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|