一个c++程序设计

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:35:41
题目:输入几个学生,包括学号,姓名,3门课的成绩,并从键盘输入几个学生的数据,要求输出3门课的平均分,以及最高和最低分的学生的相关信息(学号,姓名,3门课的成绩,平均分)。谢谢哦!!!本人急需知道问题所在!!!
#include<string.h>
#include <iostream>
using namespace std;
struct student
{
char num[8];
char name[10];
float sc1,sc2,sc3;
float avg;
};
student st[10];
void input (int n)
{
cout<<"从键盘输入"<<n<<"个同学的记录:"<<endl;
int i;
student x;
for(i=0;i<n;i++)
{
cin>>x.num;
cin>>x.name;
cin>>x.sc1;
cin>>x.sc2;
cin>>x.sc3;
st[i]=x;
}
}
void output(int n)
{
int i;
cout<<"输出"<<n<<"个同学的记录:"<<endl;
for(i=0;i<n;i++)
{
st[i].avg=(st[i].sc1+st[i].sc2+st[i].sc3)/3;
cout<<st[i].name<<" "<<"的平均分是:"<<st[i].avg<<'&

#include<iostream.h>//原来为#include<iostream>少了.h
float max,min,avg;//原来为int max,min,avg;因为max=min=st[0].avg这一句中st[0].avg为float 型,而且后面的max=st[i].avg;min=st[i].avg也是同样这个问题,这样有可能导致数据丢失。
其他的都没什么问题,我用VC编译过了。

output 函数错了
max=0,min=100;
for(i=0;i<n;i++)
{
st[i].avg=(st[i].sc1+st[i].sc2+st[i].sc3)/3;
j=k=0;
这样改就好了

能运行啊,哪里有什么问题,什么问题说清楚嘛