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
- TipLv 42 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;
}