#include<iostream.h>
#include<string.h>
#include<stdio.h>
const int M=50; //M表示学生人数
const int N=4; //N表示课程数量
class Student
{
private:
char name[25],id[10],cls[20];
double course[N];//数组表示N门课程成绩
public:
Student();
double Aver();
double *Getscore();
void Display();
void Display_Aver();
}Student::Student()//构造函数的实现
{
int i;
cin>>name>>id>>cls;
for(i=0;i<N;i++)
{
cin>>course[i];
}
}double* Student::Getscore() //获取分数
{
return course;
}void Student::Display() //输出分数
{
int i;
cout<<name<<" ";
cout<<id<<" ";
for(i=0;i<N;i++)
{
cout<<course[i]<<" ";
}
cout<<endl;
}void Student::Display_Aver()
{
int i;
double aver_score=0;
for(i=0;i<N;i++)
{
aver_score+=course[i];
}
aver_score=aver_score/N;
cout<<"该名学生平均分数为:"<<aver_score<<endl;
}void main()
{
int i,j,k,n[M];
double aver_score;
for(i=0;i<M;i++)//初始化数组
n[i]=0;
cout<<"请按以下方式输入学生信息,不同数据之间以空格分割:"<<endl;
cout<<"姓名 学号 班级 C语言 高数 计导 操作系统"<<endl;
Student s[M];
cout<<endl<<"以下是输出信息:"<<endl;
cout<<"姓名 学号 班级 C语言 高数 计导 操作系统"<<endl;
for(i=0;i<M;i++)
{
s[i].Display();
}
cout<<endl;
cout<<"平均成绩:";
aver_score=0;
for(j=0;j<N;j++)
for(i=0;i<M;i++)
{
aver_score+=*(s[i].Getscore());
}
cout<<aver_score/M<<endl<<endl; cout<<"不及格学生:"<<endl;
for(i=0;i<M;i++)
{
int nopass=0; //不及格课程数量
for(j=0;j<N;j++) //查找60分以下的课程
{
if(*(s[i].Getscore()+j)<60)
nopass++;
}
for(k=0;k<M; )
{
if(nopass>2)
k++;
}
/*do
{
if(nopass>2)
k++;
}while();*/
cout<<"不及格人数:"<<k<<endl;
}
}
这个怎么改····高手赐教!!
#include<string.h>
#include<stdio.h>
const int M=50; //M表示学生人数
const int N=4; //N表示课程数量
class Student
{
private:
char name[25],id[10],cls[20];
double course[N];//数组表示N门课程成绩
public:
Student();
double Aver();
double *Getscore();
void Display();
void Display_Aver();
}Student::Student()//构造函数的实现
{
int i;
cin>>name>>id>>cls;
for(i=0;i<N;i++)
{
cin>>course[i];
}
}double* Student::Getscore() //获取分数
{
return course;
}void Student::Display() //输出分数
{
int i;
cout<<name<<" ";
cout<<id<<" ";
for(i=0;i<N;i++)
{
cout<<course[i]<<" ";
}
cout<<endl;
}void Student::Display_Aver()
{
int i;
double aver_score=0;
for(i=0;i<N;i++)
{
aver_score+=course[i];
}
aver_score=aver_score/N;
cout<<"该名学生平均分数为:"<<aver_score<<endl;
}void main()
{
int i,j,k,n[M];
double aver_score;
for(i=0;i<M;i++)//初始化数组
n[i]=0;
cout<<"请按以下方式输入学生信息,不同数据之间以空格分割:"<<endl;
cout<<"姓名 学号 班级 C语言 高数 计导 操作系统"<<endl;
Student s[M];
cout<<endl<<"以下是输出信息:"<<endl;
cout<<"姓名 学号 班级 C语言 高数 计导 操作系统"<<endl;
for(i=0;i<M;i++)
{
s[i].Display();
}
cout<<endl;
cout<<"平均成绩:";
aver_score=0;
for(j=0;j<N;j++)
for(i=0;i<M;i++)
{
aver_score+=*(s[i].Getscore());
}
cout<<aver_score/M<<endl<<endl; cout<<"不及格学生:"<<endl;
for(i=0;i<M;i++)
{
int nopass=0; //不及格课程数量
for(j=0;j<N;j++) //查找60分以下的课程
{
if(*(s[i].Getscore()+j)<60)
nopass++;
}
for(k=0;k<M; )
{
if(nopass>2)
k++;
}
/*do
{
if(nopass>2)
k++;
}while();*/
cout<<"不及格人数:"<<k<<endl;
}
}
这个怎么改····高手赐教!!
解决方案 »
- 判断线程结束
- 怎么得到无窗体程序的填入位置并填入?
- 找了两本c++教程,一个是钱能的,一个是谭浩强的,想听听过来人的意见,我看哪个好?
- 调用外部程序的问题
- 各位发表高见:软件开发和软件测试哪个要求更高?哪个更有前途?
- 关于多个CDocTemplate和ID_FILE_NEW的问是问题!
- 谁有MFC类的索引表。
- InstallShield,注册一控件时会弹出一对话框(MessageBox 控件的问题),如何捕捉此对话框并回复或不让它弹出,能在VC中解决也可 多多UP
- 哪位大虾能提供一个将数字传换成(英文)大写的算法或例子程序?
- 高手们帮帮忙:系统资源严重不足!
- 在TC下编译的图形程序怎样才能在所有机子上运行?
- 关于多线程编程的几点疑问,每个问题10分到50分不等
{
private:
char name[25],id[10],cls[20];
double course[N];//数组表示N门课程成绩
public:
Student();
double Aver();
double *Getscore();
void Display();
void Display_Aver();
};