学生信息管理系统(顺序表)实验1

上传人:无*** 文档编号:103632019 上传时间:2022-06-09 格式:DOC 页数:25 大小:71KB
收藏 版权申诉 举报 下载
学生信息管理系统(顺序表)实验1_第1页
第1页 / 共25页
学生信息管理系统(顺序表)实验1_第2页
第2页 / 共25页
学生信息管理系统(顺序表)实验1_第3页
第3页 / 共25页
资源描述:

《学生信息管理系统(顺序表)实验1》由会员分享,可在线阅读,更多相关《学生信息管理系统(顺序表)实验1(25页珍藏版)》请在装配图网上搜索。

1、数 据 结 构 课 程 设 计设 计 题 目: 学生信息管理系统顺序 #与学号 : 专 业 班 级: 09计算机科学与技术 指 导 教 师: 完 成 时 间:信息工程学 院 计算机科学 系课题名称学生信息管理系统顺序表院 系信息工程学院年级专业10计科特色学 号姓 名成 绩1042157103何业祥1042157104孔磊磊王 舒课题设计目的与设计意义1、课题设计目的:课程设计任务是为了实现学生信息的相关操作,方面用户快速得到学生的各种信息,并且能进行信息的更新、插入、删除等操作.课程设计的主要目的:熟练利用数据结构各种算法思想设计程序;掌握C语言基本语法;通过课程设计,加深对数据结构课程所学

2、内容的进一步理解和巩固;加深对结构化课程设计思想的理解,并设计合理的模块化结构;提高程序开发功能,能运用合理的控制流程编写清晰高效的程序;培养分析问题、解决问题的能力.在课程设计中,我们充分发挥小组优势完成课程设计,同时也体会到小组合作的重要性与必要性.2、课题设计意义:指导 年 月 日 #新华学院课程设计成绩评定表目 录一、实验目的 1二、实验内容 1三、基本要求 1四、算法设计思想 1五、算法流程图 1六、算法源代码 6七、运行结果 22八、收获和体会 25九、致谢 2521 / 251. 实验目的:通过制作学生信息管理系统(1) 基本掌握面向过程程序设计的的基本思路和方法;(2) 达到熟

3、练掌握C语言的基本知识和技能;(3) 能够利用所学的基本知识和技能,解决简单的程序设计问题.2实验内容: 输入一个班学生的学号,#,性别,成绩.编程插入学生信息,设计查找每个学生的信息,删除学生信息,输出学生信息,修改学生信息,报表和显示学生信息,与退出学生信息管理系统.3基本要求:1硬件:微机,打印机各一台2软件:Visual C+,windows74. 算法设计思想1.分析程序的功能要求,划分程序功能模块. . 画出系统流程图. . 代码的编写.定义数据结构和各个功能子函数. . 程序的功能调试. 5. 算法的流程图根据printf函数输出的提示信息选择相关操作3.查找学生信息4.删除学生

4、信息5.输出学生信息6.修改学生信息0.退出学生信息管理系统1.创建学上信息表并初始化Main 主函数开始根据while语句选择06相应数字Switch语句实现具体操作2.添加学生信息根据相关调用函数输出相应学生信息程序结束6. 算法源代码:#include#include#include#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 10#define List_INIT_SPACE 10#define List_INC_SPACE 1typedef structchar number15;char name10;c

5、har sex10;int score;Elemtype;typedef structElemtype *elem;int length;int listsize;sqlist;/*1创建空顺序表并初始化*/void creatListint i=0,n;Elemtype *newbase;L-elem=mallocList_INIT_SPACE*sizeof;ifelem exit;L-length=0;L-listsize=List_INIT_SPACE;printf;scanf;fori=0;iiflength=L-listsizenewbase=reallocelem,*sizeof;

6、if L-elem=newbase;L-listsize+=List_INC_SPACE;else exit;printf;printf学号n;scanfelemL-length.number;printf#n;scanfelemL-length.name;printf性别n;scanfelemL-length.sex;printf;scanfelemL-length.score;L-length+;printflength;printf学号#性别 成绩n;fori=0;ilength;i+printfelemi.number,L-elemi.name,L-elemi.sex,L-elemi.

7、score;/*2向顺序表中插入元素*/void insertlistint i,j,k;char sign=y;Elemtype *newbase;Elemtype newelem;whileiflength=L-listsizenewbase=reallocelem,*sizeof;if L-elem=newbase;L-listsize+=List_INC_SPACE;else exit;printf;printf学号n;scanf;printf#n;scanf;printf性别n;scanf;printf;scanf;printf;scanf;whileiL-length+1print

8、flength+1;scanf;L-length+;forlength-1;ji-2;j-fork=0;kL-elemj.namek=L-elemj-1.namek;L-elemj.numberk=L-elemj-1.numberk;L-elemj.sexk=L-elemj-1.sexk;L-elemj.score=L-elemj-1.score;j+;fork=0;kL-elemj.namek=newelem.namek;L-elemj.numberk=newelem.numberk;L-elemj.sexk=newelem.sexk;L-elemj.score=newelem.score;

