![学生信息管理系统实验1_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/214d6323-c004-445f-8363-4e27f3b4ad2a/214d6323-c004-445f-8363-4e27f3b4ad2a1.gif)
![学生信息管理系统实验1_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/214d6323-c004-445f-8363-4e27f3b4ad2a/214d6323-c004-445f-8363-4e27f3b4ad2a2.gif)
![学生信息管理系统实验1_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/214d6323-c004-445f-8363-4e27f3b4ad2a/214d6323-c004-445f-8363-4e27f3b4ad2a3.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计设计题目学生信息管理系统(顺序)及学号:专业班级:09计算机科学与技术指导教师:完成时间:信息工程学 院计算机科学 系新华学院课程设计成绩评定表(本科)课题名称学生信息管理系统(顺序表)院系信息工程学院年级专业10计科特色学号姓名成绩1042157103何业祥1042157104孑L磊磊10421571019王舒1、课题设计目的:课程设计任务是为了实现学生信息的相关操作,方面用户快速得到学生的各种信息,并且能进行信息的更新、插入、删除等操作。课程设计的主要目的:熟练利用数据结构各种算法思想设计程序;掌握C语言基本语法;通过课程设计,加深对数据结构课程所学容的进一步理解和巩固;加
2、深对结构化课程设计思想的理解,并设计合理的模块化结构;提高课题设计目的与设计意义程序开发功能,能运用合理的控制流程编写清晰咼效的程序;培养分 析问题、解决问题的能力。在课程设计中,我们充分发挥小组优势完成课程设计,同时也体会到 小组合作的重要性与必要性。2、课题设计意义:文案指导教师:年月日目 录一、实验目的1二、实验容1三、基本要求1四、算法设计思想五、算法流程图1六、算法源代码 6 七、运行结果 22八、收获和体会25九、致谢25 1.实验目的:通过制作学生信息管理系统(1) 基本掌握面向过程程序设计的的基本思路和方法;(2) 达到熟练掌握C语言的基本知识和技能;(3) 能够利用所学的基本
3、知识和技能,解决简单的程序设计问题。2 .实验容:输入一个班学生的学号,性别,成绩。编程插入学生信息,设 计查找每个学生的信息,删除学生信息,输出学生信息,修改学生信 息,报表和显示学生信息,及退出学生信息管理系统。3 .基本要求:(1) 硬件:微机,打印机各一台(2) 软件:Visual C+,windows74. 算法设计思想(1) 分析程序的功能要求,划分程序功能模块。(2) .画出系统流程图。(3) .代码的编写。定义数据结构和各个功能子函数。(4) .程序的功能调试。5. 算法的流程图根据printf函数输出的提示信息选择相关操作根据while语句选择06相应数字1创建学上信息表并初
4、始化2添加学生信息3.查找 学 生 信 息4删除学生信息5.输出学生 信息6.修 改 学 生 信 息0.退出 学生 信息 管理 系统根据相关调用函数输出相应学 生信息程序结束6. 算法源代码:#in clude<stdio.h>#in clude<stdlib.h>#i ncludevstri ng.h>#defi ne OK 1#defi ne ERROR 0#defi ne OVERFLOW -2#defi ne MAXSIZE 10#defi ne List_INIT_SPACE 10#defi ne List_INC_SPACE 1typedef stru
5、ctchar nu mber15;char n ame10;char sex10;int score;Elemtype;typedef structElemtype *elem;int len gth;int listsize;sqlist;/*1创建空顺序表并初始化*/void creatList(sqlist *L)int i=0, n;Elemtype *n ewbase;L->elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemt ype);if(!L->elem) exit(OVERFLOW);L->le ngth=
6、O;L->listsize=List_INIT_SPACE;printf("有几位同学:n");sca nf("%d",&n);for(i=0;i <n ;i+)if(L->le ngth=L->listsize)n ewbase=(Elemtype*)realloc(L->elem,(List_INIT_SPACE+Lis t_INC_SPACE)*sizeof(Elemtype);if(n ewbase)L->elem=n ewbase;L->listsize+=List_INC_SPACE;else
7、 exit(OVERFLOW);printf("请输入第%d名同学的信息:n",i+1);printf("学号(15)n");sca nf("%16s",L->elemL->le ngth. nu mber);prin tf("(15)n");sca nf("%16s",L->elemL->le ngth. name);printf("性别(男:M 女:F)n");sca nf("%16s",L->elemL->le n
8、gth.sex);printf("成绩n");sea nf("%10d",&L->elemL->le ngth.score);L->le ngth+;printf("%d名学生信息如下:n",L->length);printf("学号(15) (15)性别(男:M 女:F) 成绩n");for(i=0;i<L->le ngth;i+)prin tf("%-16s%-16s%-16s%-10dn"丄->elemi. nu mber,L-> e
9、lemi. name,L->elemi.sex,L->elemi.score);/*2向顺序表中插入元素*/void in sertlist(sqlist*L)int i,j,k;char sig n='y'Elemtype *n ewbase;Elemtype n ewelem;while(sig n!二'n')if(L->le ngth=L->listsize)n ewbase=(Elemtype*)realloc(L->elem,(List_INIT_SPACE+Lis t_INC_SPACE)*sizeof(Elemtype
10、);if(n ewbase)L->elem=n ewbase;L->listsize+=List_INC_SPACE;else exit(OVERFLOW);printf("请输入要插入的同学的信息:n");printf("学号(15)n");sca nf("%16s", newelem. nu mber);prin tf("(15)n");sca nf("%16s", newelem. name);printf("性别(男:M 女:F)n");sca nf(&q
11、uot;%16s", newelem.sex);printf("成绩n");sca nf("%1Od",&n ewelem.score);printf("要插入到第几个位置:”);sea nf("%d",&i);while(i<1|i>L->le ngth+1)printf("不能插入到第%d个位置!n只能插入第1到第%d个位置上!n请重新输入要插入的位置:",L->length+1);sca nf("%d",&i);L->
12、;le ngth+;for( j=L->length-1;j>i-2;j-)for(k=0;k<16;k+)L->elemj. namek=L->elemj-1. namek;L->elemj. nu mberk=L->elemj-1. nu mberk;L->elemj.sexk=L->elemj-1.sexk;L->elemj.score二L->elemj-1.score;j+;for(k=0;k<16;k+)L->elemj. namek=n ewelem. namek;L->elemj. nu mber
13、k=n ewelem. nu mberk;L->elemj.sexk=n ewelem.sexk;L->elemj.score=n ewelem.score;printf(”是否还要输入? (Y or N)");getchar();sca nf("%c",&sig n);if(sig n='n '|sig n二二'N')sig n二'n:printf("%d名学生信息如下:n",L->length);printf("学号(15) (15) 性别(男:M 女:F) 成绩n
14、");for(i=0;i<L->le ngth;i+)prin tf("%-16s%-16s%-16s%-10dn" ,L->elemi. nu mber,L->elemi. name,L->elemi.sex,L->elemi.score);/*3查找学生信息*/int fin dlist(sqlist *L)int j;char i16;printf("1.按学号查找n2.按查找n请选择:");sca nf("%d",&j);if(j=1)printf("请输入学号:
15、");sca nf("%s",i);for( j=O;j<L->length;j+)if(!strcmp(i,L->elemj. nu mber)/i=L->elemj. nu mber用数组函数return j+1;return 0;elseprintf("请输入:");sea nf("%s",i);for( j=O;j<L->length;j+)if(!strcmp(i,L->elemj. name)/用数组函数return j+1;return 0;/*4删除学生信息*/int
16、 delno de(sqlist *L)int j;char i10;printf("1.按学号删除n2.按删除n请选择:”);sca nf("%d",&j);if(j=1)printf("请输入学号:");sca nf("%s",i);for( j=0;j<L->length;j+)if(!strcmp(i,L->elemj. nu mber)/i=L->elemj. nu mber用数组函数for(;j<L->le ngth;j+)L->elemj=L->elemj
17、+1;L->le ngth-;return 1;return 0;elseprintf("请输入:");sea nf("%s",i);for( j=0;j<L->length;j+)用数组函数L->elemj 以后if(!strcmp(i,L->elemj. name)/for(;j<L->le ngth;j+)L->elemj=L->elemj+1;的向前挪L->le ngth-;return 1;return 0;/*5输出学生信息*/void prin tlist(sqlist *L)in
18、t i;printf("%d名学生信息如下:n",L->length);printf("学号(15) (15)性别(男:M 女:F) 成绩n");for(i=0;i<L->le ngth;i+)prin tf("%-16s%-16s%-16s%-10dn"丄->elemi. nu mber,L-> elemi. name,L->elemi.sex,L->elemi.score);/*6修改功能*/void reviselist(sqlist *L)int i,x,a=0;char n ame1
19、6;char sex16;char nu mber16;int score;printf("请选择你要改的同学的");sca nf("%16s" ,n ame);printf("请选择你要改的同学的信息n”);printf("1.修改学生的n");printf("2.修改学生的学号n");printf("3.修改学生的性别n");printf("4.修改学生的成绩n");sca nf("%d",& x);switch(x)case 1:f
20、or(i=0;i<L->le ngth;i+)if(strcmp( name,L->elemi. name)=0)printf("请输入新名字");sea nf("%16s", name);strcpy(L->elemi. name, name);a=1;if(a=0)printf("对不起你要改的名字不存在n");break;case 2:for(i=0;i<L->le ngth;i+)if(strcmp( name,L->elemi. name)=O)printf("请输入新学号
21、");sea nf("%16s", number);strcpy(L->elemi. nu mber, nu mber);a=1;if(a=0)printf("对不起你要改的名字不存在n");break;case 3:for(i=0;i<L->le ngth;i+)if(strcmp( name,L->elemi. name)=O)printf("请输入新性别");sca nf("%16s",sex);strcpy(L->elemi.sex,sex);a=1;if(a=0)p
22、rintf("对不起你要改的名字不存在n");break;case 4:for(i=0;i<L->le ngth;i+)if(strcmp( name,L->elemi. name)=O)printf("请输入新成绩");sea nf("%d",score);L->elemi.score二score;a=1;if(a=0)printf("对不起你要改的名字不存在n");break;/*0退出学生信息管理系统*/void tuichu(sqlist *L)if(!L->elem)free
23、(L->elem);printf("nn再见,欢迎下次使用");exit(-2);void mai n()sqlist a,*L 二&a;int i;printf( *、n")* n");printf("*学生信息管理系统prin tf(”*=、n");prin tf("*1.创建学生信息库并初始化* n");prin tf("*2.添加学生信息* n");prin tf("*3.查找学生信息* n");prin tf("*4.删除学生信息* n&qu
24、ot;);printf(”* 5.输出学生信息*n");prin tf("*6.修改学生信息* n");printf(”* 0.退出学生信息管理系统*n");printf(”*-n );pi II lll*、n");while(1)prin tf("nn 请选择(0-6):");sea nf("%d",&i);while(i<0|i>6)printf("只能选择0到6!请重新选择:"); sca nf("%d",&i);switch(i)
25、case 1:creatList(L);printf(”初始化完毕!");break;case 2:in sertlist(L);break;case 3:i=fi ndlist(L);if(!i)printf("没有该学生n");elsei-;printf("要查找的学生:n");printf("学号性别 成绩n");prin tf("%-10s%-10s%-10s%-dn",L->elemi. nu mber,L->ele mi. name,L->elemi.sex,L->el
26、emi.score);break;case 4:i=de Ino de(L);if(!i)printf(”没有该学生n");elseprintf("该学生已删除");break;case 5:pri ntlist(L);break;case 6:reviselist(L);break;case 0:tuichu(L);7运行结果:(1)初始化D; XXSXTMJebiiEVT&ix c:jr«5化姑初 幷 库性怡信信信住亠r竝抑找陆山敢岀测夏退 *12 3 4-501(2 )信息录入19毕 71冗 15化 益始5 7A a154男丄> :4
27、21緘罷绩答!P42名舒别绩<1簷宅业奪 姓何孔王S V 息 生15> F(3 )信息插入zEE342157104何业春95Cz Wocuaents and SettingsXstinitWXDebirgXSf 文斗文exe"G-52 >np)=入 -&插20貨s>71 ft-N<l15f < 选正别 査星见T-L3生吴生逋人逊第儿个位罰4 否不要输入P <V or N)N 諱區負如下:性别甥:诫:F)惑绩H9fl(4 )信息查询式 *C: XDocuaems a»d SettinXiuiitWXVebucX$f&
28、文冲氏趋*exe要插、到第几个位 是否还為给入? <v学号心1 B421571«21942171041042171191042±&?123H= 4or N)N“祥磊至业姓伺孔壬吴題9fl9295956查査匕曙妒19 <0号名.翥71 择学姓择人找15 选套选输奁号盈 送阳2_S8-1B姓汨95(5 )删除信息云 XDucuB&ms and SctxincsXstKdXXDebuxJf 文4=文枱股色310:5計 >:籐:生屏王 <0号名-鲁71 军学挂择人找15 3H套选输吞号4Z 请勺养请请囂亠-13 95):4策 I-6SW2 名删 曲号名;#已 择学姓择入生请紅a聶请1衍務fl:除>=塞i除 fwgl号删 <R号茗:学已 择学牲择人生 选套选軍(6)修改学生信息云 *C: XDocuaems a»d SettinesXstvdXW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络视频服务公证合同
- 钻探工程施工劳务合同范本
- 企业股东间股权转让合同书
- 2024-2025学年高中物理第4章4信息化社会5课题研究:社会生活中的电磁波学案新人教版选修1-1
- 2024-2025学年高中英语语法专题21省略教案含解析新人教版必修1
- 2024-2025学年高中历史课时作业11太平天国运动含解析新人教版必修1
- 2024-2025学年高中地理课时分层作业3人口迁移含解析湘教版必修2
- 深入解析石墨材料的电化学性能与应用领域
- 短视频营销品牌传播的新利器
- 社交媒体平台在足浴店营销的应用实例分析
- 产后康复课件完整版
- 监理专题安全例会纪要(3篇)
- GB/T 17374-2024食用植物油销售包装
- 高级烟草制品购销员(三级)职业资格鉴定理论考试题及答案
- 河道清淤疏浚投标方案(技术方案)
- 护理部工作总结
- 2017年湖北省黄冈市中考语文(有解析)
- 幼儿园数学《比较物体的大小》课件
- 住院证明模板
- 中国水利水电第十二工程局有限公司招聘笔试真题2023
- 工业机器人系统运维员(中级)课件全套 宋永昌 项目1-3 机械系统检查与诊断-工业机器人运行维护与保养
评论
0/150
提交评论