HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.01.2010, 00:24
Smapt
Познающий
Регистрация: 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)
попробуй так)
 
Ответить с цитированием

  #2  
Старый 10.01.2010, 01:09
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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 вынести за пределы цикла. И в условии цикла заменить && на ||. Не путайте людей, изучающих С++ второй день ))
 
Ответить с цитированием

  #3  
Старый 10.01.2010, 01:16
Smapt
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме:
373690

Репутация: 88
По умолчанию

Цитата:
Сообщение от herfleisch  
Объявления переменных a, b, c вынести за пределы цикла. И в условии цикла заменить && на ||. Не путайте людей, изучающих С++ второй день ))

Ну я примерно написал... а вообще ты прав конечно)
 
Ответить с цитированием

  #4  
Старый 09.01.2010, 23:22
Double2
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме:
30549

Репутация: 2
Отправить сообщение для Double2 с помощью ICQ
По умолчанию

Оу... Спасибо
 
Ответить с цитированием

  #5  
Старый 09.01.2010, 23:26
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Цитата:
Сообщение от Double2  
Оу... Спасибо
Если уж начал учить C/C++, отвыкай от меток и операторов goto. Они - признак плохого тона. Онотоле таке не одобряе )))
 
Ответить с цитированием

  #6  
Старый 09.01.2010, 23:28
Double2
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме:
30549

Репутация: 2
Отправить сообщение для Double2 с помощью ICQ
По умолчанию

А чем можно заменить goto?
 
Ответить с цитированием

  #7  
Старый 09.01.2010, 23:31
Double2
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме:
30549

Репутация: 2
Отправить сообщение для Double2 с помощью ICQ
По умолчанию

Если не ошибаюсь, то округляется тогда, когда после точки идет число больше 5. Извиняюсь, если не прав
 
Ответить с цитированием

  #8  
Старый 09.01.2010, 23:34
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Цитата:
Сообщение от Double2  
Если не ошибаюсь, то округляется тогда, когда после точки идет число больше 5. Извиняюсь, если не прав
Не прав )

Цитата:
Сообщение от Double2  
А чем можно заменить goto?
В Вашем случае я бы заменил на цикл while() {}
 
Ответить с цитированием

  #9  
Старый 09.01.2010, 23:39
Double2
Новичок
Регистрация: 09.01.2010
Сообщений: 20
Провел на форуме:
30549

Репутация: 2
Отправить сообщение для Double2 с помощью ICQ
По умолчанию

А почему while? Вроде бы это повтор кода пока условие исполняется... Не будет ли этот цикл бесконечным?
 
Ответить с цитированием

  #10  
Старый 09.01.2010, 23:41
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме:
745649

Репутация: 97
Отправить сообщение для herfleisch с помощью ICQ
По умолчанию

Цитата:
Сообщение от Double2  
А почему while? Вроде бы это повтор кода пока условие исполняется... Не будет ли этот цикл бесконечным?
Ну что-то вроде "Выполнять какой-нибудь кусок кода, пока числа не будут введены верно".Хотя, признаться честно, я твой код смотрел по диагонали )))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