Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 2 mesi fa

Programmazione c++?

Sto provando questo programma da più giorni ma non riesco a farlo qualcuno può mandarmelo per favore gliene sarei molto grato 

Prendere in input due orari, ciascuno formato da distinti valori numerici: ore minuti e secondi. 

occorre verificare che l'ora del secondo orario sia maggiore o uguale dell'ora della prima: se ciò non accade occorre forzare l'utente a ripetere interamente l'input dei due orari. 

Occorre verificare che l'ora sia compresa tra 0 e 23 (l'ora 24 non esiste!), I minuti e di secondi tra 0 e 59: se ciò non accade occorre forzare l'utente a ripetere l'input del singolo valore, non l'intero input dei due orari. 

A questo punto, quando l'utente avrà inserito due orari validi, con l'ora del secondo orario maggiore o uguale dell'ora del primo orario, occorrerà stampare in ordine crescente tutti gli orari intermedi(ma anche gli orari di input) 

Esempio 1 

1 orario=12 23 32 

2 orario=11 16 41 

Input rifiutato= ripetere l'input  

Esempio 2 

1 orario= 11 50 12 

2 orario= 11 50 16 

Output= 11 50 12 

11 50 13 11 50 14 

11 50 15 11 50 16 

Esempio 3 

1 orario= 12 59 58 

2 orario= 13 00 02 

Output= 12 59 58 

12 59 59 13 00 00

13 00 01 13 00 02

1 risposta

Classificazione
  • Tip
    Lv 4
    2 mesi fa

    Se hai bisogno di spegiazioni, chiedi pure.

    #include <iostream>

    using namespace std;

    struct orario{

     int ora;

     int minuto;

     int secondo;

    };

    int main()

    {orario ora[2],inter,max;

      int i;

      bool maggiore = true;

       for(i = 0;i < 2; i++)

       {

         do

         {

          cout<<"Inserisci i secondi dell'orario n "<<i+1<<endl;

          cin>> ora[i].secondo;

      }while(ora[i].secondo < 0 || ora[i].secondo > 59);

     do

         {

          cout<<"Inserisci i minuti dell'orario n "<<i+1<<endl;

          cin>> ora[i].minuto;

      }while(ora[i].minuto < 0 || ora[i].minuto > 59);

     do

         {

          cout<<"Inserisci l'ora dell'orario n "<<i+1<<endl;

          cin>> ora[i].ora;

      }while(ora[i].ora < 0 || ora[i].ora > 23);

       }

       if(ora[1].ora < ora[0].ora)

         maggiore = false;

         else

          if(ora[1].ora == ora[0].ora)

        if(ora[1].minuto < ora[0].minuto)

               maggiore = false;

               else

                 if(ora[1].minuto == ora[0].minuto)

                 if(ora[1].secondo < ora[0].secondo)

                       maggiore = false;

        if(maggiore)

          {max = ora[1];

           inter = ora[0];

        }

          else

          {max = ora[0];

          inter = ora[1];

        }

        do

        {

          cout<<inter.ora<<":"<<inter.minuto<<":"<<inter.secondo<<endl;

          if(inter.secondo < 59)

          {

           inter.secondo++;

       }

       else

       if(inter.minuto < 59)

       {

        inter.minuto++;

        inter.secondo = 0;

       }

       else

         if(inter.ora < 23)

         {

           inter.ora++;

           inter.minuto = 0;

           inter.secondo = 0;

         }

         else

         {

          inter.ora = 0;

          inter.minuto = 0;

          inter.secondo = 0;

         }

     }while((inter.ora != max.ora) || (inter.secondo != max.secondo ) || (inter.minuto != max.minuto));

     system("PAUSE");

     return 0;

    }

Altre domande? Fai una domanda e ottieni le risposte che cerchi.