Hrmf... har du sett wF´s forumkod? Om du placerar din kod mellan taggar som [kod ] & [/kod ] (utan mellanslaget mellad d och ]) blir koden mer trevlig att titta på och sannolikheten att få svar ökar, speciellt om man kommer med lång kod :)
Det du skulle behöva göra är att skissa lite på ett papper om vad du egentligen vill. Du skriver att du vill ha en meny, men inte får till parametrarna när det är mer än två tal. Kan inte riktigt förstå vad du menar, men om man tänker sig att dela upp programmet i flera delar (delproblem) så får vi att problemen kan delas upp så här:
1. En meny (vad den ska innehålla beror på syftet med programmet)
2. Ett resultat om minsta talet
3. Ett resultat om största talet
4. Ett resultat om summan av alla tal
5. Nånting som väljer rätt resultat
6. Nånting som knyter samman ovan
Nu blir det lite lättare... (då man kan bryta ned problem i mindre problem blir det oftast så). Vissa av problemen som ovan räknades upp är som klippt och skurna för funktioner. Vilket kan göras med följande uppdelning:
1. Funktion som returnerar menyval
2. Funktion som returnerar minsta talet
3. Funktion som returernar största talet
Övriga "problem" är så triviala att de löses på plats:
1. Summan är bara att räkna ihop
2. Vägvalet kan göras i form av en switch-sats
3. Eftersom det finns en meny, är nog tanken att man ska kunna göra samma sak om och om igen, så en loop är ju bra för att knyta samman säcken.
Så det skulle kunna se ut så här:
#include<iostream> //inget '.h' på slutet
using namespace std; //måste ange namnrymd
//meny görs enkelt i en separat funktion:
int menu(){
int val;
val = 0;
cout << "Vad vill du gora?" << endl
<< "# Avsluta 0" << endl
<< "# minsta 1" << endl
<< "# hogsta 2" << endl
<< "# summan 3" << endl
<< "# medel 4" << endl;
cin >> val;
return val;
}
//funktion som returernar högsta värdet
double highest(const double &tal1,const double &tal2,const double &tal3){
double highest;
highest = 0;
if(tal1 > tal2)
highest = tal1;
else
highest = tal2;
if(highest < tal3)
highest = tal3;
return highest;
}
//funktion som returnerar det lägsta värdet
double lowest(const double &tal1,const double &tal2,const double &tal3){
double least;
least = 0;
if(tal1 < tal2)
least = tal1;
else
least = tal2;
if(least > tal3)
least = tal3;
return least;
}
int main () //standard att main returnerar till os:et
{
//Deklarationer
int val;
double tal1, tal2, tal3;
val = 0;
do {
cout << "Mata in 3 tal" << endl;
cin >> tal1 >> tal2 >> tal3;
switch(val = menu()){
case 1 : cout << lowest(tal1,tal2,tal3) << endl;
break;
case 2 : cout << highest(tal1,tal2,tal3) << endl;
break;
case 3 : cout << tal1 + tal2 + tal3 << endl;
break;
case 4 : cout << (tal1 + tal2 + tal3)/3 << endl;
break;
}
}while(val);
return 0; //main ska alltid returnera något enligt standard
}