课程名称:C++面向对象程序设计
          课程设计题目:大学生学籍管理系统
                    目录:
一、系统设计目标、意义
二、系统设计思路
三、系统功能介绍
四、输入输出的设计
(1)界面的设计
(2)数据输出设计
(3)系统运行结果
五、详细设计
(1)系统功能结构图
(2)UML
六、附录
七、系统设计、开发过程中遇到的问题
八、心得体会
学生学籍管理系统
一、系统设计目标、意义
一系统实现的目标 
  1、课程设计的任务:
    制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出;系统的设计要求用到C++
面向对象的程序设计,要求用到类来实现,同时每一个功能用到一个函数;
2、1基本功能:
学生基本信息编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩
成绩统计各科总成绩,各科平均成绩,各科的及格率
2扩展功能:
的添加、修改、与删除
的读取与存储
  3、系统特点:
系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生
的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;程序中查运用了两种查方式即学号查和姓名查;
二系统设计的意义
通过设计此项程序,能够对学生的学籍进行统一的管理,对学生的学籍进行录入、修改、保存等功能进行处理,从而能够较快地对信息进行处理,系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,程序中查运用了两种查方式即学号查和姓名查,方便查询;
二、系统设计思路
第一步:分析题目,建立类并派生出它的子类,画出类图;
第二步:画出流程,根据流程图编写程序清单
第三步:上机调试程序使用单步调试,设置断点、分块调试的方法;
步:及时整理资料,撰写课程设计报告中有关这个题目的内容;
三、系统功能介绍
程序对学生学籍的数据处理要求
1能够输入并浏览学生的基本信息;
2能够实现对学生信息的查询和修改;
3能够对成绩进行统计;
4能够对学生的信息进行保存;
二系统功能:
资料维护:系统维护包括对各学生信息和成绩的录入操作;
资料维护:对数据表中的信息进行浏览;
系统查询:可以对不同科目的总成绩、不及率、各科平均成绩相关信息;
四、输入输出的设计
1.界面的设计
①、界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据;
②、功能设计
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容;应用系统主控界面包括学生信息录入,查等功能模块;学生信息录入功能完成学生信息和成绩的输入;记录查询功能可以对数据各分类的记录进行查询;
2.数据输出设计
主要运行界面:
统计界面:
查界面:
显示界面
录入界面:
保存界面:
修改界面:
删除界面:
3、系统运行的结果:
仅部分
五、详细设计
1、系统功能结构图:
                         
2、1类:student
数据成员:编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩
2类:school
成员函数:录入函数Input:输入编号到计算机的成绩;
统计函数count:统计各科的总成绩,计算平均成绩,统计各科的及格率;
查询函数found:按学号或姓名查学生的记录;
修改函数mend:修改指定学号学生成绩记录;
删除函数del:删除指定学号学生记录;
输出函数show:输出班级所有学生成绩记录;
UML图:
六、附录:主要代码
include<>
include<>
include<>
include<>                    //操纵符定义在其中
class student                         
{
protected:                           
int number;  char name20;
char sex6;  char place20;
char nation6;  char birth20;
char party10;  char id20;
float score3;
public:                           
student next;                   
student{ }                   
~student{ }                     
char getname{ return name; }             
int getnumber{ return number;}
double getscoreint i { return scorei;}
float getg{ return score0+score1+score2; }
void input
{ int e=1;
cout<<"\t\t\t按提示输入:"<<endl;
cout<<"\t\t输入编号: ";  cin>>number;
cout<<"\t\t输入姓名: ";  cin>>name;
do
{cout<<"\t\t输入性别: ";
  cin>>sex;
  ifstrcmpsex,"男"==0 || strcmpsex,"女"==0
  { cout<<"\t\t输入籍贯: ";cin>>place;  cout<<"\t\t输入民族: ";cin>>nation;
cout<<"\t\t输入生日: ";cin>>birth;  cout<<"\t\t输入政治面貌: ";cin>>party;
    cout<<"\t\t输入身份证号: ";cin>>id;  cout<<"\t\t输入数学分数: ";cin>>score0;
cout<<"\t\t输入英语分数: ";cin>>score1;
cout<<"\t\t输入计算机分数: ";cin>>score2;
    e=0;}
    else
  {cout<<"\t\t\t无此类型性别重新输入"<<endl;
    e=1; }
}whilee;
  return ;
}
void inputifstream & is
{is>>number>>name>>sex>>place>>nation>>birth>>party>>id
  >>score0>>score1>>score2;
;
}
void output
{cout<<"学生基本信息如下:"<<endl;
  cout<<"编号:"<<number<<" 姓名:"<<name<<" 性别:"<<sex <<" 籍贯:"<<place
<<" 民族:"<<nation<<" 生日:"<<birth<<" 政治面貌:"<<party<<endl
<<"身份证号:"<<id<<" 数学:"<<score0<<" 英语:"<<score1c++课程设计报告
  <<" 计算机:"<<score2<<" 总分:"<<getg<<endl<<endl;
}
void outputofstream & os             
{ os<<setw6<<number <<setw15<<name<<setw20<<place
  <<setw6<<nation<<setw20<<birth<<setw20<<party
  <<setw20<<id<<setw6<<score0<<setw6<<score1
<<setw6<<score2<<endl;
}};//操纵符指定宽度
class school                         
{public:                             
school{ head=new student; head->next=NULL; key=0; }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。