9、printf是否还要输入?;getchar;scanf;ifsign=n;printflength;printf学号#性别 成绩n;fori=0;ilength;i+printfelemi.number,L-elemi.name,L-elemi.sex,L-elemi.score;/*3查找学生信息*/int findlistint j;char i16;printf;scanf;ifprintf;scanf;forj=0;jlength;j+if!strcmpelemj.number/i=L-elemj.number用数组函数return j+1;return 0;elseprintf;sc

10、anf;forj=0;jlength;j+if!strcmpelemj.name/用数组函数return j+1;return 0;/*4删除学生信息*/int delnodeint j;char i10;printf;scanf;ifprintf;scanf;forj=0;jlength;j+if!strcmpelemj.number/i=L-elemj.number用数组函数for;jlength;j+L-elemj=L-elemj+1;L-length-;return 1;return 0;elseprintf;scanf;forj=0;jlength;j+if!strcmpelemj.

11、name/用数组函数for;jlength;j+L-elemj=L-elemj+1;/L-elemj以后的向前挪L-length-;return 1;return 0;/*5输出学生信息*/void printlistint i;printflength;printf学号#性别 成绩n;fori=0;ilength;i+printfelemi.number,L-elemi.name,L-elemi.sex,L-elemi.score;/*6修改功能*/void reviselistint i,x,a=0;char name16;char sex16;char number16;int scor

12、e;printf;scanf; printf; printf;printf;printf;printf;scanf;switchcase 1:fori=0;ilength;i+ifstrcmpelemi.name=0printf;scanf;strcpyelemi.name,name;a=1;ifprintf;break;case 2:fori=0;ilength;i+ ifstrcmpelemi.name=0 printf;scanf;strcpyelemi.number,number;a=1; ifprintf;break;case 3:fori=0;ilength;i+ifstrcmpe

13、lemi.name=0printf;scanf;strcpyelemi.sex,sex;a=1;ifprintf;break;case 4:fori=0;ilength;i+ifstrcmpelemi.name=0printf;scanf;L-elemi.score=score;a=1;ifprintf;break;/*0退出学生信息管理系统*/void tuichuifelemfreeelem;printf;exit;void mainsqlist a,*L=&a;int i;printf;printf; printf;printf; printf;printf; printf; print

14、f; printf; printf; printf; printf;whileprintfnn请选择:;scanf;whilei6printf;scanf;switchcase 1:creatList;printf;break;case 2:insertlist;break;case 3:i=findlist;ifprintf;elsei-;printf;printf;printfelemi.number,L-elemi.name,L-elemi.sex,L-elemi.score;break;case 4:i=delnode;ifprintf;elseprintf;break;case 5:

15、printlist;break;case 6:reviselist;break;case 0:tuichu;7.运行结果:(1) 初始化(2) 信息录入(3) 信息插入(4) 信息查询(5) 删除信息(6) 修改学生信息(7) 退出系统8收获与体会:通过这次实训,增加了我们学习软件技术的兴趣,加强了小组成员之间的协作能力.虽然对软件技术的具体内容还不是很了解,但通过对C语言这门课程的学习,已发现程序设计的乐趣.在对C语言学习的过程中,我们也学到了许多关于计算机应用基础方面的知识,对计算机的机体也有了一个大体的了解. 这次实训由老师提供课题,参照范例程序,经过自己的改写,实现要求.先做简单的输出

16、,一步步的再做其它图案,在实际操作过程中所犯的一些错误,通过学习还会有意外的收获,感觉实训真的很有意思.在具体操作中,对这学期所学C语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到了C语言具有的语句简洁,使用灵活,执行效率高等特点.发现上机实训的重要作用,特别是对数组和循环有了深刻的理解之后. 通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力.深刻体会到没有做不到的,只有想不到的,团结就是力量,实践是检验真理的标准,的寓意. 计时在此希望以后应多进行这样的实训,加长设间,培养学生独立思考问题的能力,提高实际操作水平. 致 谢本设计是在李红梅老师的悉心指导下完成的.通过我们的设计选题、资料查找,李老师修改等方面对我进行了悉心的指导和鼓励.值此设计完成之际,谨向指导老师李老师致以最衷心的感谢.通过我们组成员的努力做出了这个学生管理系统,当我们看到我们的劳动成果,无比的开心,在这几个星期中,我们认真的工作,参考了大量资料,努力克服遇到的困难.在这次课程设计中,我们一起谈论,我们一起研究,一起欢笑.通过这次的数据结构的课程设计,让我们更加加深了它的语句思想!让我从这次课程设计中获得了好多知识,获益匪浅!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!