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

链接地址:https://www.31ppt.com/p-3155247.html