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

Не могу найти ошибку в простейшей программе - C++

Восстановить пароль Регистрация
 
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
07.04.2012, 23:58     Не могу найти ошибку в простейшей программе #1
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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
#include <cstdlib>
#include <ctime>
 
int sqr( int x );
 
int main()
{
   int userAnswer;
   int request;
 
   cout << "Программа проверки знания таблицы квадратов от 10 до 30" << endl;
   srand( time(NULL) );
   while( true )
   {
      request = rand() % 21 + 10;
      cout << request << "^2 = ";
      cin >> userAnswer;
      if ( request < 0 )
         break;
      else if ( sqr(request) == sqr(userAnswer) )
         cout << "Правильно!" << endl;
      else
      {
         cout << sqr( request ) << " != " << sqr(userAnswer) << endl;
         cout << "Не правильно. Правильный ответ: " << sqr( request ) << endl;
      }
   }
   cout << "Программа успешно завершена";
 
   return 0;
}
 
int sqr( int x )
{
   return x*x;
}
Давно не писал под консоль с cin/cout и у меня в переменной userAnswer вечно какой-то мусор что ли
Миниатюры
Не могу найти ошибку в простейшей программе  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 23:58     Не могу найти ошибку в простейшей программе
Посмотрите здесь:

C++ не могу найти ошибку в программе
C++ Не могу найти ошибку в программе рисующей линию из символов
C++ Не могу найти ошибку в программе
C++ не могу ошибку найти в программе
C++ Не могу найти ошибку в программе
Не могу найти ошибку в программе C++
C++ Не могу найти ошибку в программе
Не могу найти ошибку в программе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.04.2012, 00:36     Не могу найти ошибку в простейшей программе #2
C++
1
 else if ( sqr(request) == sqr(userAnswer) )
sqr(userAnswer) - вот тут возведение ответа в квадрат кажется лишним. нужно просто с введенным ответом сравнивать:
C++
1
2
3
4
else if ( sqr(request) == userAnswer )
{
  cout << "Правильно!" << endl;
}
В строке 30 тоже ненужное возведение ответа в квадрат.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
08.04.2012, 00:45  [ТС]     Не могу найти ошибку в простейшей программе #3
Большое спасибо! ну я дал А строка 30 являлась отладочной, просто отладчик, который в линукс, отказывался считывать данные с клавиатуры. А дальше, если присмотреться, можно найти ещё пару ошибок
Yandex
Объявления
08.04.2012, 00:45     Не могу найти ошибку в простейшей программе
Ответ Создать тему
Опции темы

Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru