ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:213.69KB ,
资源ID:11884357      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11884357.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计学生信息管理系统范本模板.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计学生信息管理系统范本模板.docx

1、数据结构课程设计学生信息管理系统范本模板题目2。 学生信息管理系统一、课程设计目的1 数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2 通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用 。3 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 学生信息管理系统:(1)熟练掌握链表存储结构及其建立过程和常用操作;(3)学会自己调试程序的方法并掌握一定的技巧二、课程设计内容 建立学生信息管

2、理系统,通过链表实现对学生信息的输入,查找,删除,插入和排序等操作。三、需求分析 1每位学生的信息有:学号,姓名,性别,出生日期,E-mile,电话,c成绩,数学成绩等,用链表对学生的信息进行存储. 2全部数据可以只放在内存中; 3系统能实现的操作和功能如下: a) 输入学生信息: 对不同学生分别输出下列信息:学号,姓名,性别,出生日期,Emile,电话,c成绩,数学成绩等. b) 查找学生信息: 根据学生的学号或姓名对学生的信息进行查找。 c) 删除学生信息:删除某个学生的所有信息。 d) 插入学生信息:将某个学生的信息插入到已经输入的信息中。e) 显示学生信息: 将所有学生的信息显示出来。

3、 f) 排序: 将所有学生按某个学科的成绩依次排序。四、概要设计1系统结构图(功能模块图)2功能模块说明输入学生信息,creat()函数: 建立单向链表,组织循环,将学生的信息依次录入。:查找学生信息:a。按学号查找,find1()函数;b。按姓名查找,find2()函数; 删除学生信息,del()函数: 建立指针,在链表中寻找要删除信息的学生的学号,找到后pnext=p-nextnext,将其删除。 插入学生信息,insert()函数;输入要插入的信息,建立指针,寻找要插入的节点。显示学生信息,print()函数;将以存在的学生信息输出按某科成绩对学生进行排序,sort()函数;五、详细设计

4、及运行结果 1. 菜单:2. creat()函数。 3. find()函数。 find1():find2():3。 del()函数。4. insert()函数.5。 print()函数。6. sort()函数。六、调试情况,设计技巧及体会通过这次课程设计,我对这门课又有了一个新的理解,最大的喜悦不是写出程序,而是从中学会了怎么去写,该如何去写,在老师的严格监督下,自己也养成了独立思考的习惯,真的从中得到了很多好处,从思想到着手,所有都是程序化的,必须踏踏实实的来。 通过学生信息管理系统的设计,使我对链表有了更深的了解,也懂得了如何用链表进行输入,插入,排序等操作,两个礼拜的实习很快就过去了,这

5、一次真的学到了很多东西,我也将会将自己所学到的东西用到自己以后的学习中去。七、参考文献C语言程序设计-科学出版社数据结构(C语言描述)-清华大学出版社数据结构(使用C语言)-电子科技大学出版社八、附录:源代码#includestdio。hincludestring.hinclude#define N sizeof(struct stu)void clearscreen() /*清屏函数/ getchar(); system(”cls”);struct date /*定义出生年月日的结构体*/ int year; int mouth; int day; ;struct stu /*定义学生信息的

6、结构体*/ int number; char name30; char sex5; struct date birthday; char mail30; char phone30; int cscore,mscore; struct stu next; ; /*输出函数*/int print(struct stu p) while(p!=NULL) /如果P所指的结点不为空 执行循环*/ printf(”学号 姓名 性别 出生日期 Email 电话 C成绩 数学成绩n”); printf(” %2d6s6s%8d-2d2d%11s%11s6d8dn,pnumber,pname,p-sex,pb

7、irthday.year,pbirthday.mouth,pbirthday。day,pmail,p-phone,p-cscore,pmscore ); p=p-next; printf(nn按回车键返回nn); getchar(); return 0;/*创建链表*/struct stu creat() struct stu p,head; int i,k; printf(”请输入学生的数:n”); scanf(”%d,k); p=head=(struct stu )malloc(N); printf(请输入学号n); scanf(d,&p-number); printf(”姓名n); sc

8、anf(”s”,&pname); printf(性别n”); scanf(s”,&p-sex); printf(出生日期n); scanf(”%d-%dd”,pbirthday。year,p-birthday.mouth,&pbirthday。day); printf(”E-mailn”); scanf(%s,pmail); printf(”电话n”); scanf(”%s,pphone); printf(”c成绩n”); scanf(%d”,p-cscore); printf(数学成绩n”); scanf(”%d,&p-mscore); if(k1) for(i=1;inext=(struc

9、t stu *)malloc(N); p=pnext; printf(”请输入学号 n); scanf(”d,&pnumber); printf(姓名n”); scanf(”%s”,&pname); printf(”性别n”); scanf(%s,p-sex); printf(出生日期n”); scanf(”d-%d-d”,&p-birthday.year,&pbirthday。mouth,&pbirthday.day); printf(”E-mailn); scanf(%s,pmail); printf(”电话n”); scanf(%s,&p-phone); printf(c成绩n); sc

10、anf(”%d,&pcscore); printf(”数学成绩n”); scanf(d,p-mscore); pnext=NULL; return head;/查找链表/struct stu *find1(struct stu p) int number; if(p=NULL) printf(”n提示:没有资料可以查询!n”); return 0; printf(请输入要查找的学生学号:); scanf(%d,number); while(p!=NULL) if(pnumber=number) return(p); break; else p=p-next; return NULL; stru

11、ct stu find2(struct stu p) char name30; if(p=NULL) printf(n提示:没有资料可以查询!n); return 0; printf(”请输入要查找的学生姓名:”); scanf(”%s”,name); while(p!=NULL) if(strcmp(p-name,name)=0) return(p); else p=pnext; return NULL; /*删除链表/int del(struct stu *h) int number; struct stu *p,p0; if(h=NULL) return 0; printf(请输入要删除

12、的学号n”); scanf(d”,&number); p0=h; if(p0-number=number) h=p0-next; free(p0); return 1; p=p0-next; while(p!=NULL) if(pnumber=number) p0next=pnext; free(p); return 1; p0=p; p=p-next; printf(n按回车键返回n); getchar(); return 0; /插入链表/ int insert (struct stu *h) struct stu *p,p0; p=(struct stu )malloc(N); prin

13、tf(”请输入要插入的学号n”); scanf(”ld,pnumber); p0=*h; if(p0-number=p-number) return 0; printf(”姓名n”); scanf(”s”,&p-name); printf(”性别n”); scanf(%s”,&p-sex); printf(”出生日期n); scanf(”d%dd”,&p-birthday.year,pbirthday。mouth,&pbirthday.day); printf(E-mailn”); scanf(s,&pmail); printf(电话n”); scanf(”s”,&pphone); print

14、f(c成绩n); scanf(”%d”,&pcscore); printf(数学成绩n”); scanf(d”,&pmscore); pnext=NULL; if(h=NULL) *h=p; return 1; p0=*h; if(p0numberp-number) pnext=*h; h=p; return 1; while(p0-next!=NULL&p0-nextnumbernumber) p0=p0-next; if(p0next=NULL) p0next=p; return 1; pnext=p0-next; p0next=p; printf(nn按回车键返回nn); getchar

15、(); return 1; /排序/struct stu* sort(struct stu p0) struct stu *t,*p,*q,*z; if(p0=NULL) printf(”没有学生信息可排序!n); return 0; if(p0=NULL)|(p0-next=NULL)/*当节点不存在或者只有一个节点时/ return p0; t=p0; p=tnext; t-next=NULL; /将头节点孤立出来/ while(p) /*t始终指向头节点*/ q=pnext; if(p-cscoret-cscore) /用头节点的后一个节点与头节点进行比较*/ pnext=t; /将分数

16、大的放在前面*/ t=p; /t始终指向当前第一个节点*/ else z=t; while(z-next&z-nextcscore=p-cscore) z=znext; pnext=z-next; z-next=p; p=q; p0=t; return p0; void main() struct stu *head,*p; int a; int b; printf(”*西安邮电学院学生管理系统*n”); printf(要进入系统请按任意键n”); getchar(); printf(*欢迎您!您已进入管理系统*n”); printf(”*学生成绩管理系统*n); do clearscreen

17、(); printf(学生纪录操作:n”); printf(1:输入学生信息n”); printf(”2:查找学生信息n”); printf(3:删除学生信息n”); printf(”4:插入学生信息n”); printf(”5:显示学生信息n); printf(6:按C语言成绩排序n”); printf(0:退出系统n”); printf(请选择(06):); scanf(”%d”,b); switch(b) case 1:head=creat(); print(head); break; case 2:printf(”请输入要查找的种类:如为学号请输1,如为姓名请输2:n”); scanf

18、(”%d”,&a); switch(a) case 1:p=find1(head);break; case 2:p=find2(head);break; if(p) printf(”找到情况如下:n); getchar(); printf(学号:%d 姓名:s 性别:%s 出生日期:%dd-%d Email:%s 电话:s C成绩:d 数学成绩:%dn”,p-number,pname,p-sex,pbirthday.year,p-birthday.mouth,p-birthday。day,p-mail,p-phone,p-cscore,pmscore); else printf(没有找到!n)

19、; getchar(); break; case 3:if(del(head) printf(已正确删除!n”); else printf(要删除的结点不存在!n”); getchar(); break; case 4:if(insert(&head) printf(已成功插入!n”); else printf(此学生已存在,插入失败!n); getchar(); break; case 5:print(head); break; case 6:p=sort(head); print(p); break; case 0:break; default : printf(” 输入错误!请重新输入!n”); while(b!=0);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1