顺序表结构的学生信息管理系统

上传人:枫** 文档编号:475830370 上传时间:2023-04-24 格式:DOCX 页数:36 大小:265.84KB
返回 下载 相关 举报
顺序表结构的学生信息管理系统_第1页
第1页 / 共36页
顺序表结构的学生信息管理系统_第2页
第2页 / 共36页
顺序表结构的学生信息管理系统_第3页
第3页 / 共36页
顺序表结构的学生信息管理系统_第4页
第4页 / 共36页
顺序表结构的学生信息管理系统_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《顺序表结构的学生信息管理系统》由会员分享,可在线阅读,更多相关《顺序表结构的学生信息管理系统(36页珍藏版)》请在金锄头文库上搜索。

1、海南大学数据结构课程设计题目:学生信息管理系统学 号:20142835320016姓名:侯孟禹年级:2014级学院:应用科技学院一系别:工学部专业:物联网工程指导教师:梁建慧一完成日期: 2016年6月10日目录中文摘要3English abstract4方案分析5程序设计6输入输出模块6信息的录入6信息的遍历7信息的查询8管理模块11信息的删除11信息的修改12信息的排序16时间复杂度17文件操作模块18数据写入文件18数据读出文件19测试22结论27感谢28参考文献28附录:28中文摘要学生信息管理系统是人们日常生活中经常要用到的管理工具,它以文件的 方式保存用户录入的数据,并提供查询功能

2、供用户查询和使用学生信息管理系统。 本次设计的学生信息管理系统,支持基本的录入、删除、查找、修改和文件读写 等功能。此学生信息管理系统基于结构化程序设计思想和所使用的C语言开发 环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针 对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模 块函数,以菜单方式调用相应功能模块来实现信息和数据处理。关键词:学生管理系统;顺序表English abstractStudent information management system is often used in Peoples Daily life managem

3、ent tool, it saves the user input data in the form of documents, and provide the query function for the use of user queries and student information management system. The design of student information management system, support basic input, delete, search, modify, and read and write files, and other

4、 functions. The student information management system based on structured programming ideas and the use of C language development environment and development tools, and using the software engineering and data structure of the relevant concepts and methods, in view of the specific design questions an

5、d requirements, analysis of functional requirements, the division of function modules, with chain table structure design, function module function, to call the corresponding function module menu way to implement the information and data processingKeywords: student management system; sequence listt方案

6、分析经过对程序设计题目的分析可知,学生信息基本属性包括学号、姓名、性别、 住址、联系电话。整个程序的设计实现大致分为多个模块,每一个模块对应一个 函数。在这些函数当中需要具有如下功能,学生信息的录与删除、查找和修改学 生信息、按学号排序函数等。读取文件函数对其它函数的实现起辅助作用,主函 数及菜单函数控制程序的整体运行。在数据关系上,我采用了顺序表的方案,顺 序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储 单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺 序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元 中。本系统中以数组为存

7、储体,每一个数组元素为一个包含学生所有信息的结构 体,这在技术上与法律法规上都具有可行性。程序设计输入输出模块信息的录入/*/int input(Sqlist *q)int i,j;printf(输入所要录入个数:);scanf(%d,&i);for(j=q-length ;jlength;j+)printf(学号:);scanf(d,&(q-elemj.number);printf(姓名:);scanf(s,&(q-elemj.name);printf(性别:);scanf(s,&(q-elemj.sex);printf(地址:);scanf(s,&(q-elemj.adress);prin

8、tf(电话号码:);scanf(s,&(q-elemj.tlnumber);q-length=q-length +i;return OK;/*/此函数功能:学生信息的录入函数构思:用户输入需要录入的学生信息的个数i。通过for语句控制输入函数 的循环次数从而达到多次对学生信息的录入。录入的循环需要考虑到顺序表原来 的长度和录入后顺序表的长度。函数返回值为OK或者ERROR,返回OK表示操作 成功,返回ERROR表示操作失败。信息的遍历int traverse(Sqlist *q)int i,j=q-length;if(!q-elem) return ERROR;for(i=0;ielemi.n

9、umber);printf(姓名:%s”,q-elemi.name );printf(性别:%s”,q-elemi.sex );printf(地址:%s”,q-elemi.adress);printf(电话号码:sn”,q-elemi.tlnumber );printf(n);return OK;函数功能:对所有学生信息的遍历函数构思:首先判断顺序表是否为空,为空则返回ERROR,操作失败。由于已知 表长length,所以可以通过for循环语句,length为循环控制条件,依次输出顺 序表中的学生信息。信息的查询/*/int seek(Sqlist *q)查找函数int e,i=0,j=q-l

10、ength;int choose;char s10;printf(1:学号查询 2:姓名查询n);printf(请输入操作:);scanf(d,&choose);/分为学号查找和姓名查找switch(choose)(case 1:printf(输入所要查询的学号:);scanf(d,&e);while(q-elem i.number !=e)(i+;if(i=j)( printf(没有该学生信息!n);return ERROR;printf( 学号:%d,q-elemi.number );printf(姓名:%s,q-elemi.name );printf(性别:%s,q-elemi.sex

11、);printf(地址:%s,q-elemi.adress);printf(电话号码:sn,q-elemi.tlnumber );return OK;case(2:printf(输入所要查询的姓名:);scanf(s,s);while(strcmp(q-elem i.name,s)i+;if(i=j)( printf(没有该学生信息!n);return ERROR;printf( 学号:%d,q-elemi.number );printf(姓名:%s,q-elemi.name );printf(性别:%s,q-elemi.sex );printf(地址:%sn,q-elemi.adress);

12、printf(电话号码:sn,q-elemi.tlnumber );return OK;returnOK;/*/函数功能:学生信息的查询函数构思:对学生信息的查询分为学号查询和姓名查询。这样做的好处为,当我 们只知道学生学号与姓名其中一个信息的时候就可以方便的查询到学生的全部 信息。函数体首先提示用户选择查询方式,并通过switch()语句判断用户想 要通过什么方式查询信息。学号查询所使用的是简单的数字的比较,判断学号是 否相同,从而达到查找的目的。如果学号相同,则输出该学生的全部信息。否,则提示用户没有找到该学生的信息。姓名查找则是通过字符串比较函数strcmp(),比较用户输入的字符串与数

13、据库中的字符串是否有相同。若有,则输出该 学生全部信息。否,则提示用户没有找到该学生的信息。管理模块信息的删除 /*/删除函数int qdelete(Sqlist *q)int e,i=0,j=q-length,k ;printf (-输入所要删除的学号:);scanf(d,&e);while(q-elem i.number !=e)(i+;if(i=j)(printf(没有该学生信息!n);returnERROR;printf( 学号:%d,q-elemi.number );printf(姓名:%s,q-elemi.name );printf(性别:%s,q-elemi.sex );printf(地址:%s,q-elemi.adress);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号