[C++] Altro esercizio
Ho un altro esercizio, questa volta durante la compilazione non escono errori, però non riesco a fargli eseguire il calcolo come voglio io.
Premessa: senza usare istruzioni di controllo di flusso (niente istruzioni condizionali e iterative, ma solo esecuzione sequenziale). Facendo uso solo di variabili tipo int e operatori +, *, -, /, %, abs().
(le cose che non possiamo usare è perchè dobbiamo ancora farle, per questo il prof. l'ha premesso).
Esercizio:
Scrivere un programma che legge in ingresso un numero intero, lo interpreta come un tempo espresso in secondi, e lo stampa in miinuti e secondi.
Io ho creato questo file sorgente:
#include
using namespace std;
main ()
{
const int s=60;
int i, j;
cout<<"tempo in secondi";
cin>>i;
cout<<"equivale a minuti";
cout< return 0;
}
Ho definito la costante secondi (s)=60, per dirgli che 60 secondi sono 1 minuto. E alla fine gli facevo fare la divisione con resto per passare dai secondi ai minuti (non si divide per 60?).
La compilazione non mi da errori, ma se provo con i valori prova dati dal prof, cioè 67 secondi equivalgono a 1min e 7sec... non torna il calcolo, cioè viene 17 alla fine...
Premessa: senza usare istruzioni di controllo di flusso (niente istruzioni condizionali e iterative, ma solo esecuzione sequenziale). Facendo uso solo di variabili tipo int e operatori +, *, -, /, %, abs().
(le cose che non possiamo usare è perchè dobbiamo ancora farle, per questo il prof. l'ha premesso).
Esercizio:
Scrivere un programma che legge in ingresso un numero intero, lo interpreta come un tempo espresso in secondi, e lo stampa in miinuti e secondi.
Io ho creato questo file sorgente:
#include
using namespace std;
main ()
{
const int s=60;
int i, j;
cout<<"tempo in secondi";
cin>>i;
cout<<"equivale a minuti";
cout< return 0;
}
Ho definito la costante secondi (s)=60, per dirgli che 60 secondi sono 1 minuto. E alla fine gli facevo fare la divisione con resto per passare dai secondi ai minuti (non si divide per 60?).
La compilazione non mi da errori, ma se provo con i valori prova dati dal prof, cioè 67 secondi equivalgono a 1min e 7sec... non torna il calcolo, cioè viene 17 alla fine...
Risposte
Non stampa 17, stampa 1 e poi 7. I risultati sono giusti ma li stampi uno attaccato all'altro, aggiungi uno spazio o un minimo di formattazione:
cout << i << "/" << s << "=" << i/s << " minuti e " << i%s << " secondi" << endl;
Grazie!!!
