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

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

Войти
Регистрация
Восстановить пароль
 
Toen
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 50
#1

ошибка вывода - C++

27.11.2013, 22:06. Просмотров 186. Ответов 1
Метки нет (Все метки)

Всем привет. Есть пару проблем в коде: При вводе числа меньше 7 считает выдает ответ. дальше если опять введем число меньше семи ответ уже неправильный, как сделать так что бы после проверки корректности ввода он выдавал только текст ошибки без ответа.Вроде бы все просто но не получается.)
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
#include <cmath>
#include <iostream>
using namespace std;
 
 
template <class T> //объявление функции проверки ввода данных
bool SafeInput (const char * msg,T &val)
{
    bool bOk = false;
    cout<<msg;
    if(!(cin>>val) || cin.get() != '\n')
    { cin.clear();
    }
    else
        bOk = true;
    cin.sync();//Очистка буффера
    return bOk;
}
 
int main()
{
setlocale(LC_ALL,"RUS");  
 double res,l=0,x,n,d;
 res=0;
 const double pi=3.14;
    while(true)
    {
        if(!SafeInput("Введите N : ",n))
        cout<<"Ошибка! Введите  число!"<<endl;
        else
        {
 
        if (n<=7) 
        { 
        for(int i=1;i<=n;++i)
        l=l+i;
        res=res+cos(l*pi/180)/l*l;
        }
else
{
if(!SafeInput("Введите X : ",x))
        cout<<"Ошибка! Введите  число!"<<endl;
        else
res=1/(x+1); 
}
        }
        cout <<"Ответ: "<< res << "\n";
    }
        system("pause");
return 0; 
}
Миниатюры
ошибка вывода  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 22:06     ошибка вывода
Посмотрите здесь:

Циклический сдвиг, ошибка вывода. C++
Ошибка вывода или проги? C++
Ошибка вывода букв C++
C++ Ошибка в программе для вывода меню
C++ Массив. Ошибка вывода
C++ Ошибка вывода данных в файл
C++ Ошибка вывода строки на экран
C++ Ошибка вывода текста на экран
Ошибка вывода на консоль C++
Ошибка вывода 2мерного массива C++
Ошибка вывода C++
C++ Ошибка вывода односвязного списка на экран

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
28.11.2013, 19:47     ошибка вывода #2
Цитата Сообщение от Toen Посмотреть сообщение
cin.clear();
Хорошо, но мало! В начало добавьте
C++
1
#include <limits>
а после указанной строки
C++
1
cin.ignore(numeric_limits<streamsize>::max(), '\n');
Yandex
Объявления
28.11.2013, 19:47     ошибка вывода
Ответ Создать тему
Опции темы

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