domenica 9 novembre 2014

PDF VERIFICA - ESERCIZIO 2

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