Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [C++] Esercizio

    Ciao a tutti,
    avrei bisogno di un'aiuto, ho iniziato da poco a programmare in C++.
    Qualcuno può aiutarmi con questo esercizio:

    "Scrivere un programma che legge in ingresso quattro numeri, li interpreta come due tempi espressi in minuti e secondi, e stampa la differenza tra i due tempi, espressi in secondi.

    Come devo fare?

  2. #2
    Hai iniziato da poco quindi utilizzerai i dati primitivi.

    1. Dichiari 4 variabili intere che conterrano i dati (minuti/secondi)
    2. Input da tastiera con cin
    3. sottrazione tra il primo tempo e il secondo tempo (l'algoritmo non è difficile. Fallo con carta e penna e poi riportalo nel programma)
    4. stampa del risultato con cout

  3. #3
    Io scrivo:

    #include <iostream>
    using namespace std;

    int main()

    {

    int min1,sec1,min2,sec2;

    cout<<"Inserire il primo tempo: "<<endl;
    cin>>min1>>sec1;

    cout<<"Inserire in secondo tempo: "<<endl;
    cin>>min2>>sec2;


    cout<<"Differenza: "<<(min1-min2)<<(sec1-sec2)<<endl; //QUI è sbagliato perchè dovrei esprimere tutto in secondi.

    return 0;
    }

    Come faccio ad esprimere in secondi la differenza fra i due tempi?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come faresti con carta e penna?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Lo so che devo dividere i minuti per 60 e poi sommargli i secondi.
    Ma però non so come si scrive il programma per far questo.

    L'unica cosa che mi viene in mente è scrivere:


    #include <iostream>
    using namespace std;

    int main()

    {

    int min1,sec1,min2,sec2;

    cout<<"Inserire il primo tempo: "<<endl;
    cin>>min1>>sec1;

    cout<<"Inserire in secondo tempo: "<<endl;
    cin>>min2>>sec2;

    min=min1-min2;
    sec=sec1-sec2;

    min=min/60;
    sec=sec%60;

    cout<<"Differenza: "<<(min+sec)<<endl;

    return 0;

    }

    così potrebbe andar bene?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Mursika
    Lo so che devo dividere i minuti per 60 e poi sommargli i secondi.
    Per ottenere i secondi di un minuto tu dividi?

    Cioè, se avessi 20 minuti, cosa faresti per ottenere l'equivalente in secondi?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ....devo moltiplicare.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Mursika
    ....devo moltiplicare.
    Ecco ... mi pareva ...

    Adesso traduci in codice la moltiplicazione ....
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    #include <iostream>
    using namespace std;

    int main()

    {

    int min1,sec1,min2,sec2,min,sec;

    cout<<"Inserire il primo tempo: "<<endl;
    cin>>min1>>sec1;

    cout<<"Inserire in secondo tempo: "<<endl;
    cin>>min2>>sec2;

    min=min1-min2;
    sec=sec1-sec2;

    min=min*60;
    sec=sec%60;

    cout<<"Differenza: "<<(min+sec)<<endl;

    return 0;

    }


    Pero supponendo che come 1° tempo metto 3min 45sec e come 2°tempo metto 5min 36sec la differenza viene -111 e non 111.

  10. #10
    Da che mondo e mondo i delta si fanno sottraendo al secondo dato il primo...
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.