学生信息管理系统实验8

上传人:cn****1 文档编号:559831574 上传时间:2023-01-31 格式:DOC 页数:33 大小:517.50KB
返回 下载 相关 举报
学生信息管理系统实验8_第1页
第1页 / 共33页
学生信息管理系统实验8_第2页
第2页 / 共33页
学生信息管理系统实验8_第3页
第3页 / 共33页
学生信息管理系统实验8_第4页
第4页 / 共33页
学生信息管理系统实验8_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《学生信息管理系统实验8》由会员分享,可在线阅读,更多相关《学生信息管理系统实验8(33页珍藏版)》请在金锄头文库上搜索。

1、安徽新华学院数据结构课程设计设计题目:学生信息管理系统(顺序)小组成员姓名:陈家东张道奎朱慧敏王莹张永明小组成员学号:1032104103/55/62/41/60专业班级:10软件技术(1)班指导教师:李红梅安徽新华学院信息工程学院日期:数据结构课程设计任务及成绩院系:信息工程学院教研室:软件教研室成员姓名承担分工任务陈家东算法设计、文档编排张道奎流程图、算法设计朱慧敏算法修改、截图王莹总结、文档编排张永明算法修改、总结课程设计任务概述课程设计任务是为了实现学生信息的相关操作,方面 用户快速得到学生的各种信息,并且能进行信息的更新、 插入、删除等操作。课程设计的主要目的:熟练利用数 据结构各种

2、算法思想设计程序;掌握 C语言基本语法; 通过课程设计,加深对数据结构课程所学内容的进一 步理解和巩固;加深对结构化课程设计思想的理解,并设 计合理的模块化结构;提高程序开发功能,能运用合理的 控制流程编写清晰高效的程序;培养分析问题、解决问题 的能力。在课程设计中,我们充分发挥小组优势完成课程设计, 同时也体会到小组合作的重要性与必要性。成绩成绩:指导教师签字:年月日课程设计要求:1 第一页是封面,第二页是成绩评定页,第三页是目录,后面是 正文。2 正文包括:实验目的、实验内容、实验基本要求(软、硬件) 、 算法设计思想、算法的流程图、算法源代码、运行结果、收获 及体会。3 正文要有页眉和页

3、脚,其中页眉的格式为课程设计的题目,页 脚的格式为“共 N 页,第 X 页”。页码要求从正文从第一页开 始,即:封面、成绩评定页和目录页不能有页眉和页脚。4 要求全部用 A4 纸打印,每组装订成册在课程设计结束后 3 日内上交指导老师处目录一、实验目的 1二、实验内容 1三、基本要求 1四、算法设计思想 1五、算法流程图 1六、算法源代码 6七、运行结果 22八、收获和体会 2525九、致谢1. 实验目的:通过制作学生信息管理系统(1) 基本掌握面向过程程序设计的的基本思路和方法;(2) 达到熟练掌握C语言的基本知识和技能;(3) 能够利用所学的基本知识和技能,解决简单的程序设计问题。2. 实

4、验内容:输入一个班学生的学号,姓名,性别,成绩。编程插入学生信 息,设计查找每个学生的信息,删除学生信息,输出学生信息,修改 学生信息,报表和显示学生信息,及退出学生信息管理系统。3. 基本要求:(1) 硬件:微机,打印机各一台(2) 软件:Visual C+,windows74. 算法设计思想(1) .分析程序的功能要求,划分程序功能模块。(2) .画出系统流程图。(3) .代码的编写。定义数据结构和各个功能子函数。(4) .程序的功能调试。5. 算法的流程图Ma in 主函数开始程序结束6算法源代码#include #include #include#define OK 1#define

5、ERROR 0#define OVERFLOW -2#define MAXSIZE 10#define List_INIT_SPACE 10#define List_INC_SPACE 1typedef structchar number10;char name10;char sex10;int score;Elemtype;typedef structElemtype *elem;int length;int listsize;sqlist;/*1 创建空顺序表并初始化 */void creatList(sqlist *L)int i=0,n;Elemtype *newbase;L-elem

6、=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype)5if(!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(Elemtype);if(newbase)L-elem=newbase;L-listsize+=L

7、ist_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);L-length+;printf(%d 名学生信息如下 :n,L-length

8、);printf(学号(15)姓名(15)性别(男:M女:F)成绩n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-elemi.n ame,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-listsize)newbase=(Elemtype*)reallo

9、c(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(%16s,newelem.sex);printf( 成绩

10、 n);scanf(%10d,&newelem.score);printf( 要插入到第几个位置: );scanf(%d,&i);while(iL-length+1)printf(不能插入到第%d个位置!n只能插入第1到第%d个位置上!n请重新输入要插入的位置:丄-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=L-elemj-1.sexk;L-elemj.sc

11、ore=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)成绩n);for(i=0;ilength;

12、i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-elemi.n ame,L-elemi.sex,L-elemi.score);/*3 查找学生信息 */ int findlist(sqlist *L)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;

13、return 0;elseprintf( 请输入姓名: );scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-elemj.name)/ 用数组函数return j+1;return 0;/*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=L-elemj+1;L-leng

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号