Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++] Non riesco a far funzionare bene questo programma

    di sicuro c'è un errore di logica che non riesco a scovare, il compiler non mi da errori. Questo programma serve a sapere quanti giorni di luglio hanno superato i 30 gradi centigradi, io ho scritto il programma in questo modo ma ogni volta mi dice che il giorno è sempre 1 e quindi c'è un errore logico per forza.


    #include <stdafx.h>
    #include <iostream>

    using namespace std ;

    int main ()
    {
    int giorni_piu_30=0;/*mi serve a contare i giorni in cui si sono superati i 30 gradi*/
    float temperatura;/* dato input per immettere la temperatura giornaliera*/
    int giorni=1;/*mi serve per visualizzare quale giorno di luglio stò immettendo*/
    do
    {
    do
    {
    cout<<"Immettere il valore in gradi celsius della temperatura del giorno " <<giorni<< " Luglio. \n";
    cin>>temperatura;
    giorni+=1;
    }
    while (giorni !=32 || temperatura<30);
    giorni_piu_30+=1;
    }
    while (giorni !=32);
    cout<<"I giorni che hanno superato i 30 gradi celsius sono " <<giorni_piu_30<< ".\n";
    return 0;
    }
    ALLA GUERRA!!!

  2. #2
    Io lo modificherei così :
    codice:
    #include <stdafx.h>
    #include <iostream>
    
    using namespace std ;
    
    int main ()
    {
    	int giorni_piu_30=0;/*mi serve a contare i giorni in cui si sono superati i 30 gradi*/
    	float temperatura;  /* dato input per immettere la temperatura giornaliera*/
    	int giorni=1;       /*mi serve per visualizzare quale giorno di luglio stò immettendo*/
    	do
    	{
    		cout<<"Immettere il valore in gradi celsius della temperatura del giorno " <<giorni<< " Luglio. \n";
    		cin>>temperatura;
    		giorni++;
    
    		if( temperatura >32 )
    			giorni_piu_30++;
    	}
    	while(giorni < 32);
    
    	cout<<"I giorni che hanno superato i 30 gradi celsius sono " <<giorni_piu_30<< ".\n";
    	return 0;
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Samuele_70
    Io lo modificherei così :
    Ti e' scappato questo

    codice:
    		if( temperatura >30 )
    Inoltre, io preferirei usare una for ... dato che il numero di iterazioni e' noto, e' piu' logico usarla (ovviamente e' anche questione di "gusti" ...) ...

  4. #4
    stò al 3° anno di Istituto Tecnico Industriale ad indirizzo informatico e da quando è cominciato questo anno scolastico che imparo a programmare ma ancora il for non lo abbiamo fatto . Ora provo a vedere se funziona
    ALLA GUERRA!!!

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi il codice di Samuele e sostituiscilo all'unico if che c'e' ...

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    [C++] Non riesco a far funzionare bene questo programma
    Benché difficilmente il titolo possa risultare d'aiuto in questo caso, usa comunque descrizioni significative in futuro, come da Regolamento, poiché la maggior parte di coloro che scrivono qui hanno un problema a far funzionare il proprio programma.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    funziona al 100% cmq avete fatto anche voi un piccolo sbaglietto, la temperatura nell'if deve essere maggiore di 31 non 32, vi siete confusi con i giorni!
    Ho capito dove ho sbagliato e devo dire che così il programmino è più semplice del mio, pieno zeppo di condizioni difficili che ancora non riesco a padroneggiare molto bene. Grazie, veloci e chiari come sempre. Vi darei un bacio


    E scusa per il titolo poco esplicativo, ti dò anche un bacio a te moderatore, così non ti offendi
    ALLA GUERRA!!!

  8. #8
    Originariamente inviato da oregon
    Ti e' scappato questo

    codice:
    		if( temperatura >30 )
    ...
    LOL, hai ragione, che sbadato che sono
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  9. #9
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    Originariamente inviato da Bellerofonte90
    Vi darei un bacio
    E scusa per il titolo poco esplicativo, ti dò anche un bacio a te moderatore, così non ti offendi
    fortuna che non t'ho aiutato io!

  10. #10
    Originariamente inviato da Bellerofonte90
    funziona al 100% cmq avete fatto anche voi un piccolo sbaglietto, la temperatura nell'if deve essere maggiore di 31 non 32, vi siete confusi con i giorni!
    Oramai sono bersaglio di una lapidazione verbale
    Ho capito dove ho sbagliato e devo dire che così il programmino è più semplice del mio, pieno zeppo di condizioni difficili che ancora non riesco a padroneggiare molto bene. Grazie, veloci e chiari come sempre. Vi darei un bacio


    E scusa per il titolo poco esplicativo, ti dò anche un bacio a te moderatore, così non ti offendi
    Ciao.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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.