数据结构学籍管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
目录
一、设计目的 (2)
二、设计内容 (3)
三、设计要求 (4)
四、设计过程 (4)
1.算法思想分析 (4)
2.算法描述与实现 (5)
3.系统测试 (7)
五、设计总结 (11)
参考文献 (12)
附录 (13)
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一.设计目的
1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊二.设计内容
2.1开发环境
操作系统:Windows 7
开发工具:Microsoft Visual C++ 6.0
开发语言:C++
2.2功能简介:
本程序采用C++编写,用于管理学生信息,基本功能有批量添加学生信息,单个添加学生信息,按学号查找学生,按姓名查找学生,按学号删除学生信息,排序输出全部学生信息以及退出功能。
程序流程:
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊三.设计要求
1) 程序设计要求:
①采用交互工作方式,设计功能菜单;
②建立数据文件,数据包含学生的自然信息和成绩信息(设计几门课以及
总成绩);
③对如下关键字:姓名、学号、各科成绩进行排序(冒泡、选择、插入排序
等任选一种)。
2) 用二分查找实现如下查询:
①按姓名查询
②按学号查询
3) 用堆排序找出总成绩排名的前5名学生
4) 输出任一查询结果(可以连续操作)
四.设计过程
1.算法思想分析
根据设计要求,首先定义三个数组,分别存放学号、姓名、成绩.
typedef struct stud //学生信息结构
{
long num;
char name[20];
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
float score;
}Stud;
然后编写函数,实现添加、查找、删除、排序、退出功能,对数组元素进行操作。
2.算法描述与实现
添加信息:
定义添加信息函数,将输入的信息添加到数组中:
void inser(long b)
{
Node *last,*current,*p;
current=head;
while(current!=NULL&&b>current->student.num){
last=current;
current=current->next;
}
查找学生:
void searchname(char *s) //按姓名查找
{
Node *p=head;
int flag=0;
printf("\n学号姓名成绩:\n");
while(p!=NULL)
{
if(strcmp(p->,s)==0)
{
printf("%ld %s %f\n",p->student.num,p->,p->student.sc
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ore);
flag=1;
p=p->next;
continue;
}
else p=p->next;
}
if(!flag) printf("没有找到相关信息");
}
void find(long b) //按姓名查找
{
Node *p=head;
while(p!=NULL&&b!=p->student.num)
p=p->next;
if(!p) printf("No found\n");
else {
printf("\n学号姓名成绩\n");
printf("%ld %s %f\n",p->student.num,p->,p->student.sc ore);
}
}
输出信息:
void print()
{
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
Node *p=head;
printf("\n学号姓名成绩:\n");
while(p!=NULL){
printf("%ld %s %f\n",p->student.num,p->,p->stude nt.score);
p=p->next;
}
printf("\n");
}
3.系统测试
1.菜单
用户运行程序后,显示如下所示菜单,用户根据菜单提示进行操作(如图2.1)。
图2.1
2.批量添加