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

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

Войти
Регистрация
Восстановить пароль
 
Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
#1

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

06.06.2013, 22:12. Просмотров 774. Ответов 12
Метки нет (Все метки)

Дата вводится строкой нужно извлечь день месяц и год в int переменные.
два варианта передачи строки: 1) "12.05.2012" 2) в строке месяц буквами "15 may 2011".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2013, 22:12     Дата вводится строкой нужно извлечь день месяц и год в int переменные
Посмотрите здесь:

Дата, год, месяц, день C++
Дата в формате <день>.<месяц>.<год> C++
Создать класс Date – дата, содержащая поля: день, месяц, год. C++
C++ Создайте структуру Дата с элементами День, Месяц, Год.
C++ . Введите месяц и день своего рождения. Выясните, какой ближайший год будет для вас счастливым. Год называется счастливым, если остаток от деления сум
C++ Поместить сегодняшний день, месяц и год в соответствующие переменные
C++ Тип "дата" (год, месяц, день)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
06.06.2013, 23:05     Дата вводится строкой нужно извлечь день месяц и год в int переменные #2
1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int day = 0, month = 0, year = 0;
    do
    {
        std::cin.clear();
        std::cin.sync();
        ((std::cin >> day).ignore(1) >> month).ignore(1) >> year;
    }
     while(!std::cin);
    std::cout << day << '.' << month << '.' << year << "\n\n";
    return 0;
}
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
06.06.2013, 23:26     Дата вводится строкой нужно извлечь день месяц и год в int переменные #3
Цитата Сообщение от cyberbrain1000 Посмотреть сообщение
1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int day = 0, month = 0, year = 0;
    do
    {
        std::cin.clear();
        std::cin.sync();
        ((std::cin >> day).ignore(1) >> month).ignore(1) >> year;
    }
     while(!std::cin);
    std::cout << day << '.' << month << '.' << year << "\n\n";
    return 0;
}
А это STL?
cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
06.06.2013, 23:27     Дата вводится строкой нужно извлечь день месяц и год в int переменные #4
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
 
int main()
{
    int day = 0, year = 0;
    std::string smonth;
    std::vector<std::string> vec{"january", "february", "march", "april", "may",
        "june", "july", "august", "september", "october", "november", "december"};
    std::vector<std::string>::const_iterator vit;
    do
    {
        std::cin.clear();
        std::cin.sync();
        std::cin >> day >> smonth >> year;
    }
     while(!std::cin || (vit = std::find(vec.begin(), vec.end(), smonth)) == vec.end());
    std::cout << day << '.' << vit - vec.begin() + 1 << '.' << year << "\n\n";
    return 0;
}
Пaтрик
396 / 389 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
06.06.2013, 23:28     Дата вводится строкой нужно извлечь день месяц и год в int переменные #5
Цитата Сообщение от okman Посмотреть сообщение
А это STL?
STL - Standard Template Library. Здесь нет ни одного шаблона.
cyberbrain1000
23 / 23 / 3
Регистрация: 15.04.2013
Сообщений: 62
06.06.2013, 23:28     Дата вводится строкой нужно извлечь день месяц и год в int переменные #6
Цитата Сообщение от okman Посмотреть сообщение
А это STL?
нет, не stl
MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
06.06.2013, 23:29     Дата вводится строкой нужно извлечь день месяц и год в int переменные #7
Цитата Сообщение от okman Посмотреть сообщение
А это STL?
Из вики:
Библиотека стандартных шаблонов (STL) (англ. Standard Template Library) — набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++.
Тут работа идет лишь с потоками ввода/вывода, STL тут и не пахнет.

Добавлено через 35 секунд

Не по теме:

Как понакинулись то отвечать

Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
07.06.2013, 09:02  [ТС]     Дата вводится строкой нужно извлечь день месяц и год в int переменные #8
Спасибо, а можно без std:: я такого еще не проходил!
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
07.06.2013, 09:39     Дата вводится строкой нужно извлечь день месяц и год в int переменные #9
Цитата Сообщение от Прозрачный Посмотреть сообщение
Спасибо, а можно без std:: я такого еще не проходил!
напиши в хэдере, сразу после #include
C++
1
using namespace std;
и все, можешь std не писать.
MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
07.06.2013, 17:21     Дата вводится строкой нужно извлечь день месяц и год в int переменные #10
Прозрачный, без стандартного пространства имен т.е. без cout, cin и т.д.? Боюсь, что нет, нельзя.
Дело в том, что cout, например, на деле имеет полное имя как std::cout. Все, что до :: - это пространство имен, далее сокращенное имя. Я пишу полное т.к. не доверяю компилятору и еще иногда работаю с проектами, где скидывание всех функций в одну корзину чревато неработоспособностью проекта.
Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
07.06.2013, 22:23  [ТС]     Дата вводится строкой нужно извлечь день месяц и год в int переменные #11
Крутовато для меня, такого еще не проходили (где такое можно почитать), я учюсь по "Дейтел Х, Дейтел П. - Как програмировать на С ". А какой функцией можно перевести строчные "11" в число 11?
MrGluck
Ворчун
Эксперт CЭксперт С++
6675 / 3856 / 510
Регистрация: 29.11.2010
Сообщений: 10,215
07.06.2013, 22:25     Дата вводится строкой нужно извлечь день месяц и год в int переменные #12
Прозрачный, "11" - '0'
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 12:05     Дата вводится строкой нужно извлечь день месяц и год в int переменные
Еще ссылки по теме:

C++ Из класса "Дата" с полями день, месяц, год создать класс "Время" с дополнительными полями час, минута, секунда
Класс "Дата": день, месяц, год C++
C++ Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели
C++ Распарсить строку и записать дату рождения в три целочисленные переменные - отдельно день, месяц и год
Определить класс «дата» с компонентными данными: число, месяц, год C++

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

Или воспользуйтесь поиском по форуму:
Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
08.06.2013, 12:05  [ТС]     Дата вводится строкой нужно извлечь день месяц и год в int переменные #13
Вот что мне нужно было
C++
1
2
3
4
5
6
7
#include <stdio.h>
#include <stdlib.h>
void main (){
  int i;
  char str[256] = "12345"; //исходное число в виде строки
  i = atoi(str);    //результат
}
Yandex
Объявления
08.06.2013, 12:05     Дата вводится строкой нужно извлечь день месяц и год в int переменные
Ответ Создать тему
Опции темы

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