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

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

Войти
Регистрация
Восстановить пароль
 
TheVlad
5 / 5 / 1
Регистрация: 24.10.2012
Сообщений: 102
#1

Определить, является ли последовательность корректной записью даты - C++

12.01.2013, 16:37. Просмотров 442. Ответов 7
Метки нет (Все метки)

С клавиатуры задается последовательность символов. Написать программу, которая проверяет, является ли эта последовательность корректной записью даты (датой считаем запись, где первым указанное число, после - месяц, а потом год (4 или 2 цифры), причем разделителями могут быть символы «/», «.» И «-»).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 16:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить, является ли последовательность корректной записью даты (C++):

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

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

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

Определить, является ли текст десятичной записью числа, кратного 5 - C++
Задан текст,состоящий из букв и цифр. Определить удовлетворяет ли он следующему свойству: текст является десятичной записью числа, ...

Определить, является ли текст десятичной записью числа, кратного 5 - C++
Задан текст,состоящий из букв и цифр.Определить удовлетворяет ли он следующему свойству:текст является десятичной записью числа,кратного 5....

Определить, является ли текст десятичной записью числа, кратного 9 - C++
Является ли текст записью десятичного числа,кратного 9 В заданный непустой текст входят только цифры и буквы. Определить. ...

7
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
12.01.2013, 19:38 #2
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    int chislo,mes,god;
    string s;
    cin>>s;
    int c=0;
    for(int a=0;a!=s.size();a++)
    {
        if((a!=3 || a!=5) && int(s[a])<47 && int(s[a])>58)
            c=1;
    }
    if(c==0 && ((s[2]=='/' && s[5]=='/') || (s[2]=='.' && s[5]=='.') || (s[2]=='-' && s[5]=='-')))
    {
        chislo=int(s[0]-'0')*10+int(s[1]-'0');
        mes=int(s[3]-'0')*10+int(s[4]-'0');
        if(s.size()>8)
            god=int(s[6]-'0')*1000+int(s[7]-'0')*100+int(s[8]-'0')*10+int(s[9]-'0');
        else
            god=int(s[6]-'0')*10+int(s[7]-'0')+2000;
        if(chislo<32 && mes<13)
            cout<<"Everything is correct"<<'\n';
        else
            c=1;
    }
    if(c==1)
        cout<<"Error"<<'\n';
    return 0;
}
Код немного кривой.Программа не учитывает максимальное количество дней в месяце.
0
TheVlad
5 / 5 / 1
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 16:45  [ТС] #3
ап, нужен вариант с использованием структур...
0
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
14.01.2013, 21:51 #4
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
#include <iostream>
#include <string>
 
using namespace std;
struct date
{
    int chislo,mes,god;
    string s;
};
 
int main()
{
    date data;
    cin>>data.s;
    int c=0;
    for(int a=0;a!=data.s.size();a++)
    {
        if((a!=3 || a!=5) && int(data.s[a])<47 && int(data.s[a])>58)
            c=1;
    }
    if(c==0 && ((data.s[2]=='/' && data.s[5]=='/') || (data.s[2]=='.' && data.s[5]=='.') || (data.s[2]=='-' && data.s[5]=='-')))
    {
        data.chislo=int(data.s[0]-'0')*10+int(data.s[1]-'0');
        data.mes=int(data.s[3]-'0')*10+int(data.s[4]-'0');
        if(data.s.size()>8)
           data.god=int(data.s[6]-'0')*1000+int(data.s[7]-'0')*100+int(data.s[8]-'0')*10+int(data.s[9]-'0');
        else
            data.god=int(data.s[6]-'0')*10+int(data.s[7]-'0')+2000;
        if(data.chislo<32 && data.mes<13)
            cout<<"Everything is correct"<<'\n';
        else
            c=1;
    }
    if(c==1)
        cout<<"Error"<<'\n';
    return 0;
}

Нажимаем спасибо, не стесняемся
2
TheVlad
5 / 5 / 1
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 22:51  [ТС] #5
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
if((a!=3 || a!=5) && int(data.s[a])<47 && int(data.s[a])>58) c=1;
можеш объяснить эту строку?? =)

Добавлено через 7 минут
откуда цифры 3, 5, 47, 58
0
soon
2545 / 1310 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
14.01.2013, 23:04 #6
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
C++
1
2
if(data.chislo<32 && data.mes<13)
    cout<<"Everything is correct"<<'\n';
1
TheVlad
5 / 5 / 1
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 23:11  [ТС] #7
Цитата Сообщение от soon Посмотреть сообщение
я там так написал...
C++
1
2
3
4
5
if(data.chislo>=32 || data.mes>=13)
            c=1;
 
         else
            cout<<"Everything is correct"<<'\n';
но надо еще добавить проверку на месяц, ато 31 день вовсе не в каждом месяце =)
0
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
15.01.2013, 00:06 #8
Цитата Сообщение от TheVlad Посмотреть сообщение
можеш объяснить эту строку?? =)
откуда цифры 3, 5, 47, 58
3,5 - это чтобы не считало разделителей.
У каждого символа свой код.(string - это по сути массив char-ов) И вот так получилось что цифры 0-9 имеют код 47-58.
data.s[a] - это какой-то символ.
Написав int(data.s[a]) мы получили код этого символа.
И условием проверили является он цифрой или нет.
1
15.01.2013, 00:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2013, 00:06
Привет! Вот еще темы с ответами:

Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе - C++
Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующейся. не пойму как сделать,...

ООП. Определить, является ли текст десятичной записью числа, кратного 4 - C++
Задан текст, в который входят буквы и цифры. Определить, является ли текст десятичной записью числа, кратного 4. Как написать эту...

Определить, является ли заданный текст двоичной записью числа, кратного 6 - C++
Вот моя программа,она вроде работает верно,но есть цисла ,для которых она считает не верно или вообще не считает,помогите...

Определить, является ли текст шестнадцатеричной записью числа, кратного 5 (Pascal -> C++) - C++
Помогите пожалуйста перевести из Pascal в С++ Задан текст, в который входят только цифры и буквы. Определить, является ли этот текст...


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

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

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