请教关于一个关于用类编写学分计算程序时遇到的问题
#include<iostream>#include<cstring>
using namespace std;
class Course
{
private:
char CourseTitle[20];
int CourseNo;
int CreditHours;
int mark;
float score;
public:
void SetCourseTitle() //获取课程名的成员函数
{
char temp[20];
cin>>temp;
strcpy(CourseTitle,temp);
}
char* GetCourseTitle() //取出课程名的成员函数
{
return CourseTitle;
}
void SetCourseNo() //同上,获取课程编号
{
int temp;
cin>>temp;
CourseNo = temp;
}
int GetCourseNo() //取出课程号
{
return CourseNo;
}
void SetCreditHours() //获取课程的的学分
{
int temp;
cin>>temp;
CreditHours = temp;
}
int GetCreditHours() //取出课程的学分
{
return CreditHours;
}
void Setmarks() //获取课程的成绩
{
int temp;
cin>>temp;
mark = temp;
}
int Getmarks() //取出成绩
{
return mark;
}
void GetScore(Course p[],int n)
{
float T1=0,T2=0;float T3;//实现学分积点的计算
for(int i=0;i<n;i++)
{
T1+=(p[i].Getmarks() - 50);
T2+=p[i].GetCreditHours();
}
T3 = T1/T2;
cout<<T3<<endl;
}
};
class Student
{
private:
char Name[20];
int Number;
public:
void SetName()
{
char temp[20];
cin>>temp;
strcpy(Name,temp);
}
char* GetName()
{
return Name;
}
void SetNumber()
{
int temp;
cin>>temp;
Number=temp;
}
int GetNumber()
{
return Number;
}
void Print(Student p[],int n)
{
for(int i=0;i<n;i++)
{
cout<<p[i].GetName()<<" "<<p[i].GetNumber()<<endl;
}
}
};
class Class
{
private:
int _SNumber;//班级的的学生数
public:
};
void main()
{
cout<<"*****************************学分积点计算系统*****************************"<<endl<<endl<<endl;
cout<<" \t\t "<<"1.读取学生信息"<<"\t\t"<<"2.输入学生信息"<<endl<<endl;
cout<<" \t\t "<<"3.读取课程信息"<<"\t\t"<<"4.计算学分积点"<<endl<<endl;
cout<<" \t\t "<<"5.按照积点排序"<<"\t\t"<<"6.返回到主菜单"<<endl<<endl;
cout<<"请输入你要进行的操作:"<<endl;
int count2;
cout<<"请输入学生的个数"<<endl;
cin>>count2;
Student* p2 = new Student[count2];
for(int i=0;i<count2;i++)
{
cout<<"请输入第"<<i+1<<"个学生的姓名"<<endl;
p2[i].SetName();
cout<<"请输入第"<<i+1<<"个学生的学号"<<endl;
p2[i].SetNumber();
}
int count1;
cout<<"请输入课程的数目:"<<endl;
cin>>count1;
Course* p1 = new Course[count1];
for( int j = 0;j < count1;j ++)
{
cout<<"请输入第"<<j+1<<"课课程名:"<<endl;
p1[j].SetCourseTitle();
cout<<"请输入第"<<j+1<<"课课程号:"<<endl;
p1[j].SetCourseNo();
cout<<"请输入第"<<j+1<<"课课程的学分数:"<<endl;
p1[j].SetCreditHours();
cout<<"请输入第"<<j+1<<"课课程的成绩:"<<endl;
p1[j].Setmarks();
}
Course a;
a.GetScore(p1,count1);
}
这个程序现在只能计算学分,但是要调节这三个类Course,Student,Class让程序实现mian()中的菜单功能,我用while语句的话实现不了 不知怎么调用。
还有这3个类要是继承关系,又该怎么调用?
int m;
cin>>m;
while(m==2)
{ int count2;
cout<<"请输入学生的个数"<<endl;
cin>>count2;
Student* p2 = new Student[count2];
for(int i=0;i<count2;i++)
{ cout<<"请输入第"<<i+1<<"个学生的姓名"<<endl;
p2[i].SetName();
cout<<"请输入第"<<i+1<<"个学生的学号"<<endl;
p2[i].SetNumber();
}
};
while(m==3)
{ int count1;
cout<<"请输入课程的数目:"<<endl;
cin>>count1;
Course* p1 = new Course[count1];
for( int j = 0;j < count1;j ++)
{ cout<<"请输入第"<<j+1<<"课课程名:"<<endl;
p1[j].SetCourseTitle();
cout<<"请输入第"<<j+1<<"课课程号:"<<endl;
p1[j].SetCourseNo();
cout<<"请输入第"<<j+1<<"课课程的学分数:"<<endl;
p1[j].SetCreditHours();
cout<<"请输入第"<<j+1<<"课课程的成绩:"<<endl;
p1[j].Setmarks();
}
};这样在while(m==3)和whlie(m==4)中就没法调用输入的那些数据了
希望遇到类似的能帮我一下