Programma restituisce sempre 0

di il
2 risposte

Programma restituisce sempre 0

Buonasera,
devo scrivere un programma che riceve in input le temperature massime e minime di alcune città e restituisca la temperatura massima e minima. Devo ricolvere il problema con ciclo for (o while..) senza ricorrere ad array.
Ho sviluppato il codice, viene compilato, ma quando mi restituisce i valori ma da sempre e solo 0. Non iesco a capire.
Grazie
qui sotto allego il codice

#include<iostream>
#include<string>

using namespace std;

int main ()
{

int i;
int massimo;
int minimo;
int tempmax;
int tmin;
string paese;

int p;
cout<<"quanti paesi inserisci ?";
cin>>p;

for(i=1;i<=p;i++)
{
cout<<"inserisci paese ";
cin>>paese;

cout<<"metti temperatura massima ";
cin>>tempmax;

cout<<"metti temperatura minima ";
cin>>tmin;

if (i==1)
{
tempmax = massimo;
tmin = minimo;
}

else
{
if (tempmax>massimo)
tempmax=massimo;
if(tmin<minimo)
tmin=minimo;
}
}

cout<<"max temperatura risulta "<<tempmax;
cout<<"min temperatura risulta "<<minimo;


system("pause");

return 0;

}

2 Risposte

  • Re: Programma restituisce sempre 0

    Per prima cosa devi apprendere DUE CONCETTI FONDAMENTALI.
    1. quando posti del codice usa gli appositi tag [ C O D E ] ...codice... [ / C O D E ]
    2. Dev-c++ è una ciofeca,è un virus di ide...

    Tornando al problema,nasce dal fatto che non inizializzi le variabili,non usando corretti nomi delle variabili finisci per invertile e confonderle e per finire nel c/c++ bisogna imparare che tranne qualche strana ecezzione gli iteratori partono sempre da 0.
    
    #include<iostream>
    #include<string>
    
    using namespace std;
    
    int main ()
    {
        int massimo;
        int minimo;
        int inputMax;
        int inputMin;
        string paese;
    
        int count;
        cout << "quanti paesi inserisci ?";
        cin >> count;
    
        for( int i = 0 ; i < count ; i++ )
        {
            cout << "inserisci paese ";
            cin >> paese;
    
            cout << "metti temperatura massima ";
            cin >> inputMax;
    
            cout << "metti temperatura minima ";
            cin >> inputMin;
    
            if (i == 0)
            {
                massimo = inputMax;
                minimo = inputMin;
                continue;
            }
    
            if ( inputMax > massimo )
                massimo = inputMax;
    
            if ( inputMin < minimo )
                minimo = inputMin;
        }//for all paesi
    
        cout << "max temperatura risulta " << massimo;
        cout << "min temperatura risulta " << minimo;
    
        return 0;
    }
    
  • Re: Programma restituisce sempre 0

    Grazie ragazzi, per la vostra rapidità e i preziosi consigli.
    Problema risolto.
Devi accedere o registrarti per scrivere nel forum
2 risposte