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

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

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

Нужно сделать проверку на вводимое значение - C++

19.08.2013, 18:15. Просмотров 488. Ответов 4
Метки нет (Все метки)

Помогите,сделать,проверку на вводимое значение.
1.нужно чтобы числа от букв отличал
2.и нужно чтобы десятичные преобразовывал в целые(т.е. брал от десятичного,только его целую часть,функция atol)
то что в комментариях это мои были попытки,пробовал по разному,вечно ошибки выдает,или идет не так как нужно.
Заранее спасибо за помощь.

P.S.:Заранее извиняюсь если я не совсем правильно что-то написал.

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
53
54
55
56
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
main()
{   int i,j,n,m,s,max=0,k=0,a[3][3],b[3];
char c[2];
   // printf("Please,enter the size of massive\n");
    //scanf("%d",&n);
 
    printf("Please,enter the elements of massive A \n (Achtung!!! A<100)\n");
    for(i=0;i<3;i++)
     for (j=0;j<3;j++)
       {
         printf("\n a[%d][%d]= ",i,j);
         scanf("%d",&a[i][j]);}
        /* c[0]= '\0';
         if(a[i][j]>='0' && a[i][j]<='9')
                       { s=0;
                         s=s+a[i][j];
                         c[k]=s;
                        //s = atol(c);
                         a[i][j]=s;
                         printf(" %d", a[i][j]);
                         }
          else {c[0] = '\0';
               printf("vvedite cifru\n");
               }
        }*/
 
    for(i=0;i<3;i++)
      {
        printf("\n");
        for(j=0;j<3;j++)
        printf(" %d ", a[i][j]);
      }
 
printf("\n");
printf("\n");
 
  for(i=0;i<3;i++)
         for (j=0;j<3;j++)
         { if(i+j>=3)
               { s=0;
                 s=s+a[i][j];
                 b[k]=s;
                 printf(" %d", b[k]);
                 k++;
                }
        }
        printf("\n");
       for(i=0;i<3;i++)
         if(max<b[i]) max=b[i];
 printf("max=%d",max);
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 18:15     Нужно сделать проверку на вводимое значение
Посмотрите здесь:
C++ Нужно ли каждый раз делать проверку при вызове new
C++ Как сделать проверку на букву?
Как сделать проверку на ввод? С++ C++
C++ Как сделать проверку на ввод в классе?
Как сделать проверку логина из файла? C++
C++ Как в С сделать проверку на вхождение в диапазон?
C++ Сделать проверку уникальности ввода данных
Как сделать проверку на ввод символов? C++
Помогите сделать проверку на ввод отрицательных чисел C++
Вернуть двумерный массив из функции и сделать проверку C++
C++ Заполнить одномерный динамический массив и сделать проверку
C++ Списки. Удалить b элемент из k позиции, сделать проверку

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.08.2013, 18:52     Нужно сделать проверку на вводимое значение #2
Цитата Сообщение от Schorsche Посмотреть сообщение
1.нужно чтобы числа от букв отличал
C++
1
2
3
4
5
6
7
8
9
10
11
cout << "Enter the number: " << endl;
int i;
while (!(cin >> i) || cin.peek() != '\n')
{
    cin.clear();
    while (cin.get() != '\n');
    cout << "Error! Retry input\n";
    cout << "Enter the number: " << endl;
}
    
return 0;
Добавлено через 23 минуты
Цитата Сообщение от Schorsche Посмотреть сообщение
и нужно чтобы десятичные преобразовывал в целые
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() 
{
    cout << "Enter the number: " << endl;
    double d;
    while (!(cin >> d) || cin.peek() != '\n')
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Error! Retry input\n";
        cout << "Enter the number: " << endl;
    }
    int i = d;
    cout << i << endl;
    
    return 0;
}
Schorsche
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 6
19.08.2013, 19:05  [ТС]     Нужно сделать проверку на вводимое значение #3
Спасибо огромное)))))
Genn55
366 / 213 / 41
Регистрация: 26.12.2012
Сообщений: 707
20.08.2013, 02:30     Нужно сделать проверку на вводимое значение #4
Какая разница


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() 
{
    cout << "Enter the number: " << endl;
    double d;
    while (!(cin >> d) || cin.peek() != '\n')
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Error! Retry input\n";
        cout << "Enter the number: " << endl;
    }
    int i = d;
    cout << i << endl;
    
    return 0;
}
и
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Enter the number: " << endl;
    double d;
    cin >>d;
    int i = d;
    cout << i << endl;
 
    return 0;
}
Результат один и тот же.
Миниатюры
Нужно сделать проверку на вводимое значение   Нужно сделать проверку на вводимое значение  
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.08.2013, 09:47     Нужно сделать проверку на вводимое значение #5
Цитата Сообщение от Genn55 Посмотреть сообщение
Какая разница
Цитата Сообщение от Genn55 Посмотреть сообщение
Результат один и тот же.
Если числа вводить.
Цитата Сообщение от Schorsche Посмотреть сообщение
нужно чтобы числа от букв отличал
Попробуйте, в вашем коде, вместо числа букву ввести.
Миниатюры
Нужно сделать проверку на вводимое значение  
Yandex
Объявления
20.08.2013, 09:47     Нужно сделать проверку на вводимое значение
Ответ Создать тему
Опции темы

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