10信计2011-2012(一)
设计题目学生管理系统
设计时间 2012.12.31 至 2012.1.6
学生姓名。学生学号。
所在班级。指导教师。
徐州工程学院数学与物理科学学院。
学生管理系统。
一、 需求分析。
1) 课程设计题目:运用数据结构编一c++程序,实现对学生信息的管理,主要包括主控程序、学生档案管理子系统、学生成绩管理子系统、学生宿舍管理子系统。
2) 课程设计的基本要求:设计好算法,使之能顺利实现对学生信息的管理,实用。
3) 课程设计的任务:通过此系统可以实现如下功能:
a) 添加学生信息:包括学生的姓名,学号,班级,宿舍号以及其c++、多**技术、高等数学、大学英语、大学体育等成绩;
b) 删除学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行删除;
c) 查询学生信息:可以根据其姓名、学号、班级、宿舍号和其成绩进行查询;
d) 输出所有学生信息:可以显示所有录入到系统中的学生的信息。
4) 软硬件运行环境及开发工具。
本次课程设计主要是在visual c++6.0下做的, visual c++是microsoft公司的功能强大的windows应用程序开发环境。由于visual c++与windows同为microsoft公司的产品,它与windows操作系统的结合将更加紧密。
目前,visual c++是windows平台下开发应用程序最重要的开发环境之一。visual c++既能支持c语言程序,又能c++运行程序,c++程序通常无需修改,或稍作修改,即可在其他计算机系统上运行。
二、 概要设计。
1)、课程设计思想。
学生管理系统是由单链表来完成的,它的主要思想是先将你的具体信息录入到文件中,如果要查询的话就是从文件中读取出来的,然后我的查询是由多种方式来查询的,可以通过姓名,学号,班级,宿舍号或成绩;删除也是通过多种方式实现的,也是根据用户输入的姓名,学号,班级,宿舍号或者成绩;最后还有一个显示所有学生的信息,可以把所有录入的学生信息显示出来。这个系统整个思想就是如此。编程时考虑得还不是很周全,还需要不断完善。
2)、模块设计。
本课题主要分为5个模块,即:
1) void add(clist &stulist)模块,其作用是向系统中添加学生的信息;
2) void display(clist &stulist)模块,其作用是显示所有录入的学生的信息;
3) void lookup(clist &stulist)模块,其作用是按照一定的条件查找学生的信息;
4) void deletes(clist &stulist)模块,其作用是删除满足一定条件的学生的信息。
其流程图如下:
三、 详细设计。
本课题分为六个部分:构造单链表,显示所有学生信息的函数,添加学生信息的函数,查找学生信息的函数,删除学生信息的函数,主函数的设计。
1) 构造单链表。
单链表有连个部分组成,即链表的结点类和链表类,其**如下:
class cnode结点类。
public:
cnode()
cnode(cnode &n);
void inputdata(cdata *pd)
void shownode()
cdata *getdata()
friend class clist;
private:
cdata *pdata;
cnode *pnext;
cnode::cnode(cnode &n拷贝构造函数。
pdata=
pnext=
class clist链表类。
public:
clist()
~clist()
void addnode(cnode *pnode);
void deletelist();
cnode *deletenode(cnode *pnode);
cnode *lookup(cdata &data);
cnode *getlisthead()
void showlist();
cnode *getnext(cnode *pnode);
private:
cnode * phead;
2) 显示所有学生信息的函数。
**如下:void display(clist &stulist)
cout< cout<<"按任意键返回主菜单";
getchar();getchar();
3) 添加学生信息的函数。
**如下:void add(clist &stulist)
cnode *p;
student *s;
char c[17],n[17],nam[17];
double e,cp,m,ce,sm,cg,mar;float **er;
cout<<"请输入姓名(输入0结束):"
while(strcmp(nam,"0"))
cout<<"输入学号:";
cout<<"输入班级:";
cout<<"输入宿舍:";cin>>e;
cout<<"输入c++成绩:";cin>>cp;
cout<<"输入多**技术成绩:";cin>>m;
cout<<"输入大学英语成绩:";cin>>ce;
cout<<"输入高等数学成绩:";cin>>sm;
cout<<"输入大学体育成绩:";cin>>cg;
**er=(cp+m+ce+sm+cg)/5;
s=new student;
s->set(c,n,nam,e,cp,m,ce,sm,cg,mar,**er);
p=new cnode;
p->inputdata(s);
cout<<"记录添加成功。" 4) 查找学生信息的函数。 **如下:void lookup(clist &stulist) cnode *plook; char name[17]; cout<<"请输入你要查找的姓名(输入0结束):" while(strcmp(name,"0")) student s; "0","0",name,0,0,0,0,0,0,0,0); plook= if(plook) plook->shownode(); else cout<<"对不起,在学生记录中查找不到"< cout<<"请输入你要查找的姓名(输入0结束):" 5) 删除学生信息的函数。 **如下:void deletes(clist &stulist) cnode *plook; char name[17]; cout<<"请输入要删除的记录的学生姓名(输入0结束):" while(strcmp(name,"0")) student s; "0","0",name,0,0,0,0,0,0,0,0); plook= if(plook) plook->shownode(); cout<} else cout<<"对不起,在学生记录中查找不到"< cout<<"请输入要删除的记录的学生姓名(输入0结束):" 6) 主函数的设计。 **如下:void operate(clist &stulist) int choice; do system("cls"); cout《欢迎使用学生管理系统 "; cout< <1.输出所有学生记录" <<2.增加学生记录" <<3.删除学生记录" <<4.查询学生记录" <<0.退出" 课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2... 数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。... 班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...数据结构课程设计
数据结构课程设计
数据结构课程设计