C++程序函数数组
C++ program functions arrays
此程序应在microsoft visual studio 中运行
函数->void inputScores(string[],double[][5]);
此函数使用文件中的名称填充字符串数组。
此函数使用与每个名称相关联的5个分数填充替身的2D数组。
函数->void computeAverage(double[][5],double&);
函数->void computeLetterGrade(double,char&);
函数->void printGrades(double[][5],string[],double,char);
printGrades应调用computeAverage和computeLetterGrade。
使用void返回类型的函数原型只是建议。
创建程序总是有不同的方法。
如果有必要或方便,您可以更改功能行为
学生数据为:
Ritch Blackmore,85 95 57 78 56
Jimmy Page,89 78 45 69 98
Pete Townsend,93 56 67 67 45
Alvin Lee,93 67 89 90 45
Pete Green,89 34 56 78 98
Jeff Beck,85 34 67 87 65
Eric Clapton,95 34 56 65 87
大卫·吉尔摩,90 67 89 90 98
Tony Iommi,86 45 67 87 98
Carlos Santana,95 56 78 96 56
Mark Knopfler,75 54 67 76 87
Alex Lifeson,80 56 76 87 98
Frank Zappa,80 65 76 56 98
米克·泰勒,85 45 65 76 87
Robert Fripp,70 43 90 80 78
Peter Frampton,83 45 65 76 54
Ry Cooder,95 34 56 78 87
Keith Richards,95 45 67 89 67
Joe Walsh,95 45 78 90 45
Steve Hackett,95 34 56 54 76
我会以以下方式声明函数
const size_t SCORE_NUM = 5;
const size_t STUDENT_NUM = 100; // at least not less than the number of records in the file
size_t inputScores( std::ifstream &, std::string[], double[][SCORE_NUM], size_t );
double computeAverage( const double[], size_t );
char computeLetterGrade( double );
void printGrades( const std::string[], const double[][SCORE_NUM], size_t );
例如,函数computeAverage可以定义为
double computeAverage( const double scores[], size_t n )
{
double sum = 0.0;
for ( size_t i = 0; i < n; i++ ) sum += scores[i];
return ( n == 0 ? sum : sum / n );
}
应该为double数组的每一行调用它。
函数inputScores的定义可以如下(无需测试):
size_t inputScores( std::ifstream &in,
std::string students[],
double scores[][SCORE_NUM],
size_t n )
{
std::string record;
size_t i = 0;
while ( i < n && std::getline( in, record ) )
{
std::istringstream is( record );
std::string lastName;
if ( is >> students[i] && is >> lastName )
{
students[i] += ' ';
students[i] += lastName;
}
std::memset( scores[i], 0, SCORE_NUM * sizeof( double ) );
size_t j = 0;
while ( j < SCORE_NUM && is >> scores[i][j] ) ++j;
++i;
}
return i;
}
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 打印 2D 动态数组 c++ 函数
- C++数组函数
- 在数组函数指针中调用void
- 数组函数似乎没有找到最大值
- 使用数组函数和循环求解伪元编码|C
- 在头文件中的函数原型中获取指针数组:函数声明为 void
- 数组函数错误输出
- 读取文件,然后创建数组函数C++
- 指针数组函数参数-奇怪的行为
- 二维数组 - 函数
- "return"没有从数组函数返回正确的值
- 数组函数问题
- 数组函数的大小返回 int 的大小而不是数组
- 从数组函数中删除元素
- 如何从C++中最好地调用具有C99风格数组函数签名的函数
- 追加/打印/插入数组c++函数问题
- 如何将数组函数转换为指针函数
- 多维数组函数输出垃圾
- C++:数组函数的递归最大值