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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
#1

Защита от дурака - C++

19.02.2013, 06:28. Просмотров 3047. Ответов 28
Метки нет (Все метки)

Вот только начал изучать С++ помогите составить защиту от дурака пожалуйста, вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main ()  {
    setlocale(0, "rus");
    double A;
    double Z;
    double U;
 
cout<<"Введите значение числа A\n";
cin>>A;
 
cout<<"Введите значение числа Z\n";
cin>>Z;
 
cout<<"U=";
 
cout<<(A*Z*Z)+(((A/2)*(Z*Z))/13.61)-(A*Z)   <<"\n";
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 06:28     Защита от дурака
Посмотрите здесь:

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

Защита от дурака - C++
Как в этот код добавить защиту от ввода символов? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;cmath&gt; ...

Защита от дурака - C++
нужна защита от дурака пытался реализовать с помощью 2 разных способов не вышло. #include &lt;iostream&gt; #include &lt;string&gt; #include...

Защита от дурака - C++
Здравствуйте уважаемые форумчане! я к вам, и вот по какому делу) Вот есть у меня задача: Даны два целых числа А и В. Вывести в порядке...

Защита от дурака - C++
Вот кусок кода: do { cout &lt;&lt; &quot;Выберите вариант решения:&quot; &lt;&lt; endl; cout &lt;&lt; &quot; - первй вариант.&quot; &lt;&lt; endl; cout &lt;&lt; &quot; -...

Защита от дурака - C++
Помогите, пожалуйста. Программа должна печатать только цифры (а не буквы и прочие символы, знак минус может стоять в самом начале) и при...

защита от дурака как сделать? - C++
void DobvZapis() { int i; int j; char komanda; j = kol; do { system(&quot;cls&quot;); cout &lt;&lt; &quot;Введите книгу&quot; &lt;&lt;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
19.02.2013, 06:35     Защита от дурака #2
что от чего защищать надо?
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 06:38  [ТС]     Защита от дурака #3
Чтобы принимал только числа, а от букв и цифр с буквами защиту сделать
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.02.2013, 06:45     Защита от дурака #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define ignorecin std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail())
#define clearcin std::cin.clear(); while(std::cin.get()!='\n');
do
{
    cout<<"Введите значение числа A\n";
    if(!(cin>>A))
    {
        ignorecin;
        cout<<"некорректное значение\n";
    }
    else break;
}
while(!(cin>>A));
clearcin;
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 07:00  [ТС]     Защита от дурака #5
Спасибо, но работает только при вводе просто букв, если же написать комбинацию фф2 или же 7нн то он ее примет

Добавлено через 3 минуты
У меня уже было что то на подобии и я не знал как исправить ошибку
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 07:01     Защита от дурака #6
Нужно сделать проверку типа вводимого ... пользуйся typeid
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 07:03  [ТС]     Защита от дурака #7
Как им пользоваться?
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.02.2013, 07:05     Защита от дурака #8
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main(void)
{
    setlocale(0,"");
    int A;
    int count=0;
    do
    {
        count=0;
        string temp;
        cout<<"введите значение:\n";
        cin>>temp;
        
        for(int i=0; i<temp.size(); i++)
            if(isdigit(temp[i])==0) count++;
        if(count==0) break;
        else cout<<"некорректное значение\n";
    }
    while(count>0);
 
cout<<"вы ввели правильно!\n\n";
}
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 07:14     Защита от дурака #9
C++
1
2
3
4
5
6
7
8
9
10
11
 #include <iostream.h>
    #include <iomanip.h>
 
float a=0;
int main()
{
   if (typeid(int) == typeid(a))
   {
    cout<<"true";
   }
}
true не будет напечатано так как переменная a - float...
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.02.2013, 07:20     Защита от дурака #10
Цитата Сообщение от UVEN Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
 #include <iostream.h>
    #include <iomanip.h>
 
float a=0;
int main()
{
   if (typeid(int) == typeid(a))
   {
    cout<<"true";
   }
}
true не будет напечатано так как переменная a - float...
сравниваем int и float =)
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 07:25  [ТС]     Защита от дурака #11
Блин ребят что то я вообще не въехал(

Добавлено через 2 минуты
Мне в double нужно
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 07:33     Защита от дурака #12
Совсем уж не то посоветовал =)... бывает с просонья
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 07:36  [ТС]     Защита от дурака #13
Цитата Сообщение от Tiva Посмотреть сообщение
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main(void)
{
    setlocale(0,"");
    int A;
    int count=0;
    do
    {
        count=0;
        string temp;
        cout<<"введите значение:\n";
        cin>>temp;
        
        for(int i=0; i<temp.size(); i++)
            if(isdigit(temp[i])==0) count++;
        if(count==0) break;
        else cout<<"некорректное значение\n";
    }
    while(count>0);
 
cout<<"вы ввели правильно!\n\n";
}
Он ошибку выдает
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 07:40     Защита от дурака #14
Какая именно ошибка ?.. Должно работать =)
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 07:42  [ТС]     Защита от дурака #15
Цитата Сообщение от UVEN Посмотреть сообщение
Какая именно ошибка ?.. Должно работать =)
Я вот только второй день программирую так что я не знаю как мне твой код засунуть в свой. наверно просто каряво засунул и не работает(
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 07:45     Защита от дурака #16
Это не мой код =)... Прислал тебе тот код какой-то умный человек )... Ты в проект его скопировал ?
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 08:05  [ТС]     Защита от дурака #17
Цитата Сообщение от UVEN Посмотреть сообщение
Это не мой код =)... Прислал тебе тот код какой-то умный человек )... Ты в проект его скопировал ?
Ну да щас вот еще раз попробую, а для переменной Z в моем коде можно также взять type и count или же нужны другие переменные?

