datums "opslaan" in c++ ?!?

Status
Niet open voor verdere reacties.

Kakedorus

Nieuwe gebruiker
Lid geworden
26 nov 2008
Berichten
2
Beste mensen,


Hier mijn vraag:

Schrijf een programma dat een datum in verschillende formaten kan weer geven en lezen. De formaten zijn : 03-12-1967, 03 maart ’67, 1967-maart-03, maart 03 1967.




Het invoeren van de datum lukt nog wel, maar hoe kan ik ervoor zorgen dat het programma 01 als januari, 02 als februari, 03 als maart enz enz ziet ??


Ik hoor het graag van de experts, alvast bedankt :thumb:
 
Er zijn enkele mogelijkheden hiervoor. M.b.v. een switch of if testen na gaan welke maand het moet zijn.

PHP:
char* getMonth(int m) {
      switch(m) {
          case 1:
               return JANUARI;
          ....
}

of:

PHP:
char* month[] = { "januari", ... } 

... // code

// dan als je de char* januari nodig hebt: 
char* charMont = month[m-1]; // met m is bijvoorbeeld 01, belangrijk om na te gaan dat m niet uit de array gaat lopen
 
datumssss

Oke, bzub bedankt........

Dit is mijn programma tot nu toe:
---------------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;

int main ()
{
string dag, maand, jaar;

// char* month[] = { "januari", "februari", "maart" }
// char* charMont = month[m-1]

cout << " Voer de datum in gescheiden door / " << endl;
cin >> dag;
cin.ignore(); // negeer '/' karakter
cin >> maand;
cin.ignore(); // negeer '/' karakter
cin >> jaar;
cin.get();


cout << "De datum is: " << dag << " " << maand << " " << jaar << endl;
cout << "De datum is: " << maand in letters << dag << jaar << endl;



cin.get();


}

---------------------------------------------------------------------------------------------------------------------------------

Nu wil ik de maand als 01 invoeren en als januari weergeven. De maand in letters moet op de plek van: maand in letters . Het is me nog niet helemaal duidelijk hoe ik dit doe met die char*. De variabele maand wordt dus 1.... en dan...??


Wie kan me nog ff op weg helpen ???
 
Laatst bewerkt:
Oke, bzub bedankt........
Nu wil ik de maand als 01 invoeren en als januari weergeven. De maand in letters moet op de plek van: maand in letters . Het is me nog niet helemaal duidelijk hoe ik dit doe met die char*. De variabele maand wordt dus 1.... en dan...??


Wie kan me nog ff op weg helpen ???

sorry voor de late reactie, ben wat druk bezet..
aanpassingen in uw code. Vraag maar als ge iets niet snapt.

atoi() -> vormt een char* om naar een int.
scanf()

PHP:
#include <iostream>   
#include <string>
using namespace std; 

int main ()
{
        char* month[] = { "januari", "februari", "maart" };
        char dag[3], maand[3], jaar[5];
        int intMonth;

        cout << " Voer de datum in gescheiden door / " << endl;
        fscanf(stdin, "%2s/%2s/%4s", dag, maand, jaar); // lees een null terminated string in van 2, 2 en 4 karakters. '/' worden overgeslagen

        intMonth = atoi(maand) - 1; // array begint vanaf 0 te tellen
        
        cout << "De datum is: " << dag << " " << maand << " " << jaar << endl;
        cout << "De datum is: " << month[intMonth] << " "<< dag << " "<< jaar << endl;
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan