《C语言课程设计报告-学生学籍管理系统.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计报告-学生学籍管理系统.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 信息学院 课程设计报告 课程名称_C 语言程序设计_ _ 题目名称 学生学籍管理系统 .学生学院_ 信息学院_ _ _ 专业班级_ 计科 12 学 号 学生姓名 指导教师_ _ _ :2013 年 12 月 26 日 目录 一、设计目的与要求.3 题目与设计要求.3 本程序设计的知识点.4 二、功能设计.4 总体设计.4 详细设计.5 测试结果及分析.12 五、总结.14 六、参考文献.14)一、设计目的与要求 题目与设计要求 题目:学生学籍管理系统 目的:1、了解和熟悉 Visual C+软件编程开发环境¥2、熟练掌握结构化程序设计的步骤和模块化设计方法 3、熟练掌握 C 语言数据类型,熟
2、记字符型数据和整形数据的定义和使用 4、熟练掌握用 while 语句、dowhile 语句和 for 语句实现循环结构程序设计的方法 5、掌握一维数组、二维数组的定义、赋值和输入输出的方法 6、掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法)7、熟悉函数的定义、声明方法及全局变量和局部变量的概念与用法,掌握函数的调用方法 8、掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用 设计要求:学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排
3、序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。Struct )int stuNo;d,sisp.name,&sisp.sex,&sisp.room,&sisp.tel);sp+;fclose(fp);fp=fopen(,r);while(!feof(fp)fscanf(fp,%d%s%s%d%d%d%d,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c,&mimp.d
4、);显示主菜单 查询功能 数据录入 删除功能 排序功能 退出功能 学籍信息管理系统 显示一系列功能选【根据 x 的值调用各功能模块结束 开始 开始 输入学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 结束 数据输入 开始,数据删除 结束 输入学号 if(mimp.c=-1)mimp.e=*mimp.b+*mimp.d;else mimp.e=*mimp.b+*mimp.c+*mimp.d;;if(mimp.e=90.)mimp.f=mimp.a;else if(mi mp.e=80.)mimp.f=mimp.a*;else if(mimp.e=70.)mimp.f=mimp.a*
5、;else if(mimp.e=60.)mimp.f=mimp.a*;else mimp.f=0;mp+;fclose(fp);*显 示 主 菜 单*这部分是对本程序的主要功能做出的展示,体现了本程序的五大功能,简洁明白,一目了然。【Void DisplayMainMenu()printf(“n 1)数据录入 n 2)数据查询 n 3)数据删除 n 4)数据排序 n 5)程序结束 n“);*数 据 录 入 模 块*录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共 7 个数据,即对关于学生成绩基本信息的结构体数组进行输入,也就是文件中的内容。void DataInpu
6、t();FILE*fp;int i;printf(学生的学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩n);while(1)scanf (%d%s%s%d%d%d%d,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c,&mimp.d);if(mimp.Id=-1)break;if(mimp.c=-1)mimp.e=*mimp.b+*mimp.d;else mimp.e=*mimp.b+*mimp.c+*mimp.d;if(mimp.e=90.)mimp.f=mimp.a;else if(mi mp.e=8
7、0.)mimp.f=mimp.a*;else if(mimp.e=70.)mimp.f=mimp.a*;else if(mimp.e=60.)mimp.f=mimp.a*;else mimp.f=0;mp+;fp=fopen(,r+);for(i=0;imp;i+)fprintf(fp,%d%s%s%d%d%d%d,&mii.Id,mii.courseNo,mii.courseName,&mii.a,&mimp.b,&mii.c,&mii.d);【fclose(fp);*查 询 模 块*此段程序是为实现信息查询功能而设计的。总体来讲,分为两大功能模块,一是学生基本信息查询,二是对学生成绩的查询
8、。在第一种查询,即对学生基本信息的查询中,又提供了两种查询方式,一种是按学号对学生基本信息进行查询,一种是按宿舍号码对学生基本信息进行查询。Void DataQuery()int x,y,z;printf(“n 1)学生基本情况查询n 2)成绩查询n”);-选择查询内容 scanf(“%d”,&x);if(x=1)d!=x)i+;if(isp-1)for(k=i;ksp-1;k+)sik=sik+1;(if(isp)sp-;d=0;for(k=0;kmp;k+)if(mik.Id=x)d+;else mik-d=mik;*mp=mp-d;fp=fopen(D:,r+);for(i=0;i=1;
9、i-)for(j=0;jmij+1.e))t=mij;mij=mij+1;mij+1=t;markput();四、测试分析 测试结果及分析 显示主菜单 数据录入功能。对成绩进行录入(2)查询功能,按学号进行查询(3)排序功能按综合成绩排序(4)删除功能 退出程序 五、总结 这次学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来才能做好每一件事。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体、文件、指针等。为了解决问题,最好就是多向同学,老师请教。六、参考文献 参考文献必须是在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序排列。1 谭浩强,C 语言程序设计(第四版)M,清华大学出版社,2008 年 2谭浩强编著C 程序设计题解与上机指导北京:清华大学出版社,1992 3潭浩田淑清编著PASCAL 语言程序设计第二版 北京:高等教育出版社,1998
限制150内