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

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

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

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

27.11.2013, 22:06. Просмотров 197. Ответов 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++
ребят, есть код #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { ...

Ошибка вывода букв - C++
Использую код для русских букв. На первой итерацци правильно отображает русский текст, а потом почемуто путает буквы. Сначала выдает как...

Ошибка вывода на консоль - C++
В Debug выводит адрес почему-то. В release же все нормально. Почему так и как это исправить? #include &lt;iostream&gt; #include &lt;string&gt; ...

Массив. Ошибка вывода - C++
подскажите где косяк? почему то выводит двыжды отсортированный массив. #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std;...

Циклический сдвиг, ошибка вывода. - C++
Задание сдвинуть строку вправо на 1 символ. В консоле после вывода пусто (выглядит так: &quot;row has been sorted: &quot;). #include...

Ошибка вывода или проги? - C++
Собственно элементарная задача. Упорядочить по возростанию в масиве элементы в столбцах, а затем сами столбцы по первым элементам. Сначала...

Ошибка вывода строки на экран - C++
Подскажите пожалуйста в чем ошибка, задача была в том что бы создать строку которую хранит в себе пересечение двух других. Так же выслушал...

Ошибка вывода 2мерного массива - C++
int mass = { {180,15,20,12,1,0,0,0}, {18,-6,3,2,0,1,0,10}, {24,3,-6,2,0,0,1,0}, {60,12,20,-15,0,0,0,1}, ...

Ошибка вывода данных в файл - C++
Помогите найти ошибку. Есть программа, которая выводит массив f из р=53 строк. В первой колонке х - целые числа от -26 до 26, во второй...

Ошибка вывода при перемножении матриц - C++
Здравствуйте! Программирую на C++ совсем недавно, столкнулся с проблемой, при выводе матрицы. Вместо результата перемножения двух матриц (...


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

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

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