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

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

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

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

19.08.2013, 18:15. Просмотров 495. Ответов 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++):

Нужно реализовать проверку элементов в строке - C++
Задание такое: вводится строка, которая состоит из идентификаторов и цифр. В свою очередь идентификаторы состоят из букв, а цифры из...

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

Как сделать проверку на букву? - C++
Как сделать проверку чтобы можно было вводить только цифры? #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; using...

Как сделать проверку на ввод? С++ - C++
y=2*(tgx+sinx/2); tgx стремится к бесконечности когда cos(x) стремится к нулю надо сделать проверку на это, и вывести сообщения об...

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

Как сделать проверку логина из файла? - C++
Как сделать проверку логина из файла? Ну допустим у меня есть такое: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 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
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
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
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.08.2013, 09:47 #5
Цитата Сообщение от Genn55 Посмотреть сообщение
Какая разница
Цитата Сообщение от Genn55 Посмотреть сообщение
Результат один и тот же.
Если числа вводить.
Цитата Сообщение от Schorsche Посмотреть сообщение
нужно чтобы числа от букв отличал
Попробуйте, в вашем коде, вместо числа букву ввести.
Миниатюры
Нужно сделать проверку на вводимое значение  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2013, 09:47
Привет! Вот еще темы с ответами:

Как сделать проверку на ввод в классе? - C++
В методе класса не получается сделать ошибку при вводе числа меньшего нуля. Записано все верно, но именно в классе это не работает. ...

Сделать проверку уникальности ввода данных - C++
Как сделать так, чтобы в структуре была проверка уникальности ввода данных? То есть чтобы когда я вводил следующие данные в это поле и если...

Как сделать проверку на ввод символов? - C++
есть строка, в которую нужно вводить числовое значение, а пользователь вводит буквы. при вводе букв должна выводиться такая строка...

Помогите сделать проверку на ввод отрицательных чисел - C++
#include &quot;iostream&quot; #include &quot;conio.h&quot; using namespace std; int main() { setlocale(LC_ALL,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.08.2013, 09:47
Ответ Создать тему
Опции темы

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