程序课程设计学生信息管理

上传人:aa****6 文档编号:39219579 上传时间:2018-05-13 格式:DOC 页数:30 大小:584.50KB
返回 下载 相关 举报
程序课程设计学生信息管理_第1页
第1页 / 共30页
程序课程设计学生信息管理_第2页
第2页 / 共30页
程序课程设计学生信息管理_第3页
第3页 / 共30页
程序课程设计学生信息管理_第4页
第4页 / 共30页
程序课程设计学生信息管理_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《程序课程设计学生信息管理》由会员分享,可在线阅读,更多相关《程序课程设计学生信息管理(30页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告课程名称课程名称 C 语言课程设计语言课程设计 课题名称课题名称 学生信息管理学生信息管理 专专 业业 机械设计制造及其自动化机械设计制造及其自动化 班班 级级 机械设计机械设计 1001 班班 学学 号号 9 姓姓 名名 邱喜华邱喜华 指导教师指导教师 肖彬肖彬 陈多陈多 2011 年年 7 月月 4 日日1湖南工程学院课 程 设 计 任 务 书课程名称 C 语言程序设计 课 题 学生信息管理 专业班级 机械设计 1001 班 学生姓名 邱喜华 学 号 9 指导老师 肖彬 陈多 审 批 任务书下达日期 2011 年 7 月 4 日任务完成日期 2011 年 7 月 6

2、日2一一、设设计计内内容容与与设设计计要要求求1 设计设计内容:内容:设计与开发一个学生信息管理系统,对学生的学号、姓名、性别、年龄等基本信息进行管理、主要功能如下:1)输入记录2)显示全部记录3)查找记录4)删除记录5)插入记录6)保存文件7)读文件8)按学号显示记录9)按姓名排序2 设计设计要求:要求:1) 设计正确,方案合理。2) 界面友好,使用方便。3) 程序精炼,结构清晰。4) 设计报告 5000 字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5) 实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6) 上机演示。3二、二、进进度度安安排排周一 晚上 18:00

3、22:00 (查阅相关资料并 开始编写源程序) 周二 上午 8:0012:00 (完成源程序编写调试运行 课程设计报告)周三 上午 8:0012:00(完成课程设计报告以及答辩)附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单) 。 正文的格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为 22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图) ;三、主要功能 的实现(至少要有一个主要模块的流程图) ;四、程序调试;五、总结;六、附件(所有程序的源 代码,要求对程序写出必要的注释) 。 正文总字数

4、要求在 5000 字以上(不含程序源代码) 。4学生信息管理系统学生信息管理系统一、程序功能一、程序功能学生信息管理系统的功能是以菜单方式工作,用户通过选择数字来选择学生信息录入功能输入学生基本信息(包括学号、姓名、年龄、性别等) ;信息浏览功能输出学生的基本信息;查询、排序功能算法,按学号查询,按姓名查询。学生信息的删除与修改(可选项)的等基本的功能,从而实现用户的想法。在各项基本功能之下我们可以看到各种小的模块来满足用户的各种需求,达到快速方便的效果。基本功能模块:1) 输入记录 2) 显示全部记录3) 查找记录 4) 删除记录5) 插入记录 6) 保存文件7) 读文件 8) 按学号显示记

5、录9) 按姓名排序二、程序设计目的二、程序设计目的通过实现学生信息管理,了解数据库管理的基本功能,掌握 C 语言中的数组、指针、函数(系统函数、自定义函数)等知识,是一个 C 语言知识的比较综合应用。三、程序设计三、程序设计3.13.1 总体设计思想总体设计思想通过 C 语言实现设计。学生信息管理系统的功能为显示主要操作界面,档案信息处理功能。学生信息处理功能包括输入学生信息,显示学生的档案信息,学生档案信息条件查询(分为:按学生姓名进行查询,按学生学号进行查询) ,更新学生档案信息。53.23.2 程序设计流程图程序设计流程图6主调函数开始主 菜 单0、输入记录1、显示全部记录2、查找记录3

6、、删除记录4、插入记录5、保存文件6、读文件7、按序号显示记录8、按姓名排序9、复制文件10、如返回值为 11 则程序结束四、基本功能模块四、基本功能模块4.14.1 enterenter()输入记录()输入记录7输入学生信息,按照提示信息输入学号(字符串不超过 20 位) 、姓名(字符串不超过 20 位) 、性别(字符串不超过 10 位) 、年龄(字符串不超过 10 位) ,每输入一个数据就按一下回车键,进行下一个数据的输入。输入函数的流程图为输入记录数i=0Rn-1?查无此人输出该人信息结束开始YN4.44.4 delete()delete() 删除函数删除函数删除指定姓名的学生记录。首先