Добавлено через 1 минуту
Я вот попробовал int заменить на double и программа выдает ошибку

Добавлено через 1 минуту
А нет при int тоже ошибка

Добавлено через 1 минуту
вот что я написал:
#include <iostream>
#include <cctype>
#include <string>
using namespace std;

int main () {

setlocale(0, "rus");
double A;
double x=0;
do
{
x=0;
string y;
cout<<"Введите значение числа A\n";
cin>>y;
for(int i=0; i<y.size(); i++)
if(isdigit(y[i])==0) x++;
if(x==0) break;
else cout<<"Ошибка, попробуйте снова:\n";
}
while(x>0);
cout<<"вы ввели правильно!\n\n";
double Z;

cout<<"Введите значение числа Z\n";
cin>>Z;

cout<<"U=";

cout<<(A*Z*Z)+(((A/2)*(Z*Z))/13.61)-(A*Z) <<"\n";

return 0;
}

Добавлено через 12 минут
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
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
 
int main () {
 
setlocale(0, "rus");
double A;
double x=0;
do
{
x=0;
string y;
cout<<"Введите значение числа A\n";
cin>>y;
for(int i=0; i<y.size(); i++)
if(isdigit(y[i])==0) x++;
if(x==0) break;
else cout<<"Ошибка, попробуйте снова:\n";
}
while(x>0);
cout<<"вы ввели правильно!\n\n";
double Z;
 
cout<<"Введите значение числа Z\n";
cin>>Z;
 
cout<<"U=";
 
cout<<(A*Z*Z)+(((A/2)*(Z*Z))/13.61)-(A*Z) <<"\n";
 
return 0;
}
Добавлено через 14 секунд
Не работает(
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 08:08     Защита от дурака #18
Расскажи шаг за шагом что ты делаешь =)
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 129
19.02.2013, 08:12  [ТС]     Защита от дурака #19
Вообщем начну сначала, мне нужно сделать проверку данных чтобы он принимал только числа а комбинации типа: 1аа, пп4, вцв - не принимал только числа: 11, 242 и прочие. Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main ()  {
    setlocale(0, "rus");
    double A;
    double Z;
    double U;
 
cout<<"Введите значение числа A\n";
cin>>A;
 
cout<<"Введите значение числа Z\n";
cin>>Z;
 
cout<<"U=";
 
cout<<(A*Z*Z)+(((A/2)*(Z*Z))/13.61)-(A*Z)   <<"\n";
 
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 08:17     Защита от дурака
Еще ссылки по теме:

Защита от дурака. Разбор кода - C++
всем здравствуйте. Прошу помощи. такова ситуация, есть код защиты от ввода букв и отбрасывания пробелов, но не могу разобраться, он не мой....

Защита от дурака (пустое значение в названии) - C++
Доброго вечера) Я пытаюсь сделать защиту от дурака, если конкретно - проверку при на ввод названия пустого значение, т.е. пробела или...

Защита от дурака. Ввод данных типа int с клавиатуры. - C++
Данные типа int вводятся с клавиатуры. нужно поставить защиту от дурака. Полазил на форуме нашёл программу: по аналогии пытался...

Ввод/вывод имени и пути файла, а также защита от дурака - C++
Доброго времени суток, господа. Что-то я либо некорректно формулирую запрос в google, либо просто мало чего есть на эту тему. Надо мне...

"Защита от дурака" числа с плавающей запятой - C++
Какие есть способы для защиты от ввода чисел с плавающей точкой(запятой) ?


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

Или воспользуйтесь поиском по форуму:
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
19.02.2013, 08:17     Защита от дурака #20
У меня программа работает, код читает без ошибки ).. Какие ошибки выдает у тебя ?..
Yandex
Объявления
19.02.2013, 08:17     Защита от дурака
Ответ Создать тему
Опции темы

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