难点: ##如何让让两个类进行交互
在Student中定义一个Course的数据成员 在选课函数声明一个course的参数。
#include<iostream>
#include<string.h>
using namespace std;
class Course {
public:
char name[20];
double uscore[5];
double uscore1;
double score;
double cscore;
void setName(const char *p){
strcpy(name,p);
}
void setUscore(){
int n=0;
while(n<5){
cout<<"请输入第"<<n+1<<"平时分:";
cin>>uscore[n];
n++;
}
}
void getUscore1(){
int n=0;
while(n<5){
uscore1+=(uscore[n]/5);
n++;
}
}
void setScore(){
cout<<"请输入期末成绩:";
cin>>score;
}
void getCscore()
{
cscore=0.3*uscore1+0.7*score;
cout<<"卷面成绩:"<<score<<endl;
cout<<"平时分为:"<<uscore1<<endl;
cout<<"最终成绩为:"<<cscore<<endl;
}
};
class Student{
private:
char nam[20];
int num;
public:
Course c;
void setInf(){
cout<<"输入学号:";
cin>>num;
cout<<"输入姓名:";
gets(nam) ;
}
void setCourse(Course& r){
c=r;
}
};
int main()
{
Student Bob;
Course course;
course.setName("math");
Bob.setInf();
Bob.setCourse(course);
Bob.c.setUscore();
Bob.c.getUscore1();
Bob.c.setScore();
Bob.c.getCscore();
}
遇到的编程盲点: ## strcpy函数的使用
得有头文件string.h strcpy(char *s,const char *p)
s必须是一个声明了长度的数组 或者还是一个有分配内存的指针。