Esercizio 2
Titolo: Determinare il numero complessivo di secondi
corrispondente ad un tempo dato in ore, minuti e secondi.
L’esercizio non specifica
chiaramente se l’ora da cui partire debba essere inserito da tastiera dall’utente
o generato casualmente e scelgo di farlo inserire dall’utente.
Variabili:
Mi serviranno una
variabile per le ore una per i minuti e una per i secondi da per l’input da
tastiera e mi servirà una variabile che conterà i secondi totali da stampare in
output.
ore,minuti,secondi : di
tipo int ; variabili di input;
seconditot : di tipo float
; variabile di output;
Strumenti:
moltiplicazione;
somma;
Codifica in linguaggio C;
#include
<stdlib.h>
#include
<stdio.h>
int main()
{
int ore,minuti,secondi;
float seconditot;
printf("Inserisci l'orario da
trasformare in secondi. Verra' chiesto di inserire perima l'ora poi i minuti e
infine i secondi \n\n");
printf("Inserisci
l'ora \n");
scanf("%d", &ore);
do // apro una iterazione per controllare che venga inserito un
numero minore di 60
{
printf("\nInserisci
i minuti \n");
scanf("%d", &minuti);
if (minuti>=60)
{
printf("\nI
minuti devono essere minori o uguali a 60\n");
}
}
while (minuti>=60); //
se maggiore di 60 ripete l'operazione di inserimento
do // apro una iterazione per controllare che venga inserito un
numero minore di 60
{
printf("\nInserisci
i secondi \n");
scanf("%d", &secondi);
if (secondi>=60)
{
printf("\nI
secondi devono essere minori di 60\n");
}
}
while (secondi>=60); //
se maggiore di 60 ripete l'operazione di inserimento
seconditot=secondi; //
i secondi saranno questi
seconditot=seconditot+(minuti*60)+(ore*3600); //i minuti totali per 60
+ le ore per 3600 mi danno i secondi e li sommo alla varibile seconditot
printf("\n%d ore : %d minuti :
%d secondi corrispondono a %.0f secondi \n", ore,minuti,secondi,seconditot);
return 0;
}
Test di verifica:
inserisco le ore : 5 ;
inserisco i minuti : 24 ;
inserisco i secondi : 13 ;
seconditot= 13 ;
seconditot=13+(24*60)+(5*3600)=13+1440+18000=
19453 ;
comunico a video che 5 ore
: 24 minuti : 13 secondi sono 19453 secondi.
Diagramma di Fusso:
Nessun commento:
Posta un commento