C++纠错 sum求不出来

来源:百度知道 编辑:UC知道 时间:2024/06/30 12:10:21
#include<iostream>
using namespace std;
#define M 10
struct Student
{
char num[6],name[8];
int pjf;
int cj[3];
};
Student st[M];

void output();
void input();
void jisuan();
int k;
int k1;

void output()
{
int i,j;
cout<<"学号\t姓名\t";
for(i=0;i<k1;i++)
cout<<"学科"<<i+1<<"\t";
cout<<"平均分\n";
for(i=0;i<k1+3;i++)
cout<<"********";
cout<<"\n";
for(i=0;i<k;i++)
{
cout<<st[i].num;
cout<<"\t"<<st[i].name;
for(j=0;j<k1;j++)
cout<<"\t"<<st[i].cj[j];
cout<<"\t"<<st[i].pjf;
cout<<"\n";
}
for(i=0;i<k1+3;i++)
cout<<"********";

输出来了啊。是你的cout<<"请计算:";一行后面没有一个<<endl,和后面的东西写到了同一行上,而栏目标题和下面的数据内容无法对齐。
就像这样:

输入功能前的序号(0-6):2
请计算:学号 姓名 学科1 学科2 学科3 平均分
************************************************
1 qq 5 68 99 57
************************************************

不过需要说明,在
for(j=0;j<k1;j++)
{
sum+=st[i].cj[j];
st[i].pjf=sum/k1;
}
前需要将sum置0;理由你肯定知道。
用c++就要用类,用class,不要怕出错。