Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
1

Неправильно вводится дата

05.01.2012, 10:46. Просмотров 2170. Ответов 17
Метки нет (Все метки)

Вот задача:
Создайте структуру типа date, содержащую три поля типа int: месяц, день и год. Попросите пользователя ввести день, месяц и год в формате 31/12/2002, сохраните введенное значение в структурной переменной, а за¬тем извлеките данные из этой переменной и выведите их на экран в том же формате, в каком они вводились.
Вот код который я написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
struct Date
{
   int d;
   int m;
   int g;
};
int main()
{
    Date date;
    cout << "Введите дату к примеру 31/02/2012" << endl;
    cin >> date.d; 
    cin >> date.m;
    cin >> date.g;
    cout << date.d <<"/" << date.m << "/" << date.g << endl;
 
system("pause");
return 0;
}
Вот результат ее работы ссылка на скрин:
Неправильно вводится дата


В чем причина
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 10:46
Ответы с готовыми решениями:

Неправильно вводится русский текст
Товарищи программисты:)Не выводится на экран. Хоть пишу ДА,с НЕТ такая же...

Дата вводится строкой нужно извлечь день месяц и год в int переменные
Дата вводится строкой нужно извлечь день месяц и год в int переменные. два...

На вход подается дата. Нужно вывести на экран, какая дата будет через 29 дней 12 часов и 44 минуты
На входе заданы дата и время в формате «год, месяц, день, часы, минуты» (все...

Проверьте задачку по циклам, неправильно работает. [думаю что неправильно]
Спасибо что решили зайти. Задание выгладит так: http://*******/PW95p А...

Кто дописать может проверку на дату чтобы дата если дата будет введена больше чем 12.30.2020 просило ввести заново
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;conio.h&gt; #include &lt;cstring&gt;...

17
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 10:53 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
typedef struct
{
    int day;
    int month;
    int year;
} Date;
 
int main(void)
{
    Date d;
    scanf("%d/%d/%d", &d.day, &d.month, &d.year);
    printf("%d/%d/%d", d.day, d.month, d.year);
    return 0;
}
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:00  [ТС] 3
Цитата Сообщение от soon Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
typedef struct
{
    int day;
    int month;
    int year;
} Date;
 
int main(void)
{
    Date d;
    scanf("%d/%d/%d", &d.day, &d.month, &d.year);
    printf("%d/%d/%d", d.day, d.month, d.year);
    return 0;
}
а с помощью cin>> нельзя?
0
res
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
05.01.2012, 11:04 4
Sylar9, можно, и рекомендуется, если ты "Cиплюсплюсешник"
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:09  [ТС] 5
Цитата Сообщение от res Посмотреть сообщение
Sylar9, можно, и рекомендуется, если ты "Cиплюсплюсешник"
а как это можно сделать на С++
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:10 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main () 
{
    int d, m, y;
    std::cin >> d;
    std::cin.ignore(2, '/');
    std::cin >> m;
    std::cin.ignore(2, '/');
    std::cin >> y;
    std::cout << d << '/' << m  << '/' << y << std::endl;
    return 0;
}
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:14  [ТС] 7
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main () 
{
    int d, m, y;
    std::cin >> d;
    std::cin.ignore(2, '/');
    std::cin >> m;
    std::cin.ignore(2, '/');
    std::cin >> y;
    std::cout << d << '/' << m  << '/' << y << std::endl;
    return 0;
}
этот оператор ignore я так понял будет игнорировать /?
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:20 8
Это функция.
istream::ignore
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:22  [ТС] 9
Цитата Сообщение от soon Посмотреть сообщение
Это функция.
istream::ignore
а что тогда двойка обозначает?
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:25 10
Там все написано
Цитата Сообщение от cplusplus.com
The extraction ends when n characters have been extracted and discarded or when the character delim is found, whichever comes first.
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:34  [ТС] 11
Цитата Сообщение от soon Посмотреть сообщение
Там все написано
а как сделать что бы ноли выводились
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:41 12
Цитата Сообщение от Sylar9 Посмотреть сообщение
а как сделать что бы ноли выводились
Либо вводить через строку и разбиавть ее.
Либо поставить условие на вывод данных. Если меньше 10, то выводить лидирующий ноль.
0
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:43  [ТС] 13
Цитата Сообщение от soon Посмотреть сообщение
Либо вводить через строку и разбиавть ее.
Либо поставить условие на вывод данных. Если меньше 10, то выводить лидирующий ноль.
это как можно сделать "Если меньше 10, то выводить лидирующий ноль"
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 11:45 14
Смеетесь что-ли?
C++
1
2
3
if(a < 10)
    std::cout << '0';
std::cout << a;
1
Sylar9
135 / 56 / 13
Регистрация: 04.09.2011
Сообщений: 1,952
Записей в блоге: 1
05.01.2012, 11:46  [ТС] 15
Цитата Сообщение от soon Посмотреть сообщение
Смеетесь что-ли?
C++
1
2
3
if(a < 10)
    std::cout << '0';
std::cout << a;
а га спасибо!!!!
0
Lars
1 / 1 / 0
Регистрация: 16.09.2014
Сообщений: 36
20.12.2014, 19:11 16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
struct date
{
    int Monat;
    int Tag;
    int Jahr;
};
int main()
{
    
    date sp1,sp2,sp3;
    char dummy;
    cin>>sp1.Tag>>dummy>>sp2.Monat>>dummy>>sp3.Jahr;
    cout<<sp1.Tag<<dummy<<sp2.Monat<<dummy<<sp3.Jahr;
    return 0;
}
0
Элан
0 / 0 / 0
Регистрация: 14.02.2015
Сообщений: 1
14.02.2015, 10:33 17
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
#include <iostream>
#include <conio.h>
using namespace std;
 
struct date
{
    int day;
    int month;
    int year;
};
 
int main()
{
    date d1;
    char ch;
    setlocale(LC_ALL, "Rus");
    cout << "Введите дату в формате день/месяц/год: ";
    cin >> d1.day >> ch >> d1.month >> ch >> d1.year;
    if (d1.day < 10)
        if (d1.month < 10)
            { cout << "Вы ввели дату 0" << d1.day << "/0" << d1.month << "/" << d1.year; }
        else
            { cout << "Вы ввели дату 0" << d1.day << "/" << d1.month << "/" << d1.year; }
    else
    {
        if (d1.month < 10)
            cout << "Вы ввели дату " << d1.day << "/0" << d1.month << "/" << d1.year;
 
        else
        {
            cout << "Вы ввели дату " << d1.day << "/" << d1.month << "/" << d1.year;
        }
    }
    _getch();
    return 0;
}
0
6o6ep4ik
-9 / 0 / 1
Регистрация: 23.10.2015
Сообщений: 175
18.11.2015, 16:09 18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
struct date {
    int dd;
    int mm;
    int yy;
};
int main()
{
    date data;
    cout << "Enter day DD/MM/YY #: " << endl;
    cin >> data.dd >> data.mm >> data.yy;
    cout << data.dd << "/" << data.mm << "/" << data.yy << endl;
    system("pause");
    return 0;
}
0
18.11.2015, 16:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2015, 16:09

Вводится матрица...
Вводится матрица А построчно. Выберите из матрицы А подматрицу В, заданной...

Вводится последовательность
Вводится последовательность из N вещественных чисел. Определить является ли...

Не вводится массив
После выполнения inputMtx() массив остается с значениями 0 в каждом элементе. А...


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

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

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