教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

C++学生成绩管理系统设计报告(2)

来源:网络收集 时间:2026-01-25
导读: 源代码: #includeiostream.h #includestring.h #includeiomanip.h #includefstream.h const int M = 20; class stucopy//此类用于拷贝student的数据,用于排序功能的实现 { public: char id[20]; char sex[10]; ch

源代码:

#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字,全部文档内容请下载后查看。喜欢就下载吧 ……
C++学生成绩管理系统设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/129565.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)