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

Проверка строки на наличии букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ "Напишите и продемонстрируйте" - что от меня хотят? http://www.cyberforum.ru/cpp-beginners/thread13696.html
Всех приветствую. Мне выдано задание, посвящённое работе со строками: Напишите функции и продемонстрируйте их работу: int strlen(char*); void strcpy (char * out, char * in); void strcat (char *...
C++ exeшник не запускает консоль привет! у меня такая проблема возникла - при запуске программы через cmd.exe все нормально работает. когда я просто кликаю на свой exeшник - выдается стандартное окошко винды о том, что возникла... http://www.cyberforum.ru/cpp-beginners/thread13691.html
Построчное чтение из файла C++
Помогите пожалуйста, не могу доделать программу, точнее я её сделала но не так как бы мне хотелось. Вот код программы(прога рабочая) #include <stdio.h> #include <string.h> #include <stdlib.h>...
C++ <iostream.h> и <math.h>
Вопрос такого плана: прописываю дериктивы 1. #include <iosteram.h> - все функции работают или такое #include <iosteram> using namespace std; - все функции работают 2. #include...
C++ Скажите в чем ошибся! http://www.cyberforum.ru/cpp-beginners/thread13647.html
Друзья, спасайте, не могу понять в чем здесь у меня ошибка! Вроде синткасически все написано правильно, логически... ну не уверен... Выскакивает ошибка на этапе выполнения! Если у когото ошибка на...
C++ Text -> File.txt -> Console Привет народ, пишу курсовую, 2ю неделю меня подкидывет от того что вся литература которую читаю не оказывает влияния на требуемый результат для достижения которого осталось ток с файлом розобраться... подробнее

Показать сообщение отдельно
КПИшник
0 / 0 / 0
Регистрация: 10.10.2008
Сообщений: 8

Проверка строки на наличии букв - C++

10.10.2008, 19:16. Просмотров 2246. Ответов 4
Метки (Все метки)

Вообщем задача состоит в том, что мне нада сделать структуру паспорта, вести имя, фамилию и.т.д., это я сделал, но вот появилась проблема...как мне проверить при вводе даты(datagod,datames,dataden) нет ли в ней букв. Для примера что бы не было вот такого "20д03". Я бы хотел при вводе либо сделать так что бы ни какие кнопки кроме цыфр не работали, но я так не умею. Или подскажите как сделать проверку на правильность ввода.
Вот сам код
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
struct pasport 
{
    char imya[100];
    char fam[100];
    int datagod;
    int datames;
    int dataden;
    char vidal[100];
};
 
void main()
{
    int kolichestvo;
    int i;
    printf("vedite koli4estvo pasportov ");
    scanf("%d", &kolichestvo);
    if (kolichestvo<=0) 
    {
        while (kolichestvo<=0)
        {
        printf("vi veli kolichestvo <= 0\n");
        printf("vedite koli4estvo pasportov ewe raz\n");
        scanf("%d", &kolichestvo);
        }
    }
      pasport list[30];
      for (i=1;i<=kolichestvo;i++)
      {
          std::cout<<"\n imya: ";
          std::cin>>list[i].imya;
          std::cout<<"\n fam: ";
          std::cin>>list[i].fam;
          std::cout<<"\n god: ";
          std::cin>>list[i].datagod;
          if ((list[i].datagod>=2010)||(list[i].datagod<=0))
          {
            while ((list[i].datagod>=2010)||(list[i].datagod<=0))
              {
                printf("vedite opyat ");
                std::cin>>list[i].datagod;
              } 
          } 
          std::cout<<"\n mesyac: ";
          std::cin>>list[i].datames;
          if ((list[i].datames>=13)||(list[i].datames<=0))
          {
              while ((list[i].datames>=13)||(list[i].datames<=0))
              {
                printf("vedite opyat ");
                std::cin>>list[i].datames;
              }
          }
          std::cout<<"\n den: ";
          std::cin>>list[i].dataden;
          if ((list[i].dataden>=31)||(list[i].dataden<=0))
          {
              while ((list[i].dataden>31)||(list[i].dataden<=0))
              {
                printf("vedite opyat ");
                std::cin>>list[i].dataden;
              }
          }
          std::cout<<"\n vidal: ";
          std::cin>>list[i].vidal;
      }
  putchar(218);
  for (int i=1;i<=70;i++)
    putchar(196);
  putchar(191);
  printf("\n");
  putchar(179);
  printf("imya\t\t     ");
  putchar(179);
  printf("familiya\t\t  ");
   putchar(179);
  printf("god\t\t    ");
  putchar(179);
  printf("vidal     ");
  putchar(179);
  printf("\n");
  putchar(179);
  for (int i=1;i<=20;i++)
    putchar(196);
  putchar(179);
  for (int i=1;i<=20;i++)
    putchar(196);
  putchar(179);
  for (int i=1;i<=17;i++)
    putchar(196);
  putchar(179);
  for (int i=1;i<=10;i++)
    putchar(196);
  putchar(179);
  printf("\n");
      for (i=1;i<=kolichestvo;i++)
      {
            std::cout<<"|"<< list[i].imya<<"\t\t\     |"<<list[i].fam<<"\t\t\  |"<<list[i].datagod<<"."<<list[i].datames<<"."<<list[i].dataden<<"\t    |"<<list[i].vidal<<"    |\n";
            putchar(179);
            for (int i=1;i<=70;i++)
                putchar(196);
            putchar(179);
            printf("\n");
      }
        getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru