C语言学生成绩管理.doc
《C语言学生成绩管理.doc》由会员分享,可在线阅读,更多相关《C语言学生成绩管理.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、攀枝花学院学生课程设计(论文)题 目: 学生成绩管理 学生姓名: 王世奎 学 号: 200810804029 所在院(系): 计算机学院 专 业: 软件工程 班 级: 指 导 教 师: 张 会 职称: 讲师 2009年12月30日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目学生成绩管理1、课程设计的目的利用单链表实现学生成绩管理,了解数据库的管理的基本功能,使学生掌握C语言中的结构体、指针、函数(系统函数,自定义函数)、文件操作等知识,是一个C语言的综合应用。应注意指针变量做为函数参数,函数返回值为指向结构体的指针及单链表结构的应用等知识。2、课程设计的内容和要求(包括原始数据、技术
2、要求、工作要求等)一、用C中的单链表存储结构完成对学生成绩的动态管理,其基本内容和要求包括:(1) 菜单设计(2) 输入成绩(3) 查询(4) 修改成绩(5) 删除成绩(6) 成绩排序(7) 将成绩保存在文件中二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。3、主要参考文献4、课程设计工作进度计划课程设计时间为两周,分四个阶段完成:1. 分析设计阶段。引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这
3、几个步骤进行。这一阶段前第1天完成。2. 编码调试阶段:根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。这一阶段在第2-3天完成。3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。这一阶段在第4-5天完成。4. 考核阶段。这一阶段在第5天完成。指导教师(签字)日期年 月 日教研室意见:年 月 日学生(签字): 接受任务时间: 年 月 日注:任务书由指导教师填写。课程设计(论文)指导教师成绩评定表题目名称电话簿管理评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学
4、工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算
5、与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日目录摘 要11引言11.1问题的提出11.2学生成绩管理12系统分析12.1功能需求22.2总体要求2
6、2.3所建的函数模块23 程序设计33.1程序功能构架33.2主要函数33.3程序分析43.3.1结构体和全局变量定义43.3.2成绩录入功能模块43.3.3成绩查询功能模块73.3.4修改指定成绩模块123.3.5 成绩删除模块163.3.6成绩排序模块193.3.7求平均值模块223.3.8打印成绩模块233.3.9主函数244 程序运行264.1 录入成绩274.2 成绩查询304.3 修改成绩324.4 删除成绩344.5 成绩排序354.6算平均成绩364.7打印成绩375心得体会37参考文献38摘 要本次课程设计的题目是“学生成绩管理”,该管理系统的目的是能够实现基本的学生成绩管理
7、功能(录入新成绩,按姓名和学号查询成绩,删除指定学号的成绩,成绩排序,求平均成绩等)。本系统设置了桌面菜单进行各种操作,并有详细的操作提示语。整个程序设计模块化,并严格依据以设计的模块和主控框架设计功能模块函数。关键字:C程序 学生成绩管理 函数1引言1.1问题的提出学校每次考完试后,老师都会对班的的成绩进行排序,计算每个学生的总成绩和各科的总成绩,如果用笔来计算相当麻烦,因此有必要设计一个学生成绩管理系统来对学生成绩进行管理,使老师在计算成绩变得轻松。本次设计的成绩管理系统只是实现了一些简单常用的功能,创建成绩录入,查询,修改,排序,求平均成绩等功能。1.2学生成绩管理方便老师考试过会处理成
8、绩软件程序。通过使用学生成绩管理软件,老师们可以轻松的求平均成绩,对学生排名次,查询学生的各科成绩。该学生成绩管理系统由程序模块组成,通过主函数调用各个功能模块来实现对学生成绩的管理功能。2系统分析本次设计的学生成绩管理系统的设计思想首先需要实现对学生成绩的管理功能,可以对成绩进行有效的处理,如添加、修改、删除、查找等功能。适当的设置界面,加入详细的提示语,供老师使用。为了容易让人理解,分为不同的函数实现不同的功能。最后,再在主函数中调用建立的各种的函数模块。用C语言编写相应的程序、运行、调试,直到正确的实现相关的功能。2.1功能需求本次通过学生成绩管理系统,主要实现以下功能:(1) 录入新的
9、学生成绩信息。(2) 增加记录的修改功能,允许修改学生的各科成绩。(3) 设计一函数将指定学号的成绩从成绩表中删除(4) 设计一函数实现显示全部学生的各科成绩。(5) 设计一函数实现查询,查询分为按姓名查询和按学号查询。(6) 可以做到很容易的返回和退出。2.2总体要求用C实现一个学生成绩管理小程序。具有加入、删除、显示和查询学生成绩的功能。为了让人能清楚明白的使用,设计桌面菜单和附加详细的操作提示语。2.3所建的函数模块 (1)录入新成绩; (2)查询学生成绩; (3)修改学生成绩; (4)删除学生成绩; (5)显示所有记录; (6)排名次; (7)求平均成绩3 程序设计3.1程序功能构架学
10、生成绩管理系统打印成绩平均成绩成绩排序删除成绩修改成绩成绩查询录入成绩退出系统修改语文成绩修改数学成绩按学号查询按姓名查询修改英语成绩修改物理成绩修改化学成绩修改生物成绩3.2主要函数主函数 void main()成绩录入函数 input()成绩查询函数 search()成绩删除函数 del()成绩排序函数 paixu()求平均成绩函数 pingjun()打印成绩函数 print() 读入成绩表函数 read() 判断成绩表是否为空函数 decide()3.3程序分析#include /*标准输入输出函数定义*/#include /*动态存储分配函数定义*/#include /*动态存储分配函
11、数定义*/#include /*字符和字符串函数定义*/3.3.1结构体和全局变量定义typedef struct STint x;char nummber20;char name20;float yuwen,math,yingyu,wuli,huaxu,shengwu,total;struct ST *next;st;分析:定义了ST结构体,包含字符串数组name、nummber,浮点型变量yuwen,math,yingyu,wuli,huaxu,shengwu,total和一个指向结构体变量的指针变量next。3.3.2成绩录入功能模块分析:此函数的功能是录入学生成绩信息,录入时按提示输入
12、学生的学号,姓名和各科成绩,完成后提示保存还是继续录入,若选择保存,则在屏幕在显示输入的记录,并提示是否写入成绩表中。代码如下:void input() /*成绩录入函数*/int n=1,k,x;char ch;st *p,*l,*s;float yuwen,math,yingyu,wuli,huaxu,shengwu;char nummber20,name20;FILE *fp,*fp1;if(fp=fopen(a.txt,a+)=NULL)printf(打开a.txt文件出错!);if(fp1=fopen(xuhao.txt,r)=NULL)printf(打开xuhao.txt文件出错!
13、);fscanf(fp1,%d,&x);fclose(fp1);l=(st *)malloc(sizeof(st);s=l;while(n) /*录入学生学号,姓名,各科成绩,存到链表l中*/printf(请输入学号:);scanf(%s,nummber);printf(请输入姓名:);scanf(%s,name);printf(请输入语文成绩:);scanf(%f,&yuwen);printf(请输入数学成绩:);scanf(%f,&math);printf(请输入英语成绩:);scanf(%f,&yingyu);printf(请输入物理成绩:);scanf(%f,&wuli);printf
14、(请输入化学成绩:);scanf(%f,&huaxu);printf(请输入生物成绩:);scanf(%f,&shengwu);p=(st *)malloc(sizeof(st);strcpy(p-nummber,nummber);strcpy(p-name,name);p-yuwen=yuwen;p-math=math;p-yingyu=yingyu;p-wuli=wuli;p-huaxu=huaxu;p-shengwu=shengwu;p-total=p-huaxu+p-math+p-shengwu+p-wuli+p-yingyu+p-yuwen; /*计算总成绩*/p-x=+x;s-ne
15、xt=p;s=p;p-next=NULL;printf(任意键继续,0保存:);scanf(%c,&ch);scanf(%c,&ch);if(ch=0) n=0;if(fp1=fopen(xuhao.txt,w+)=NULL)printf(打开xuhao.txt文件出错!);fprintf(fp1,%d,x); /*将序号写入序号表中*/fclose(fp1);printf(录入信息如下:n);printf( 学号 姓名 语文 数学 英语 物理 化学 生物 总成绩n);printf(*nn);p=l-next;while(p!=NULL) /*打印出输入信息,确认保存*/ printf(%s
16、%-8s%-5.2f %-5.2f %-5.2f %-5.2f %-5.2f %-5.2f %-5.2fn,p-nummber,p-name,p-yuwen,p-math,p-yingyu,p-wuli,p-huaxu,p-shengwu,p-total);p=p-next;printf(确认录入请按1,取消请按0:);scanf(%d,&k);if(k=1)p=l-next;while(p!=NULL) /*写入成绩表*/fprintf(fp,%d %s %s %.2f %.2f %.2f %.2f %.2f %.2f %.2fn,p-x,p-nummber,p-name,p-yuwen,p
17、-math,p-yingyu,p-wuli,p-huaxu,p-shengwu,p-total);p=p-next;fclose(fp);printf(录入成功!n);printf(任意键返回n);getchar();getchar(); /*函数到此结束*/3.3.3成绩查询功能模块 分析:此模块的功能是执行学生成绩查询操作。包含search()、serachname()、aerachnummber()函数。3.3.3.1 查询方式菜单 分析:此函数的功能是让用户选择查询成绩的方式,search()函数调用decide()函数判断成绩表是否为空,不为空则进入查询菜单,提示用户选择查询方式,为
18、空则给出提示并返回到主函数。代码如下:void search() /*查询函数*/int n=1,k,i=1;st *l;i=decide();if(i)l=read();while(n) /*查询菜单*/printf(-查询方式-nn);printf( 1 姓名 n);printf( 2 学号 n);printf( 3 返回 n);printf(-n);printf(请选择:);scanf(%d,&k);switch(k)case 1:serachname(l);break;case 2:serachnummber(l);break;case 3:n=0;break;default :pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩 管理
限制150内