文档详情

C语言课程设计实训论文-学籍管理系统.doc

发布:2018-01-26约1.65万字共40页下载文档
文本预览下载声明
北京联合大学 实训报告 课程名称: C语言程序设计课设 项目名称: 学籍管理系统 学 院: 信息学院 专 业: 通信工程 姓 名: 学 号:05 34 19 25 15 指导教师: 成 绩: 2011年2月18日 目录 第一部分 实训题目与要求 3 1 问题提出 3 2 功能要求 3 3 任务分工 3 第二部分 设计实训题目功能 4 1 总体设计 4 2 算法设计 5 3 数据结构 15 4 程序代码设计 15 5 测试与调试 16 第三部分 实训总结 17 1 个人总结 17 2 结束语 18 附录A 程序清单 18 附录B 用户使用说明书 37 参考文献 38 第一部分 实训题目与要求 1 问题提出 学籍管理系统可广泛应用于全日制大、中小学及其他各类学校,对学生的、升级、学籍变动进行综合管理和快速查询。节省在学籍管理花费的人力和物力,能够游览学生学籍信息 能够mycreat()录入数据 myprint1()显示主菜单 myprint2()统计成绩 myprint3()处理学籍 mydisplay()创新功能 mynumsort()按学号排序 mysort()计算平均分并排序 myfenduan()统计分数段 myretake()生成并打印补考通知单 myselect()生成并打印退学通知单 mynewcreat()生成并打印新名册 2 算法设计 1 分析主模块算法:输出主菜单后键盘输入1-4并回车,进入相应应用;若输入非法选项则会提示“非法选项”并提示是否继续。 2 分析录入成绩模块算法:创建一个文件yuan.dat,并把从键盘输入的数据(学号、姓名、成绩)存放在该文件中;每写入一组记录,文件记录数增1。建立录入成绩模块的流程图如下图所示。 3 分析按学号排序模块的算法: 4 分析计算平均分并排序的算法 5 分析统计分数段的算法 6 分析生成并打印补考通知单的算法 7 分析生成并打印退学通知单的算法 8 生成并打印新名册 9 分析创新功能中的显示数据的算法 3 数据结构 struct student { char name[10]; /*学生姓名*/ int grade[5]; /*学生分数*/ double ave; /*学生平均分*/ char num[10]; /*学生学号*/ }; 4 程序代码设计 简介函数:Mydisplay() int n=0,j=0,k=0,m=0,ww; 首先定义整型变量 n j k m ww。 struct student temp[N]={0}; 定义结构体 temp[N] FILE*fp=NULL; 定义指针变量fp fp=fopen(d:\\yuan.dat,r); 此处为打开yuan.dat文件并读取其中数据 包括 学号、姓名、以及其五门功课的成绩。 if(fp==NULL) { printf(打开文件失败!\n); return; } system(cls); while(feof(fp)==0) { ww=fscanf(fp,%23s%15s,temp[n].num,temp[n].name); if(ww==-1) break; for(j=0;j5;j++) { fscanf(fp,%d,temp[n].grade[j]); } n++; }此处的n记录了一共有多少位同学。 for(k=0;kn;k++)进行循环操作,分别显示出每一位同学的信息 { printf(%23s %15s ,temp[k].num,temp[k].name); for(m=0;m5;m++) { printf(%d ,temp[k].grade[m]); } printf(\n); } if(n==0)printf(\n 文件中无记录!\n);判断n是否为0,显示文件记录 else printf(\n 文件中共有%d个
显示全部
相似文档