C++ 期末作业学生成绩报告.doc_第1页
C++ 期末作业学生成绩报告.doc_第2页
C++ 期末作业学生成绩报告.doc_第3页
C++ 期末作业学生成绩报告.doc_第4页
C++ 期末作业学生成绩报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+期末作业要求一、 实验题目:学生成绩报告,要求如下:(1) 请用面向对象方法设计并实现如下功能。(2) 设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比。(3) 计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)。(4) 显示学生的姓名、所选课程名称、以及平时成绩、期末成绩和总评成绩。分单人显示和以班输出(班成绩单合适输出到文件)。一、学生成绩#include#include#includeclass studentint classes; /班级int number;char *name;char *course;float peace;/平时成绩int percent; /平时成绩所占百分比float qimo;/期末成绩float end; /总评成绩public:student(int cl,int n,char * na,char * c,float p,float q,int pe)name=new charstrlen(na)+1;course=new charstrlen(c)+1;classes=cl;number=n;strcpy(name,na);strcpy(course,c);peace=p;percent=pe;qimo=q;end=peace*(percent/100)+qimo*(1-percent/100);int getclas()return(classes);int getnum()return(number);char *getname()return(name);char *getcourse()return(course);float getpeace()return(peace);float getqimo()return(qimo);float getend()return(end);void show()coutclassesnumbernamecoursepeaceqimo endendl;student()delete name;delete course;void main()int i;char *a;student stu4=student(2,2736,momo,c+,29,88,30),student(3,2741,bing,C+,28,78,30),student(2,2713,gege,C+,27,80,30),student(3,2745,qian,C+,27,89,30);cout单人输出:endl;coutclasnumnamecoursepeaceqimoendendl;for(i=0;i4;i+)stui.show();coutendl班级输出:endl;coutclas num name course peace qimo endendl;cout2班:endl;FILE *f;f=fopen(txt.txt,wb);if(f=NULL)coutCant open the file.endl;for(i=0;i4;i+)if(stui.getclas()=2)stui.show();fprintf(f, %d %d ,stui.getclas(),stui.getnum();/班级,学号a=stui.getname();/姓名fputs(a,f);fputc( ,f);a=stui.getcourse();/科目fputs(a,f);fprintf(f,%5.2f %5.2f %5.2f ,stui.getpeace(),stui.getqimo(),stui.getend();fputc(n,f);cout3班:endl;fputc(n,f);for(i=0;i4;i+)if(stui.getclas()=3)stui.show();fprintf(f, %d %d ,stui.getclas(),stui.getnum();/班级,学号a=stui.getname();/姓名fputs(a,f);fputc( ,f);a=stui.getcourse();/科目fputs(a,f);fprintf(f,%5.2f %5.2f %5.2f ,stui.getpeace(),stui.getqimo(),stui.getend();fputc(n,f);fclose(f);2、堆栈类#includeusing namespace std;#define n 2templateclass stackprivate:T pstksize;/堆栈数据存储区指针变量int top;/栈顶指针计数器friend class complex;public:stack()/构造函数top=0;bool push(T &t)/入栈if(top=size)coutstack is full.endl;return false;pstktop+=t;return true;T *pop()/出栈if(top=0)coutstack is empty.endl;return NULL;/返回空值表示栈空操作失败return &pstk-top;T *getpstk()return(pstk);class complex/复数private:double image; double real;friend class stack;public:complex()complex(double x,double y)image=x;real=y;void print()coutreal+imagei;void main()int i,a=10,b=12,*pi=NULL;stackstki;/存储整型数的堆栈对象stk,n为栈堆大小coutint :endl;stki.push(a);couta入栈endl;stki.push(b);coutb入栈endl;cout访问整形栈中的所有元素:;pi=stki.getpstk();for(i=0;in;i+)cout*(pi+i) ;coutendl;pi=stki.pop();if(pi!=NULL)cout*pi出栈endl;pi=stki.pop();if(pi!=NULL)cout*pi出栈endl;pi=stki.pop();if(pi!=NULL)cout*piendl;float c=2.3,d=3.5,*pf=NULL;stackstkf;coutnfloat :endl;stkf.push(c);coutc 入栈endl;stkf.push(d);coutd 入栈endl;cout访问实形栈中的所有元素:;pf=stkf.getpstk();for(i=0;in;i+)cout*(pf+i) ;coutendl;pf=stkf.pop();if(pf!=NULL)cout*pf 出栈endl;pf=stkf.pop();if(pf!=NULL)cout*pf 出栈endl;pf=stkf.pop();if(pf!=NULL)cout*pfendlendl;complexe(2,7),f(4,2),*pc=NULL;stackstkc;coutncomplex :endl;stkc.push(e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论