誰かが私に答えを渡すとは思っていませんが、私はいくつかのガイダンスを探しています。私のC++クラスでは、先週、5人の裁判官にそれぞれユーザーが入れなければならなかったスコアを持っていたプログラムを書いたので、最高と最低のスコアを使わずに平均を見つける必要がありました。ループとif文を使ってこれを行いました。C++入門アレイを使用してプログラムを改訂するためのヘルプを探しています
私の先生は私たちに戻ってアレイを使用するように頼んだが、元のコードをちょっと修正するだけでいいが、現在は5〜20人の裁判官がいるので、その番号を入力してください。どのスポットを配列で置き換えることができるのか分かりません。
私はすでに人が判事の額に入れることができる場所を持っていますが、それを配列に入れる方法もわからないので、審査員は現時点で未使用の変数です。これが私のコードの外観です今のように。前もって感謝します!
#include <iostream>
using namespace std;
//Function prototypes
void getJudgeData(double &x);
double findLowest(double ,double ,double ,double,double);
double findHighest(double,double,double,double,double);
void calcAverage(double,double,double,double,double);
double judges;
//Program begins with a main function
int main()
{
//Declare variables
double judgeScore1,judgeScore2,judgeScore3;
double judgeScore4,judgeScore5;
cout<<"Scores given by all five judges: \n\n";
//Function calls to get each judge data
cout<< "How many Judges are there? (Must be 5 to 20): ";
cin>> judges;
while(judges<5||judges>20){
cout<< "Sorry there must be 5 to 20 judges\n";
cout<< "How many Judges are there? (Must be 5 to 20): ";
cin>> judges;
getJudgeData(judgeScore1);
getJudgeData(judgeScore2);
getJudgeData(judgeScore3);
getJudgeData(judgeScore4);
getJudgeData(judgeScore5);
//Function call to obtain average
calcAverage(judgeScore1,judgeScore2,judgeScore3,
judgeScore4,judgeScore5);
//Pause the system for a while
}
}
//Method definition of getJudgeData
void getJudgeData(double &x)
{
//Prompt and read the input from the user and check //input validation
cout<<"Enter score of a Judge (you will do this 5 times): ";
cin>>x;
while (x < 0 || x > 10)
{
cout<<"ERROR: Do not take judge scores lower than 0 or higher than 10.Re-enter again: ";
cin>>x;
}
}
//Method definition of findLowest
double findLowest(double a,double b,double c, double d,double e)
{
double lowest;
lowest=a;
if (b<lowest)
lowest=b;
if (c<lowest)
lowest=c;
if (d<lowest)
lowest=d;
if (e<lowest)
lowest=e;
return lowest;
}
//Method definition of findHighest
double findHighest(double a,double b,double c, double d,double e)
{
double highest;
highest=a;
if (b>highest)
highest=b;
if (c>highest)
highest=c;
if (d>highest)
highest=d;
if (e>highest)
highest=e;
return highest;
}
void calcAverage(double a,double b,double c,double d, double e)
{
//Declare variables
double lowest;
double highest;
double sum;
double average;
//Function call to retrieve lowest score
lowest=findLowest(a,b,c,d,e);
//Function call to retrieve highest score
highest=findHighest(a,b,c,d,e);
//Calculate the total sum
sum=a+b+c+d+e;
//Subtract highest and lowest scores from the total
sum=sum-highest;
sum=sum-lowest;
//Calculate the average of the three number after
//dropping the highest and lowest scores
average=sum/3;
//Display output
cout<<"Highest score of five numbers:"<<highest<<endl;
cout<<"Lowest score of five numbers:"<<lowest<<endl;
cout<<"Average when highest and lowest scores are removed: "<<average<<endl;
}
私は裁判官のトラックスコアを維持するために、配列を使用することをお勧めしたい、 'ダブルjudgeScore [nbrOfJudges]'のように。今度は、judgeScore [2]によって審査員スコアにアクセスできます。 std :: vectorを使用することが許されているなら、配列の代わりにそれをお勧めします。 – pingul
あなたの質問は何ですか?コードを正しくインデントします。 –