C++ gestione data

di il
4 risposte

C++ gestione data

Buongiorno al gruppo e ringrazio per avermi accolto.
ho un problema su un eservizio:
Il main chiede in input una data come stringa di 10 caratteri (gg/mm/aaaa) fin quando la data non è corretta. La correttezza della data viene stabilita dalla funzione 'CHECK_DATA' che fa i seguenti controlli:
1) nelle posizioni 2 e 5 ci devono essere gli slash 2)nelle altre posizioni ci devono essere cifre 3)trasformati in variabili numeriche i caratteri del giorno, mese e anno, il mese non può essere maggiore di 12 e il giorno maggiore di 31. c++
grazie anticipatamente

4 Risposte

  • Re: C++ gestione data

    Ciao come da regolamento qui non si risolvono esercizi scolastici.
    Posta il codice che hai fatto, i problemi che incontri ed eventualmente qualcuno potrà aiutarti se vorrà farlo
  • Re: C++ gestione data

    #include <iostream>
    #include <cstring>
    using namespace std;
    int k;
    bool giorno(string data)
    {
    bool f=false;
    int g=0;
    g=g+data[0]*10;
    g=g+data[1];
    if(g>31){
    f=true;

    }
    return f;
    }
    bool mese(string data)
    {
    bool f=false;
    int m=0;
    m=m+data[3]*10;
    m=m+data[4];
    if(m>12){
    f=true;
    }
    return f;
    }



    bool checkdata(string data)
    {

    bool f=false;
    int g=0,m=0,a=0;
    if(data[2]!='/'&&data[5]!='/')
    {
    f=true;
    }

    if (data[0,1,3,4,6,7,8,9]<47 && data[0,1,3,4,6,7,8,9]>58)
    {
    f=true;
    }

    return f;
    }
    int main()
    {

    string data;
    do
    {

    cout<<"insersci data (gg/mm/aaaa)"<<endl;
    cin>>data;

    if (checkdata(data)==false)
    {
    cout<<"la data e corretta"<<endl;
    }
    else
    {
    cout<<"la data e sbagliata"<<endl;
    }


    }while((checkdata(data)==true));
    return 0;
    }


    non funziona
  • Re: C++ gestione data

    Leggi il regolamento!
    Usa i tag code per postare il codice e spiega con qualche frase in italiano cosa non va, cosa succede, cosa gai provato, cosa non funziona... e SOPRATTUTTO che vuol dire questo per te

    if (data[0,1,3,4,6,7,8,9]<47 && data[0,1,3,4,6,7,8,9]>58)

    ??

    Siamo sicuri che è linguaggio C?
  • Re: C++ gestione data

    Usa sempre i tag CODE per inserire del codice nei post.
    Ho compilato il programma e fatto dei test con i seguenti pattern:
Devi accedere o registrarti per scrivere nel forum
4 risposte