7、输入要删除学生记录的姓名,输入后判断该学生是否存在,如果不存在,则输出没找到的提示信息;否则,显示找到的学生信息,按任意键后进行该学生信息的删除。函数的流程图为:10开始输入姓名i=find(t,n,s)in-ij=ich=1j=ii=i?记录后移j-结束124.64.6 savesave()保存函数()保存函数将所有的学生信息进行储存。其程序的流程图为:开始fp=fopen(“record.txt”,” wb”)=NULL不能打开,退出i=0i=0 /*选择项不在 011 之间重输*/return c; /*返回选择项,主程序根据该数调用相应的函数*/*输入记录,形参为结构体数组,函数值返回

8、类型为整型表示记录长度*/int enter(STUDENTS t)int i,n;char *s;clrscr(); /*清屏*/21printf(“nplease input num n“); /*提示信息*/scanf(“%d“, /*输入记录数*/printf(“please input record n“); /*提示输入记录*/printf(“no name sex agen“);printf(“-n“);for(i=0;in-1) /*如果整数 i 值大于 n-1,说明没找到*/printf(“not foundn“);elseprint(ti); /*找到,调用显示函数显示记录

9、*/*显示指定的一条记录*/void print(STUDENTS temp)clrscr();printf(“nn*n“);printf(“no name sex agen“);printf(“-n“);printf(“%-20s%-20s%-10s%-10dn“,temp.no,temp.name,temp.sex,temp.age);printf(“*end*n“);/*查找函数,参数为记录数组和记录条数以及姓名 s */int find(STUDENTS t,int n,char *s)int i;for(i=0;in-1)printf(“no found not deleten“);

10、else print(ti);printf(“Are you sure delete it (1/0)n“);scanf(“%d“,if(ch=1) for(j=i;j=i;j-) /*从最后一个结点开始向后移动一条*/strcpy(tj+1.no,tj.no); /*当前记录的学号拷贝到后一条*/strcpy(tj+1.name,tj.name); /*当前记录的姓名拷贝到后一条*/strcpy(tj+1.sex,tj.sex); /*当前记录的性别拷贝到后一条*/tj+1.age=tj.age; /*当前记录的年龄拷贝到后一条*/strcpy(ti.no,temp.no); /*将新插入记

11、录的学号拷贝到第 i 个位置*/strcpy(ti.name,temp.name); /*将新插入记录的姓名拷贝到第 i 个位置*/strcpy(ti.sex,temp.sex); /*将新插入记录的性别拷贝到第 i 个位置*/ti.age = temp.age; /*将新插入记录的年龄拷贝到第 i 个位置*/25n+; /*记录数加 1*/return n; /*返回记录数*/*保存函数,参数为结构体数组和记录数*/void save(STUDENTS t,int n)int i;FILE *fp; /*指向文件的指针*/if(fp=fopen(“record.txt“,“wb“)=NULL

12、) /*打开文件,并判断打开是否正常*/printf(“can not open filen“);/*没打开*/exit(1); /*退出*/printf(“nSaving filen“); /*输出提示信息*/fprintf(fp,“%d“,n); /*将记录数写入文件*/fprintf(fp,“rn“); /*将换行符号写入文件*/for(i=0;i=0 strcpy(temp.no,tj+1.no);strcpy(temp.name,tj+1.name);strcpy(temp.sex,tj+1.sex);temp.age=tj+1.age;strcpy(tj+1.no,tj.no);

13、strcpy(tj+1.name,tj.name);strcpy(tj+1.sex,tj.sex);tj+1.age=tj.age;strcpy(tj.no,temp.no);strcpy(tj.name,temp.name);strcpy(tj.sex,temp.sex);tj.age=temp.age;28if(flag=0)break; /*如果标志为 0,说明没有发生过交换循环结束*/printf(“sort sucess!n“); /*显示排序成功*/*复制文件*/void copy()char outfile20; /*目标文件名*/int i,n;STUDENTS tempM;

14、/*定义临时变量*/FILE *sfp,*tfp; /*定义指向文件的指针*/clrscr();/*清屏*/if(sfp=fopen(“record.txt“,“rb“)=NULL) /*打开记录文件*/printf(“can not open filen“); /*显示不能打开文件信息*/exit(1); /*退出*/printf(“Enter outfile name,for example c:f1te.txt:n“); /*提示信息*/scanf(“%s“,outfile); /*输入目标文件名*/if(tfp=fopen(outfile,“wb“)=NULL) /*打开目标文件*/printf(“can not open filen“); /*显示不能

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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