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

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

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

Проверить на тип вводимых данных - C++

12.07.2009, 12:18. Просмотров 2302. Ответов 9
Метки нет (Все метки)

Опыта в программировании у меня нету,всего пару дней поэтому может вопрос и глупый, тем не менее:
Вобщем простенькая функция с использованием условий и циклов осуществляет перевод оцеки из 100 бальной системы в 5 бальную, нужно вводить в 100 бальной форме. По окончанию перевода предлагается еще произвести перевод. Подскажите, как проверить при вводе оценок в 100 бальной системе на тип вводимых данных. Например, сейчас если вводится буквы а не цифры, выполнение функции выпадает в бесконечный цикл. Для второго цикла попроще, а для первого никак не допру...
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
#include <iostream.h> 
 
void main(void) 
 
{ 
   int grade;
   char letter;
   int counter;
   
   do
   {
       cout << "\nEnter your grade from 0 till 100 and press enter:" ;
       cin >> grade;
   
   if (grade<60 & grade>0)
       cout << "Your grade is 2" << endl;
   else if (grade<75 & grade>=60)
       cout << "Your grade is 3" << endl;
   else if (grade<90 & grade>=75 )
       cout << "Your grade is 4" << endl;
   else if (grade<=100 & grade>=90)
       cout << "Your grade is 5" << endl;
   else if (grade>100)
       cout << "Error!!! Overshoot. Enter from 0 till 100" << endl;
       
   do
   {
       cout << "\nOne more time? Choice Y or N and press enter: ";
       cin >> letter;
       if ((letter=='Y')||(letter=='y'))
           counter=1;
       else if ((letter=='N')||(letter=='n'))
       {
           counter=0;
           cout << "\nsee you!" << endl;
       }
       else
       {
           counter=2;
           cout << "wrong symbol";
       }
   }
   while (counter==2);   
   }
   while (counter==1);
       
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2009, 12:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить на тип вводимых данных (C++):

Как узнать тип вводимых данных с помощью перегрузки функции? - C++
Такое условие задачки: Пользователь вводит данные, а ему программа говорит, какой тип этих данных. Нужно сделать это с помощью перегрузки...

Проверить, можно ли построить треугольник из отрезков с длинами x, y, z. Предусмотреть проверку вводимых данных на отрицательность - C++
Проверить, можно ли построить треугольник из отрезков с длинами x, y, z. Предусмотреть проверку вводимых данных на отрицательность.

Как проверить какой тип данных вводится? - C++
Доброго времени суток. Подскажите пожалуйста!С клавиатуры вводится два целых числа.Как после ввода проверить,что было введено именно...

Вывести на экран код и тип вводимых символов - C++
С клавиатуры вводится произвольная последовательность символов. Для каждого символа выведите на экран следующую информацию: Код...

Проверить четность вводимых цифр - C++
Помогите пожалуйста написать программу для выполнения следующих действий. При вводе в строку цифр нечетной цифры выдается сообщение «Это...

Enum и типы данных. Как задать тип значений явно, и какой тип будет при переполнении? - C++
Пытаюсь сделать функцию с передачей нескольких параметров,используя битовые операции. В качестве параметров думаю использовать не...

9
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,341
Завершенные тесты: 1
12.07.2009, 13:15 #2
я не понял....надо что бы просто сосчитать из 100балльной в 5?
0
Nesnakomez
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
12.07.2009, 14:58  [ТС] #4
Цитата Сообщение от @lex Посмотреть сообщение
я не понял....надо что бы просто сосчитать из 100балльной в 5?
ну не посчитать а проще: перевести
0
firefox1913
27 / 27 / 2
Регистрация: 01.07.2009
Сообщений: 58
12.07.2009, 15:58 #5
попробуи так
C++
1
2
3
4
5
6
7
#include<typeinfo>
int grade;
 cin>>grade
if(typeid(int)==typeid(grade))
{
....
}
0
Nesnakomez
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
12.07.2009, 16:11  [ТС] #6
firefox1913, не-а не помогает, думается нужно организовывать строку ввода как массив и делать проверку массива через указанные выше ссылки, хотя я еще пока не знаю как это делать , будем учиться
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,341
Завершенные тесты: 1
12.07.2009, 16:37 #7
Цитата Сообщение от Nesnakomez Посмотреть сообщение
ну не посчитать а проще: перевести
и только?
#include"stdafx.h"
#include<iostream>
#include"windows.h"
#include"stdlib.h"
usingnamespace std;
void main()
{
int sto;//
int five;//
sto=0;//
cout << "Enter number:";
cin >> sto;
five=sto/20;
// =100/20
printf("\nResult:%d\n", five);


system(
"pause");
}
0
Nesnakomez
0 / 0 / 0
Регистрация: 11.07.2009
Сообщений: 21
12.07.2009, 16:50  [ТС] #8
@lex, Ты наверное не внимательно прочитал то, что в первом посте написано
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,341
Завершенные тесты: 1
12.07.2009, 17:07 #9
задавай вопрос конкретней....как говорит Vourhey это вопрос для телепатов)))
я не ничего не понял из твоего вопроса......
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
12.07.2009, 18:20 #10
Nesnakomez, проверку можно и так сделать (где каменты).
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
52
#include <iostream.h>
#include <stdlib.h>
 
int main(void)  
{ 
    char letter, str[64];
    int grade, counter;
   
    do
    {
        cout << "\nEnter your grade from 0 till 100 and press enter:";
        cin >> str;
        
        grade = atoi(str);      //конвертация из символьного массива (строки) в целое число
        while(grade == 0) {     //если строка не содержала чисел, grade равен 0
            cout << "\nWarning: enter digits only!\nEnter:";
            cin >> str;         //вводим еще раз
            grade = atoi(str);
        }
 
        if (grade<60 && grade>0)
            cout << "Your grade is 2" << endl;
        else if (grade<75 && grade>=60)
            cout << "Your grade is 3" << endl;
        else if (grade<90 && grade>=75 )
            cout << "Your grade is 4" << endl;
        else if (grade<=100 && grade>=90)
            cout << "Your grade is 5" << endl;
        else if (grade>100)
            cout << "Error!!! Overshoot. Enter from 0 till 100" << endl;
       
        do
        {
            cout << "\nOne more time? Choice Y or N and press enter: ";
            cin >> letter;
            if ((letter=='Y')||(letter=='y'))
                counter=1;
            else if ((letter=='N')||(letter=='n'))
            {
                counter=0;
                cout << "\nsee you!" << endl;
            }
            else
            {
                counter=2;
                cout << "wrong symbol";
            }
        }
        while (counter==2);   
    }
    while (counter==1);    
}
0
12.07.2009, 18:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2009, 18:20
Привет! Вот еще темы с ответами:

Проверка вводимых данных - C++
Вот часть программы int main(void) { int vop; setlocale(LC_ALL, &quot;Russian&quot;); int mas1, mas2, mas3, outmas; int ke1, ke2,...

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

Проверка вводимых данных - C++
#include &lt;iostream&gt; using namespace std; int main() { double a, b, c; cout &lt;&lt; &quot;Enter the first side of the...

Проверка вводимых данных - C++
Доброго времени суток, форумчане. Я столкнулся с такой проблемой: при введении еденицы измерения, если та инициализирована ранее то все...


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

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

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