• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++] Wczytywanie dat

0 głosów
90 wizyt
pytanie zadane 10 września w C i C++ przez mm Początkujący (250 p.)

Cześć!

W jaki sposób można zaimplementować takie coś:

Napisz program, który wczytuje ze standardowego wejścia datę w formacie DD-MM-RRRR  

Tak ma wyglądać to wejście:

Przykład:

07-04-2018
08-04-2018
09-04-2018
10-04-2018
11-04-2018
12-04-2018
13-04-2018
40-04-2018
12-15-2018
29-02-2018

Oczywiście mogą być inne daty.

Dzięki za odpowiedź

komentarz 10 września przez tkz Mądrala (6,580 p.)
std::cin>>dzien>>miesiac>>rok;

std::cout<<dzien<<"-"<<miesiac<<"-"<<rok;
komentarz 10 września przez mm Początkujący (250 p.)
Ok, tylko ja mam wczytać kilka dat, a taką metodą będę mogła wczytać tylko jedną.
2
komentarz 10 września przez tkz Mądrala (6,580 p.)
#include <iostream>
#include <string>

int main()
{
  std::string d,m,r;
    while(std::cin>>d>>m>>r)
        std::cout<<d<<"-"<<m<<"-"<<r<<"\n";
}

komentarz 10 września przez mm Początkujący (250 p.)
Nie o to mi chodziło, ja chciałabym wczytać daty bezpośrednio przez cin>>, a nie tak, że dopiero po tym jak wczytam te trzy wartości.

Chce od razu wczytać ciąg tych dat
komentarz 10 września przez tkz Mądrala (6,580 p.)
std::string data; std::cin>>data; //01-01-2019 i robisz co chcesz

2 odpowiedzi

+3 głosów
odpowiedź 10 września przez mokrowski VIP (111,180 p.)
#include <iostream>
#include <iomanip>
#include <ctime>

int main() {
    std::tm myTime;
    std::cin >> std::get_time(&myTime, "%d-%m-%Y");
    std::cout << "Date: " << std::put_time(&myTime, "%c") << '\n';
}

 

komentarz 10 września przez maselo93 Użytkownik (820 p.)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>

using namespace std;

int main()
{

	fstream plik;
	plik.open("daty.txt", ios::in); 
	if (plik.good())
	{
		string napis;
		cout << "Zawartosc pliku:" << endl;
		while (!plik.eof())
		{
			getline(plik, napis);
			cout << napis << endl;

		}
		plik.close();
	}
	else 
		cout << "Nie udalo otworzyc sie pliku!" << endl;
}

 rozumiem, że masz te daty w formacie .txt w notatniku

komentarz 11 września przez j23 VIP (106,380 p.)

@maselo93: Jak Twój post ma się do odpowiedzi mokrowskiego?

Popraw pętlę, bo teraz (zawsze) będziesz miał dodatkową pustą linię na końcu:

while (std::getline(plik, napis)) {
    std::cout << napis << '\n';
}

 

 

0 głosów
odpowiedź 10 września przez Inn Obywatel (1,120 p.)
Cześć

Możesz zrobić zmienna pomocniczą znak i wczytywać dane w ten sposób :
cin >> dzien >> znak >> miesiac >> znak >> rok

Podobne pytania

0 głosów
3 odpowiedzi 87 wizyt
pytanie zadane 30 kwietnia w C i C++ przez seba Dyskutant (8,730 p.)
0 głosów
1 odpowiedź 75 wizyt
pytanie zadane 20 marca w SQL, bazy danych przez kacper1445 Gaduła (3,130 p.)
0 głosów
0 odpowiedzi 73 wizyt
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

66,495 zapytań

113,266 odpowiedzi

239,870 komentarzy

46,633 pasjonatów

Przeglądających: 261
Pasjonatów: 5 Gości: 256

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...