School-Coding-Cpp/sfusi/formattaData.cpp

46 lines
878 B
C++

/*
Nome: Mario
Cognome: Montanari
formattaData
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#define SIZE 100+1
#define NUM_MESI 12
using namespace std;
void formattaData(char *const data);
int main(void) {
char data[SIZE];
cout << "Inserisci una data: ";
cin.getline(data, SIZE);
formattaData(data);
return 0;
}
void formattaData(char *const data) {
const char *mesi[NUM_MESI] = {"gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre"};
int gg;
int mm;
int aaaa;
sscanf(data, "%d/%d/%d", &gg, &mm, &aaaa);
if (mm < 0 || mm > NUM_MESI || mm == 0) {
cout << "Mese inserito non valido!" << endl;
return;
}
sprintf(data, "%02i %s %04i", gg, mesi[mm - 1], aaaa);
cout << "Data formattata: " << data << endl;
}