版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、传播优秀Word版文档 ,希望对您有帮助,可双击去除! 数 据 结 构 课 程 设 计设 计 题 目: 学生信息管理系统(顺序) 姓名及学号 : 专 业 班 级: 09计算机科学与技术 指 导 教 师: 完 成 时 间: 信息工程学 院 计算机科学 系传播优秀Word版文档 ,希望对您有帮助,可双击去除!课题名称学生信息管理系统(顺序表)院 系信息工程学院年级专业10计科特色学 号姓 名成 绩1042157103何业祥1042157104孔磊磊10421571019王 舒课题设计目的与设计意义1、课题设计目的:课程设计任务是为了实现学生信息的相关操作,方面用户快速得到学生的各种信息,并且能进行
2、信息的更新、插入、删除等操作。课程设计的主要目的:熟练利用数据结构各种算法思想设计程序;掌握C语言基本语法;通过课程设计,加深对数据结构课程所学内容的进一步理解和巩固;加深对结构化课程设计思想的理解,并设计合理的模块化结构;提高程序开发功能,能运用合理的控制流程编写清晰高效的程序;培养分析问题、解决问题的能力。在课程设计中,我们充分发挥小组优势完成课程设计,同时也体会到小组合作的重要性与必要性。2、课题设计意义:指导教师:年 月 日 安徽新华学院课程设计成绩评定表(本科)目 录传播优秀Word版文档 ,希望对您有帮助,可双击去除!一、实验目的 1二、实验内容 1三、基本要求 1四、算法设计思想
3、 1五、算法流程图 1六、算法源代码 6七、运行结果 22八、收获和体会 25九、致谢 25传播优秀Word版文档 ,希望对您有帮助,可双击去除!1. 实验目的:通过制作学生信息管理系统 (1) 基本掌握面向过程程序设计的的基本思路和方法;(2) 达到熟练掌握C语言的基本知识和技能;(3) 能够利用所学的基本知识和技能,解决简单的程序设计问题。2实验内容: 输入一个班学生的学号,姓名,性别,成绩。编程插入学生信息,设计查找每个学生的信息,删除学生信息,输出学生信息,修改学生信息,报表和显示学生信息,及退出学生信息管理系统。3基本要求:(1)硬件:微机,打印机各一台(2)软件:Visual C+
4、,windows74. 算法设计思想(1).分析程序的功能要求,划分程序功能模块。 (2). 画出系统流程图。 (3). 代码的编写。定义数据结构和各个功能子函数。 (4). 程序的功能调试。 5. 算法的流程图传播优秀Word版文档 ,希望对您有帮助,可双击去除!根据printf函数输出的提示信息选择相关操作3.查找学生信息4.删除学生信息5.输出学生信息6.修改学生信息0.退出学生信息管理系统1.创建学上信息表并初始化Main 主函数开始根据while语句选择06相应数字Switch语句实现具体操作2.添加学生信息根据相关调用函数输出相应学生信息程序结束传播优秀Word版文档 ,希望对您有
5、帮助,可双击去除!传播优秀Word版文档 ,希望对您有帮助,可双击去除!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;char sex10;int score;Elemtype;传播优秀Word版文档 ,希望对您有帮助,可双击去除!typedef structElemty
6、pe *elem;int length;int listsize;sqlist;/*1创建空顺序表并初始化*/void creatList(sqlist *L)int i=0,n;Elemtype *newbase;L-elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype);if(!L-elem) exit(OVERFLOW);L-length=0;L-listsize=List_INIT_SPACE;printf(有几位同学:n);scanf(%d,&n);传播优秀Word版文档 ,希望对您有帮助,可双击去除!for(i=0;ilen
7、gth=L-listsize)newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype);if(newbase) L-elem=newbase;L-listsize+=List_INC_SPACE;else exit(OVERFLOW);printf(请输入第%d名同学的信息:n,i+1);printf(学号(15)n);scanf(%16s,L-elemL-length.number);printf(姓名(15)n);scanf(%16s,L-elemL-);pr
8、intf(性别(男:M女:F)n);scanf(%16s,L-elemL-length.sex);printf(成绩n);传播优秀Word版文档 ,希望对您有帮助,可双击去除!scanf(%10d,&L-elemL-length.score);L-length+;printf(%d名学生信息如下:n,L-length);printf(学号(15)姓名(15)性别(男:M女:F) 成绩n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);/
9、*2向顺序表中插入元素*/void insertlist(sqlist*L)int i,j,k;char sign=y;Elemtype *newbase;Elemtype newelem;while(sign!=n)if(L-length=L-listsize)传播优秀Word版文档 ,希望对您有帮助,可双击去除!newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype);if(newbase) L-elem=newbase;L-listsize+=List_INC_SPACE;els
10、e exit(OVERFLOW);printf(请输入要插入的同学的信息:n);printf(学号(15)n);scanf(%16s,newelem.number);printf(姓名(15)n);scanf(%16s,);printf(性别(男:M女:F)n);scanf(%16s,newelem.sex);printf(成绩n);scanf(%10d,&newelem.score);printf(要插入到第几个位置:);scanf(%d,&i);while(iL-length+1)传播优秀Word版文档 ,希望对您有帮助,可双击去除!printf(不能插入到第%d个
11、位置!n只能插入第1到第%d个位置上!n请重新输入要插入的位置:,L-length+1);scanf(%d,&i);L-length+;for(j=L-length-1;ji-2;j-)for(k=0;k=L-k;L-elemj.numberk=L-elemj-1.numberk;L-elemj.sexk=L-elemj-1.sexk;L-elemj.score=L-elemj-1.score;j+;for(k=0;k=k;L-elemj.numberk=newelem.numberk;传播优秀Word
12、版文档 ,希望对您有帮助,可双击去除!L-elemj.sexk=newelem.sexk;L-elemj.score=newelem.score;printf(是否还要输入?(Y or N);getchar();scanf(%c,&sign);if(sign=n|sign=N)sign=n;printf(%d名学生信息如下:n,L-length);printf(学号(15)姓名(15)性别(男:M女:F) 成绩n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-
13、elemi.score);/*3查找学生信息*/int findlist(sqlist *L)传播优秀Word版文档 ,希望对您有帮助,可双击去除!int j;char i16;printf(1.按学号查找n2.按姓名查找n请选择:);scanf(%d,&j);if(j=1)printf(请输入学号:);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-elemj.number)/i=L-elemj.number用数组函数return j+1;return 0;elseprintf(请输入姓名:);scanf(%s,i);for(j=0;jlength
14、;j+)if(!strcmp(i,L-)/用数组函数return j+1;return 0;传播优秀Word版文档 ,希望对您有帮助,可双击去除!/*4删除学生信息*/int delnode(sqlist *L)int j;char i10;printf(1.按学号删除n2.按姓名删除n请选择:);scanf(%d,&j);if(j=1)printf(请输入学号:);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-elemj.number)/i=L-elemj.number用数组函数for(;jlength;j+)L-elemj=
15、L-elemj+1;L-length-;return 1;传播优秀Word版文档 ,希望对您有帮助,可双击去除!return 0;elseprintf(请输入姓名:);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-)/用数组函数for(;jlength;j+)L-elemj=L-elemj+1;/L-elemj以后的向前挪L-length-;return 1;return 0;/*5输出学生信息*/传播优秀Word版文档 ,希望对您有帮助,可双击去除!void printlist(sqlist *L)int i;printf(%
16、d名学生信息如下:n,L-length);printf(学号(15)姓名(15)性别(男:M女:F) 成绩n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);/*6修改功能*/void reviselist(sqlist *L)int i,x,a=0;char name16;char sex16;char number16;int score;printf(请选择你要改的同学的姓名);scanf(%16s,name); printf(请
17、选择你要改的同学的信息n);传播优秀Word版文档 ,希望对您有帮助,可双击去除! printf(1.修改学生的姓名n);printf(2.修改学生的学号n);printf(3.修改学生的性别n);printf(4.修改学生的成绩n);scanf(%d,&x);switch(x)case 1:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(请输入新名字);scanf(%16s,name);strcpy(L-,name);a=1;if(a=0)printf(对不起你要改的名字不存在n);传播优秀Word版文档
18、,希望对您有帮助,可双击去除!break;case 2:for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(请输入新学号);scanf(%16s,number);strcpy(L-elemi.number,number);a=1; if(a=0)printf(对不起你要改的名字不存在n);break;case 3:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(请输入新性别);传播优秀Word版文档 ,希望对您有帮助,可双击去除!scanf(%16s,sex);s
19、trcpy(L-elemi.sex,sex);a=1;if(a=0)printf(对不起你要改的名字不存在n);break;case 4:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(请输入新成绩);scanf(%d,score);L-elemi.score=score;a=1;if(a=0)printf(对不起你要改的名字不存在n);传播优秀Word版文档 ,希望对您有帮助,可双击去除!break;/*0退出学生信息管理系统*/void tuichu(sqlist *L)if(!L-elem)free(L-elem);pri
20、ntf(nn再见,欢迎下次使用);exit(-2);void main()sqlist a,*L=&a;int i;printf(*n);printf(* 学生信息管理系统 *n); printf(*=n);传播优秀Word版文档 ,希望对您有帮助,可双击去除!printf(*1.创建学生信息库并初始化 *n); printf(*2.添加学生信息 *n);printf(*3.查找学生信息 *n); printf(*4.删除学生信息 *n); printf(* 5.输出学生信息 *n); printf(*6.修改学生信息 *n); printf(* 0.退出学生信息管理系统 *n); print
21、f(*=n); printf(*n);while(1)printf(nn请选择(0-6):);scanf(%d,&i);while(i6)printf(只能选择0到6!请重新选择:);scanf(%d,&i);switch(i)传播优秀Word版文档 ,希望对您有帮助,可双击去除!case 1:creatList(L);printf(初始化完毕!);break;case 2:insertlist(L);break;case 3:i=findlist(L);if(!i)printf(没有该学生n);elsei-;printf(要查找的学生:n);printf(学号 姓名 性别 成绩n);prin
22、tf(%-10s%-10s%-10s%-dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);break;传播优秀Word版文档 ,希望对您有帮助,可双击去除!case 4:i=delnode(L);if(!i)printf(没有该学生n);elseprintf(该学生已删除);break;case 5:printlist(L);break;case 6:reviselist(L);break;case 0:tuichu(L);7.运行结果:(1) 初始化传播优秀Word版文档 ,希望对您有帮助,可双击去除!(2) 信息录入传播优秀Word版文档 ,希望对您有帮助,可双击去除!信息插入(3) 信息查询传播优秀Word版文档 ,希望对您有帮助,可双击去除!(4) 删除信息(5) 修改学生信息传播优秀Word版文档 ,希望对您有帮助,可双击去除!(6) 退出系统8收获及体会: 通过这次实训,增加了我们学习软件技术的兴趣,加强
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度厨卫间防水装修合同
- 2024年无人驾驶汽车项目资金申请报告代可行性研究报告
- 2024年度影视制作合同:电视剧集制作、发行及版权转让协议2篇
- 二零二四年度咨询服务合同标的和责任
- 2024年度市场推广合同:互联网营销推广合作协议
- 2024年溶剂油行业政策分析:溶剂油行业标准加强产品质量监督
- 二零二四年度商业代理的授权协议3篇
- 2024年度洛阳房屋租赁合同样本
- 2024年度城市轨道交通设备购置及维护合同3篇
- 二零二四年度智能语音识别技术研发及应用合作协议3篇
- 小型喷烤漆房布局方案
- 食品质量安全法律法规培训
- 封山育林工程施工组织方案设计
- 2024年度★电商平台入驻协议
- 中小学营养餐家长参与方案
- 《财务基础知识培训》课件
- 抖音带货主播小白培训
- 2024秋期河南开放大学本科《公司法律实务(本)》一平台无纸化考试(形考任务1至3+我要考试)试题及答案
- 国家开放大学《实-用管理基础》形考任务1-4参考答案
- 2024黑龙江省交通投资集团招聘38人高频难、易错点500题模拟试题附带答案详解
- 1.2 歌曲《落雨大》课件(13张内嵌音视频)
评论
0/150
提交评论