C++学生成绩管理系统设计报告(2)
源代码:
#include<iostream.h> #include<string.h> #include<iomanip.h> #include<fstream.h> const int M = 20;
class stucopy//此类用于拷贝student的数据,用于排序功能的实现 {
public:
char id[20]; char sex[10]; char name[10]; double grade[5];
double sumsum;//总成绩 double average;//平均成绩 };
class student//用于保存学生信息的类 {
friend class list; public:
char id[20];//保存学号 char sex[10];//保存性别
需求分析 功能描述 总体设计
char name[10];//保存名字 double grade[5];//保存成绩
student() {
next=0;
for (int i=0;i<20;i++) id[i]=0; for (i=0;i<10;i++) sex[i]=0; for (i=0;i<10;i++) name[i]=0; }
void s();
void setid(char id1[20]) {
for(int i=0;i<20;i++) id[i]=id1[i]; }
void setsex(char sex1[10]) {
for(int i=0;i<10;i++) sex[i]=sex1[i]; }
void setname(char name1[10]) {
for(int i=0;i<10;i++) name[i]=name1[i]; }
void setgrade(double grade1[5]) {
for(int i=0;i<5;i++) grade[i]=grade1[i]; }
student *next;//next指向下一个学生,构成链表 char * outid(){return id;}; char * outsex(){return sex;}; char * outname(){return name;}; double outsum() {
double sum=0;
for(int i=0;i<5;i++)
sum+=this->outgrade(i); return sum; }
double outav(){return this->outsum()/5;} double outgrade(int i){return grade[i];};
需求分析 功能描述 总体设计
void intgrade(int); };
void student::intgrade(int j)//用于修改学生的成绩 {
switch (j) {
case 1:
cout<<" 请输入数学成绩:\n"; cin>>grade[0];break; case 2:
cout<<"请输入英语成绩:\n"; cin>>grade[1];break; case 3:
cout<<"请输入政治成绩:\n"; cin>>grade[2];break; case 4:
cout<<"请输入程序设计基础成绩:\n"; cin>>grade[3];break; case 5:
cout<<"请输入物理成绩:\n"; cin>>grade[4];break; } }
void student::s()//用于录入学生的信息 {
cout<<"请输入学号:\n"; cin>>id;
cout<<"请输入姓名:\n"; cin>>name;
cout<<"请输入性别:\n"; cin>>sex;
cout<<"请输入数学成绩:\n"; cin>>grade[0];
cout<<"请输入英语成绩:\n"; cin>>grade[1];
cout<<"请输入政治成绩:\n"; cin>>grade[2];
cout<<"请输入程序设计基础成绩:\n"; cin>>grade[3];
cout<<"请输入物理成绩:\n"; cin>>grade[4]; }
class list//此类为链表 {
需求分析 功能描述 总体设计
private:
double high[5],low[5]; public:
student *last,*first;//链表的开头和结尾 double totoal;
list(){last=0;first=0;}; ~list();
void instu();//新建一个学生的数据
void outstu(char *);//根据姓名输出一个学生的信息 int delstu(char *n);//根据姓名删除一个学生的信息 void outstu1(char *);//根据学号输出一个学生的信息 int delstu1(char *n);//根据学号删除一个学生的信息
void outsum(char *);//根据姓名输出一个学生的总成绩和平均成绩 void outsum1(char *);//根据学号输出一个学生的总成绩和平均成绩 void think();//用于输出班级成绩的统计分析
void search(char s[10],int);//根据姓名修改一个学生的成绩 void search1(char s[20],int);//根据学号修改一个学生的成绩 double hi(int i);//求某门课的最高分 double lo(int i);//求某门课的最低分 void av(int i);//求某门课的平均分
void ev(int i);//用于班级成绩统计分析的人数分布输出 void scanall();//输出所有学生的信息 };
list::~list()//析构函数,将所有创建的学生对象删掉 {
if(first!=0) {
student *p=first,*temp; while(p!=NULL){ temp=p; p=p->next; delete temp; cout<<"ok\n"; }}}
void list::instu()
{ student *p=new student(); p->s();
if(first==0){first=last=p;}else{last->next=p;last=p;} }
void list::outstu(char *n) {
if(first==0) {cout<<"班级无成员!查无此人!"<<endl;return;} student *temp=first;for(;temp!=NULL;temp=temp->next)
需求分析 功能描述 总体设计
if(strcmp(temp->outname(),n)==0) {
cout<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(6)<<"性别"<<setw(6)<<"数学"<<setw(6)
<<"英语"<<setw(6)<<"政治"<<setw(14)<<"程序设计基础"<<setw(6)<<"物理"<<endl;
cout<<setw(8)<<temp->outid()<<setw(8)<<temp->outname()<<setw(6)<<temp->outsex()<<setw(6)
<<temp->outgrade(0)<<setw(6)<<temp->outgrade(1)<<setw(6)<<temp->outgrade(2)<<setw(14)
<<temp->outgrade(3)<<setw(6)<<temp->outgrade(4);return;} cout<<"查无此人!"<<endl; return; }
void list::outstu1(char *n) {
if(first==0) {cout<<"班级无成员!查无此人!"<<endl;return;} student *temp=first;for(;temp!=NULL;temp=temp->next) if(strcmp(temp->outid(),n)==0) {
cout<<setw(8)<<"学号"<<setw(8)<<"姓名"<<setw(6)<<"性别"<<setw(6)<<"数学"<<setw(6)
<<"英语"<<setw(6)<<"政治"<<setw(14)<<"程序设计基础"<<setw(6)<<"物理"<<endl;
cout<<setw(8)<<temp->outid()<<setw(8)<<temp->outname()<<setw(6)<<temp->outsex()<<setw(6)
<<temp->outgrade(0)<<setw(6)<<temp->outgrade(1)<<setw(6)<<temp->outgrade(2)<<setw(14)
<<temp->outgrade(3)<<setw(6)<<temp->outgrade(4);return;} cout<<"查无此人!"<<endl; return; }
< …… 此处隐藏:2881字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




