c语言-学生成绩管理系统(共13页).doc
《c语言-学生成绩管理系统(共13页).doc》由会员分享,可在线阅读,更多相关《c语言-学生成绩管理系统(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C语言课程设计报告书 课程名称:学生信息管理系统一、设计目的:(1)本学期我们学习了C语言,由于初接触,学习有一定困难;于是学校给我们提供一次巩固提高的机会-课程设计。该可程设计要求学生既动手又动脑,自学,查资料,独立实践。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。(2)C语言的实践。掌握C语言函数的定义方法,函数的声明及函数的调用过程。掌握结构体类型变量的定义和使用,综合应用C语言的知识,实现一个完整的系统,提高编程能力,体会软件程序的开发过程。二、总体设
2、计(1)程序设计组成框图学生成绩管理系统1.按班级输出学生成绩单2.按姓名查询3.增加学生4.删除学生5.按班级修改学生成绩6.按班学期改学生成绩7.保存所有学生信息8.显示不及格学生成绩9.按平均成绩排序并输出成绩10.退出(2)模块功能说明1 输出功能:完成全部学生记录的显示。2 查询功能:输入姓名可以查询学生的详细信息。3 增加功能:增加新学生的信息。 4 删除功能:删除学生信息。5 修改功能:修改学生的错误信息。6保存功能:保存已输入信息。7读取功能:读取已输入信息。8显示功能:按要求显示学生记录。9 排序功能:按要求完成对学生信息的排序。 10 退出系统。(3)程序流程图开始输入指令
3、(110)学生成绩单按姓名查询增加学生删除学生按班级修改按学期修改保存信息不及格成绩平均分排序退出123456789100结束(4)主要函数之间相互调用如下:主函数main ()的调用switch(choice)case 1:OutputInformation();break; case 2:DesplayInfoBystudentName();break;case 3:p=MallocNode();GetInformation(p); InsertOneNode(p); break;case 4:DeleteNodeBystudentNumber();break;case 5:ChangeM
4、arkByName();break;case 6:ChangeMarkByNumber();break;case 7:SaveLinkToFile();break;case 8:DesplayMarkSegment();break;case 9:CompositorByTotalMark();break;case 10:SaveLinkToFile(); (5)各函数功能详见源程序清单(6)在设计过程中的感受:首先经过一周的编程实习,并在后一段的报告总结,我对C语言这门科有新的认识,本人实在是获益不浅!要想编写一个准确、高效并有使用价值的程序,一定先要对课本知识熟悉,还要掌握必要的上机操作能力
5、,写程序其实很容易而关键在于调试程序。这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验。其次, 通过此次编程我也发现了自己在学习中的错误和不足,复习了以前学过的知识。同时也学到了一些没学过的知识,让我从中收益非浅,也为期末考试准备了一下!更重要的是培养了独立思考问题和解决问题的能力,熟悉了一些基本操作和解决问题的方法!第三, 因为初次接触等原因此次设计遇到了许多问题,我深刻体会到老师发挥的重要作用,C语言程序对我们来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在老师的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除万难把程序搞定
6、,体会到原来编程也挺有意思的快感.我想没有老师的帮助我很难在短期内把程序设计做的这样好,在此特地感谢老师的帮助。三、源程序清单#include#include#include#includetypedef struct STUDENTchar studentNumber10;/*学生学号*/char studentName20;/*学生姓名*/char className20;/*班级名称*/char yearName20;/*学期名称*/float mark1;/*第1门成绩*/float mark2;/*第2门成绩*/float mark3;/*第3门成绩*/struct STUDENT
7、*next;STUDENT;STUDENT *headLink;/*链表表头指针*/*以下是函数声明*/void ReadInfoFormFile(void);void DesplayMenu(void);void CreateHeadLink(void);STUDENT *MallocNode(void);void GetInformation(STUDENT *t);void OutputInformation(void);void DesplayInfoBystudentName(void);void DesplayOneNode(STUDENT *t);void InsertOneNo
8、de(STUDENT *t);void DeleteNodeBystudentNumber(void);void ChangeMarkByName(void);void ChangeMarkByNumber(void);void SaveLinkToFile(void);void DesplayMarkSegment(void);void CompositorByTotalMark(void);int choose;/*用于接受用户的选择*/*主函数*/void main()CreateHeadLink();ReadInfoFormFile();DesplayMenu();/*函数功能:从文件
9、中读学生信息到链表中*/void ReadInfoFormFile(void)FILE *fp;STUDENT *p;fp=fopen(student.txt,r);if(!fp)printf(文件不存在n);return;p=MallocNode();while(fscanf(fp,%s%s%s%f%f%f,p-studentNumber,p-studentName,p-className,&(p-mark1),&(p-mark2),&(p-mark3)0)InsertOneNode(p);p=MallocNode();fclose(fp);/*函数功能:显示菜单,根据用户的输入完成相应的功
10、能*/void DesplayMenu(void)STUDENT *p;printf(-请选择相应功能-nn);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 按平均成绩排序并输出绩 |n);printf(| 10 退出 |nn);scanf(%d,&c
11、hoose);/*取得用户的选择*/switch(choose)case 1:OutputInformation();/*显示所有学生的信息*/break;case 2:DesplayInfoBystudentName();break;case 3:p=MallocNode();/*先申请一个新结点*/GetInformation(p);/*要求用户输入信息到新结点中*/InsertOneNode(p);/*将新结点加到链表中*/break;case 4:DeleteNodeBystudentNumber();/*根据用户输入的学号删除该学生*/break;case 5:ChangeMarkB
12、yName();/*根据用户输入的姓名修改学生成绩*/break;case 6:ChangeMarkByNumber();/*根据用户输入的学号修改学生成绩*/break;case 7:SaveLinkToFile();/*保存数据*/break;case 8:DesplayMarkSegment();/*显示不及格的学生成绩*/break;case 9:CompositorByTotalMark();/*按平均成绩排序*/break;case 10:SaveLinkToFile();/*保存数据后再退出*/free(headLink);exit(1);break;default:break;
13、DesplayMenu();/*递归调用*/*函数功能:建立链表表头*/void CreateHeadLink(void)STUDENT *p;p=(STUDENT*)malloc(sizeof(STUDENT);headLink=p;p-next=NULL;/*函数功能:申请一个新结点,并将其初始化*/STUDENT *MallocNode(void)STUDENT *p;int i;p=(STUDENT*)malloc(sizeof(STUDENT);if(p=NULL)return NULL;for(i=0;istudentNumberi=0;for(i=0;istudentNamei=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 13
限制150内