为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C课程设计报告--班级档案管理系统

2017-10-01 33页 doc 145KB 282阅读

用户头像

is_496339

暂无简介

举报
C课程设计报告--班级档案管理系统C课程设计报告--班级档案管理系统 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 班级档案管理系统 专 业 班 级 学 号 姓 名 指导教师 2014年 01 月 06 日 1 湖南工程学院 课 程 设 计 任 务 书 课程名称 C语言课程设计 课 题 班级档案管理系统 专业班级 纺织工程 学生姓名 学 号 指导老师 田媛 审 批 任务书下达日期 2013 年 12 月 26 日 任务完成日期 2014年 01 月 06 日 2 一、设计内容与设计要求 1(设计内容:...
C课程设计报告--班级档案管理系统
C课程设计报告--班级档案管理系统 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 班级档案管理系统 专 业 班 级 学 号 姓 名 指导教师 2014年 01 月 06 日 1 湖南学院 课 程 设 计 任 务 课程名称 C语言课程设计 课 题 班级档案管理系统 专业班级 纺织工程 学生姓名 学 号 指导老师 田媛 审 批 任务书下达日期 2013 年 12 月 26 日 任务完成日期 2014年 01 月 06 日 2 一、设计内容与设计要求 1(设计内容: 课题二:班级档案管理系统。具体内容见附录。 2(设计要求: 1)设计正确,合理。 2)界面友好,使用方便。 3)程序精炼,结构清晰。 4)上机演示。 3(设计报告要求: 课程设计报告格式如下: 1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。 2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。 3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。 二、进度安排 星期日 星期一 星期四 星期五 星期日 (17周) (18周) (18周) (18周) (18周) 14:00-17:00 18:00-21:00 18:00-21:00 18:00-21:00 交报告 上课时间另外安排。 3 附录: 设计课题二:班级档案管理系统 一、问题描述: 该系统实现对该班级学生的档案信息进行管理,包括录入、显示、修改、删除、查询、排序、保存等操作。 二、功能要求: 1、本系统采用结构体数组,每个数据的结构应当包括:学号、姓名、性别、年 龄、民族、备注。 2、系统功能: a. 信息录入:即添加记录。 b. 信息显示:以某种方式显示学生的信息,如按学号显示、按性别显示、 按年龄顺序显示、只显示男生或女生等等多种形式显示。(要求至少有 一种显示方式,不限于已列出的方式。) c. 信息修改:对已经输入的信息进行修改。 d. 信息删除:删除某个学生记录。 e. 学生基本信息查询:输入学号或姓名,显示其完整信息。 f. 信息保存:当添加、修改、删除信息后,应该将其存入文件。 g. 退出系统 3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。系统 的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时, 可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。 三、测试数据: 学生人数>=20。 4 目 录 1 系统需求 ...............................................6 2 概要设计 ...................................................6 3 详细设计 ...................................................7 4 系统测试 ..................................................13 5 课程设计总结 ..............................................16 5 1 系统需求分析 学生档案管理系统主要管理学生档案的基本信息。在系统中,每个用户是一条记录,包括学号、姓名、性别、年龄、备注。系统要对一个有N个用户的档案统一进行管理。包括了学生信息的录入、删除、修改、查询、插入等操作。本系统主要采用链表,结构体和函数来实现这些基本功能,而且能提供不同方式的查询功能,对学生信息的操作逐个地进行。 2 概要设计 系统功能模块图: 学生档案管理系统 录入 显示 保存 修改 插入 退出 排序 删除 各函数的主要功能: 主函数: void main() 录入函数:void enter() 显示函数:void list() /*直接显示学生信息*/ 保存函数:void save() /*保存学生信息*/ 插入函数:insert() 修改函数:void revise() /*修改录入的学生信息*/ 删除函数:void delete() /*删除录入的学生信息*/ 排序函数:void sort() /*排序录入的学生信息*/ 查找函数:void qseek() /*查找录入的学生信息*/ 读取函数:int load() /* 读取保存在文件中的学生信息*/ 6 3 详细设计 3.1程序中的模块机使用功能 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二:学生信息的录入 int enter(STUDENT t[])录入学生的基本信息。 模块三:学生信息的显示 void list(STUDENT t[],int n)就是把学生的基本信息显示在电脑上。 模块四:学生信息的保存 void save(STUDENT t[],int n)就是在把学生基本信息的保存下来。 模块五:学生信息的修改 void revise(STUDENT t[],int n) 插入学生信息。 模块六:学生信息的插入 int insert(STUDENT t[],int n) 修改已经录入的学生信息 模块七:学生信息的删除 int delete(STUDENT t[],int n)删除录入的学生信息 模块八:学生信息的排序 void sort(STUDENT t[],int n)排序录入的学生信息 模块九:学生信息按姓名查找 void qseek(TSTUDENT t[],int n)查找录入的学生信息 模块十:学生信息的读入 int load(STUDENT t[])读取保存在文件中的学生信息 模块十一:退出系统 3.2 主菜单 主菜单部分,用来提醒用户需要选择哪些功能。这部分是来通过一个无限循环来执行上述所有的功能模块,不断的输出菜单项目,用switch语句来执行用户选择的功能模块,每一个case后面就是对应的功能函数。如果用户选择输入的数字范围不在1-9的范围之内,系统会返回主菜单界面,重新输入。 7 menu_select() /*主菜单函数*/ { char s[80]; int c; printf("press any key enter menu......\n"); printf("********************MENU*********************\n\n"); printf(" 1. 学生基本信息录入\n"); printf(" 2. 学生基本信息显示\n"); printf(" 3. 学生基本信息保存 \n"); printf(" 4. 学生基本信息修改\n"); printf(" 5. 学生基本信息插入 \n"); printf(" 6. 学生基本信息删除\n"); printf(" 7. 学生基本信息排序\n"); printf(" 8. 学生基本信息查询\n"); printf(" 9. 退出系统"); printf("***********************************************\n"); do{ printf("\n Enter you choice(1~9):"); scanf("%s",s); c=atoi(s); }while(c<1||c>9); return c; } 3.3 录入 通过选择功能函数1后,屏幕会出现指示,要求依次输入姓名、学号、性别等,输完之后系统会自动返回主菜单界面,如果想继续输入学生信息就输入数字键1继续输入。 int enter(STUDENT t[]) /*录入函数*/ { int i,n; printf("\nplease input num \n"); scanf("%d",&n); printf("please input record \n"); printf("name no sex wYears remark\n"); printf("-------------------------------------------------------------------\n"); for(i=0;i=i;j--) { strcpy(t[j+1].name,t[j].name); strcpy(t[j+1].no,t[j].no); strcpy(t[j+1].sex,t[j].sex); t[j+1].wYears=t[j].wYears; strcpy(t[j+1].remark,t[j].remark); } strcpy(t[i].name,temp.name); strcpy(t[i].no,temp.no); strcpy(t[i].sex,temp.sex); t[i].wYears=temp.wYears; strcpy(t[i].remark,temp.remark); n++; return n; } 3.5 查找 按学号查找并删除模块的主要功能是用来删除学生基本信息的。在系统保存学生基本信息的前提下,想删除某学生的基本信息,就可以输入学生学号,系统查找该学生资料后,就可以删除了。可以及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。 void search(STUDENT t[],int n) { char s[20]; int i; 10 printf("please search name\n"); scanf("%s",s); i=find(t,n,s); if(i>n-1) printf("not found\n"); else print(t[i]); } 3.6 修改 按学生学号查找并修改模块的主要功能是用来修改学生基本信息的。在系统保存了某学生的基本信息的前提下,想要查找该学生的基本信息,可以该学生的学号,系统就会显示该学生的基本信息,这样根据提示修改学生的基本信息。 int revise(STUDENT t[]) { int i,n; printf("\nplease input num \n"); scanf("%d",&n); printf("please input record \n"); printf("name no sex wYears remark\n"); printf("-------------------------------------------------------------------\n"); for(i=0;in-1) printf("no found not deleted\n"); else { print(t[i]); printf("Are you sure delete it(1/0)\n"); scanf("%d",&ch); if(ch==1) { for(j=i+1;j9); return c; } int enter(STUDENT t[]) { 18 int i,n; printf("\nplease input num \n"); scanf("%d",&n); printf("please input record \n"); printf("name no sex wYears remark\n"); printf("-------------------------------------------------------------------\n"); for(i=0;in-1) printf("not found\n"); else print(t[i]); } void print(STUDENT temp) { printf("\n\n*****************************TEACHER****************************\n"); printf("name no sex wYears remark\n"); printf("--------------------------------------------------------------------\n"); printf("%-20s%-20s%-20s%-10d%-10s\n",temp.name,temp.no,temp.sex,temp.wYears,temp.remark); printf("*******************************end*********************************\n"); } int find(STUDENT t[],int n,char *s) { int i; for(i=0;in-1) printf("no found not deleted\n"); else { 20 print(t[i]); printf("Are you sure delete it(1/0)\n"); scanf("%d",&ch); if(ch==1) { for(j=i+1;j=i;j--) { strcpy(t[j+1].name,t[j].name); strcpy(t[j+1].no,t[j].no); strcpy(t[j+1].sex,t[j].sex); t[j+1].wYears=t[j].wYears; strcpy(t[j+1].remark,t[j].remark); } strcpy(t[i].name,temp.name); strcpy(t[i].no,temp.no); 21 strcpy(t[i].sex,temp.sex); t[i].wYears=temp.wYears; strcpy(t[i].remark,temp.remark); n++; return n; } void save(STUDENT t[],int n) { int i; FILE *fp; if((fp=fopen("record.txt","wb"))==NULL) { printf("can not open file\n"); exit(1); } printf("\nSaving file\n"); fprintf(fp,"%d",n); fprintf(fp,"\r\n"); for(i=0;i=0&&id0) { flag=1; strcpy(temp.name,t[j].name); strcpy(temp.no,t[j].no); strcpy(temp.sex,t[j].sex); 23 temp.wYears=t[j].wYears; strcpy(temp.remark,t[j].remark); strcpy(t[j].name,t[j+1].name); strcpy(t[j].no,t[j+1].no); strcpy(t[j].sex,t[j+1].sex); t[j].wYears=t[j+1].wYears; strcpy(t[j].remark,t[j+1].remark); strcpy(t[j+1].name,temp.name); strcpy(t[j+1].no,temp.no); strcpy(t[j+1].sex,temp.sex); t[j+1].wYears=temp.wYears; strcpy(t[j+1].remark,temp.remark); } if(flag==0)break; } printf("sort sucess!!!\n"); } void qseek(STUDENT t[],int n) { char s[20]; int l,r,m; printf("\nPlease sort before qseek!\n"); printf("please enter name for qseek\n"); scanf("%s",s); l=0;r=n-1; while(l<=r) { m=(l+r)/2; if(strcmp(t[m].name,s)==0) { print(t[m]); return ; } if(strcmp(t[m].name,s)<0) l=m+1; else r=m-1; } if(l>r) printf("not found\n"); } 24 int revise(STUDENT t[]) { int i,n; printf("\nplease input num \n"); scanf("%d",&n); printf("please input record \n"); printf("name no sex wYears remark\n"); printf("-------------------------------------------------------------------\n"); for(i=0;i说明书
的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩 教师签名: 日 期: 2014.01.10 27
/
本文档为【C课程设计报告--班级档案管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索