学生信息管理系统(顺序表)实验1.doc
《学生信息管理系统(顺序表)实验1.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统(顺序表)实验1.doc(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date学生信息管理系统(顺序表)实验1学生信息管理系统(顺序表)实验1 数 据 结 构 课 程 设 计设 计 题 目: 学生信息管理系统(顺序) 姓名及学号 : 专 业 班 级: 09计算机科学与技术 指 导 教 师: 完 成 时 间: 信息工程学 院 计算机科学 系课题名称学生信息管理系统(顺序表)院 系信息工程学院年级专业10计科特色学 号姓 名成 绩104215710
2、3何业祥1042157104孔磊磊10421571019王 舒课题设计目的与设计意义1、课题设计目的:课程设计任务是为了实现学生信息的相关操作,方面用户快速得到学生的各种信息,并且能进行信息的更新、插入、删除等操作。课程设计的主要目的:熟练利用数据结构各种算法思想设计程序;掌握C语言基本语法;通过课程设计,加深对数据结构课程所学内容的进一步理解和巩固;加深对结构化课程设计思想的理解,并设计合理的模块化结构;提高程序开发功能,能运用合理的控制流程编写清晰高效的程序;培养分析问题、解决问题的能力。在课程设计中,我们充分发挥小组优势完成课程设计,同时也体会到小组合作的重要性与必要性。2、课题设计意义
3、:指导教师:年 月 日 安徽新华学院课程设计成绩评定表(本科)目 录一、实验目的 1二、实验内容 1三、基本要求 1四、算法设计思想 1五、算法流程图 1六、算法源代码 6七、运行结果 22八、收获和体会 25九、致谢 25-1. 实验目的:通过制作学生信息管理系统 (1) 基本掌握面向过程程序设计的的基本思路和方法;(2) 达到熟练掌握C语言的基本知识和技能;(3) 能够利用所学的基本知识和技能,解决简单的程序设计问题。2实验内容: 输入一个班学生的学号,姓名,性别,成绩。编程插入学生信息,设计查找每个学生的信息,删除学生信息,输出学生信息,修改学生信息,报表和显示学生信息,及退出学生信息管
4、理系统。3基本要求:(1)硬件:微机,打印机各一台(2)软件:Visual C+,windows74. 算法设计思想(1).分析程序的功能要求,划分程序功能模块。 (2). 画出系统流程图。 (3). 代码的编写。定义数据结构和各个功能子函数。 (4). 程序的功能调试。 5. 算法的流程图根据printf函数输出的提示信息选择相关操作3.查找学生信息4.删除学生信息5.输出学生信息6.修改学生信息0.退出学生信息管理系统1.创建学上信息表并初始化Main 主函数开始根据while语句选择06相应数字Switch语句实现具体操作2.添加学生信息根据相关调用函数输出相应学生信息程序结束6. 算法
5、源代码:#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;typedef structElemtype *elem;int length;int listsize;sqlist;/*1创建空顺序表并初始化*/void creatLis
6、t(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);for(i=0;ilength=L-listsize)newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemty
7、pe);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-length.name);printf(性别(男:M女:F)n);scanf(%16s,L-elemL-length.sex);printf(成绩n);scanf(%10d,&L-elemL-length.score);
8、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-elemi.name,L-elemi.sex,L-elemi.score);/*2向顺序表中插入元素*/void insertlist(sqlist*L)int i,j,k;char sign=y;Elemtype *newbase;Elemtype newelem;while(sign!=n)if(L-length=L
9、-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(请输入要插入的同学的信息:n);printf(学号(15)n);scanf(%16s,newelem.number);printf(姓名(15)n);scanf(%16s,newelem.name);printf(性别(男:M女:F)n);scanf
10、(%16s,newelem.sex);printf(成绩n);scanf(%10d,&newelem.score);printf(要插入到第几个位置:);scanf(%d,&i);while(iL-length+1)printf(不能插入到第%d个位置!n只能插入第1到第%d个位置上!n请重新输入要插入的位置:,L-length+1);scanf(%d,&i);L-length+;for(j=L-length-1;ji-2;j-)for(k=0;kelemj.namek=L-elemj-1.namek;L-elemj.numberk=L-elemj-1.numberk;L-elemj.sexk
11、=L-elemj-1.sexk;L-elemj.score=L-elemj-1.score;j+;for(k=0;kelemj.namek=newelem.namek;L-elemj.numberk=newelem.numberk;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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 顺序 实验
限制150内