我正在尝试使其从文件中打印某些内容,并且正在打印这些奇怪的东西

时间:2019-11-17 02:03:49

标签: c++

我的任务是计算学生的平均成绩,并在提示计算机时将其打印出来。问题是我的代码仅打印出名称Mary和一些0和0x6022320。

成绩所在的文件为:

Mary Smith 10  5  8  10  6  2  10
Ken Lewis 5  3  2  10  8  9  10

这是我的代码:

#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;

string studentnames_array[2];
int studentgrades_array[2][7];
char studentfinal_array[2];

void get_grade();
void compute_grade();
void displaygrade(int b);

int main()

{
get_grade();
compute_grade();

 for (int i=0; i<2; i++)
  {displaygrade(i);}


return 0;

}




void get_grade()
{
ifstream myfile;
myfile.open("infile.txt");

for(int a=0;a<2; a++)
{
myfile >> studentnames_array[a] >> studentgrades_array[a][0] >> studentgrades_array[a][1] >> studentgrades_array[a][2] >> studentgrades_array[a][3] >> studentgrades_array[a][4] >> studentgrades_array[a][5]>> studentgrades_array[a][6]; 


}

}

void compute_grade()
{
for (int d=0; d<2; d++)
{
  float total = 0;
for (int e=0; e<7; e++)
{
  total = total + studentgrades_array[d][e];
}
studentfinal_array[d] = total/7.0;
}
}


void displaygrade(int b)

{

cout << setw(8) << left << studentnames_array[b]<<"\n";
for (int c=0; c<7; c++) { cout<< "\t\t"<<right<<setw(4)<<studentgrades_array[b][c];
}
cout << setw(6) << studentgrades_array[b] << "\n"; 

}

这是我的输出:

Mary
           0           0           0           0           0  0        00x602230

           0           0           0           0           0  0        00x60224c

0 个答案:

没有答案