Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Ограничение на ввод чисел и проверка чисел - C++

19.05.2015, 17:23. Просмотров 364. Ответов 6
Метки нет (Все метки)

решить квадратное уравнение. Сделала задачу, а преподаватель сказал, что это слишком легко и усложнила задачу, т.е. теперь нужна проверка чисел и ограничение на ввод, помогите,пожалуйста, нужно через цикл

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
#pragma hdrstop
#pragma argsused
 
#include <stdio.h>
#include <math.h>
 
int main()
{
double a,b,c,x1,x2,d;
printf("BBEDITE 4EPE3 PROBEL a,b,c\n");
scanf("%lf%lf%lf",&a,&b,&c);
 
d=b*b-4*a*c;
if(d>=0)
if(d
{
x1=(b-sqrt(d))/(2*a);
x2=(b+sqrt(d))/(2*a);
printf("x1=%lf x2=%lf\n",x1,x2);
}
else
printf("KOPHEI HET\n");
getchar();
getchar();
getchar();
return 0;
}[CPP]
[/CPP]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2015, 17:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ограничение на ввод чисел и проверка чисел (C++):

Ввод массива чисел и проверка - C++
Проблема проста до безобразия: надо ввести числа в массив int и на ходу проверить являются ли они числами. На данный момент использую...

Ввод чисел и проверка их делимости - C++
Программа осуществляет ввод чисел и проверяет их делимость на 2 и 3. Сообщение о том, что введенное число делится на 2 или 3 или...

Ввод и проверка при вводе чисел в диалогах - C++
Никаких проблем не возникает при вводе десятичных чисел. А вот с шестнадцатиричными как быть? Есть ли изящное решение?

Проверка правильности ввода. Запретить ввод чисел - C++
Здравствуйте форумчане! Хочу сделать в коде проверку типа: если вводить, где положено string -числа, то выходит сообщение &lt;Not...

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

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

6
XZentus
201 / 199 / 41
Регистрация: 06.10.2013
Сообщений: 552
19.05.2015, 17:27 #2
Цитата Сообщение от volan4ik_4ik Посмотреть сообщение
проверка чисел
Какая? Я не помню из математики ограничения на параметры квадратного уравнения...
Проверить только что a != 0?

Цитата Сообщение от volan4ik_4ik Посмотреть сообщение
ограничение на ввод
Что именно ограничить надо?

Цитата Сообщение от volan4ik_4ik Посмотреть сообщение
нужно через цикл
?! возможность посчитать 20 разных вариантов?

Строки 24-26 - зачем так много?
0
volan4ik_4ik
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 6
19.05.2015, 17:32  [ТС] #3
я,если честно,вообще понятия не имею, все что она сказала,я написала,она сказала,что перед 13 нужно поставить if и делать, я не понимаю сама
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 702
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
19.05.2015, 17:36 #4
volan4ik_4ik, да еще и формула расчета неверная. Насколько я помню правильно так
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{-b \pm \sqrt{D}}{2a}
0
volan4ik_4ik
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 6
19.05.2015, 17:37  [ТС] #5
Все правильно вы помните,у меня так же
0
Renji
2118 / 1477 / 348
Регистрация: 05.06.2014
Сообщений: 4,306
19.05.2015, 17:40 #6
Хм, почему тема про плюсы, а код опять на чистом C? В любом случае, вот вам проверка чисел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cin.exceptions ( std::istream::failbit | std::istream::badbit );
while(true)
{
    try
    {
        double a,b,c;
        cin>>a>>b>>c;
        cout<<a<<" "<<b<<" "<<c<<endl;
        break;
    }
    catch(const std::istream::failure&)
    {
        cin.clear();
        cout<<"криво числа ввел. Давай еще разок"<<endl;
    }
}
0
XZentus
201 / 199 / 41
Регистрация: 06.10.2013
Сообщений: 552
19.05.2015, 17:43 #7
Да нет, у вас не так. До кучи ещё 15 строка лишняя.

В общем, насчет повторения вычислений - заключайте почти всё тело main в цикл do{}while(), в конце спросите у пользователя - надо ли ещё что-нибудь посчитать. Про проверку a - обычный if
C++
1
2
3
4
if(abs(a) < 0.0000001){
    /*пользователь - нехороший человек, ругаемся*/;
    continue; //это с учетом, что цикл уже есть, иначе надо либо еще раз попросить ввести a и заново проверять, либо return 1;
}
0
19.05.2015, 17:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2015, 17:43
Привет! Вот еще темы с ответами:

Ограничение на ввод символов (разрешить ввод только цифр) - C++
Всем доброго времени суток! Я начал изучать С++ и у меня возник такой вопрос: Как ограничить ввод символов (разрешить ввод только...

Написать программу С++ сложение трех чисел, как сделать ограничение? - C++
Напишите программу, которая запрашивает у пользователя три числа (типа float) с ограничениями . Затем.... программу написала, но вот...

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

Ввод чисел - C++
Вводить с клавиатуры числа до тех пор, пока не будет нажата клавиша &lt;&lt;Esc&gt;&gt;. На экран вывести количество вводимых чисел.(С++)


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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