20170315 c++上机作业—两个类的交互

xiaoxiao2021-02-28  148

难点: ##如何让让两个类进行交互

在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必须是一个声明了长度的数组 或者还是一个有分配内存的指针。

转载请注明原文地址: https://www.6miu.com/read-22648.html

最新回复(0)