欢迎来到天天文库
浏览记录
ID:6383838
大小:566.00 KB
页数:29页
时间:2018-01-12
《学生管理系统 c语言》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计课程设计报告设计题目:学生成绩管理系统学号201230283151班级12级电信信息三班姓名王自钊完成方式:(单选)自我评分:(单选)○独立完成○优秀●参考他人工作的基础上完成●良好○在他人的帮助下完成○中等○完整拷贝他人成果○及格○不及格2013年5月18日设计任务:C语言课程设计任务书3题目:学生成绩管理系统功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统要求实现以下功能:1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);2、信息查询:输入学号,查询学生各门课程的成绩,并显示。3、排序:
2、按各门课程的成绩平均分进行排序,并显示。4、信息删除与修改——输入学号,删除该学生的成绩信息。分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。要求:1、用C语言实现程序设计;2、利用结构体数组实现学生信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。一、总体设计1.程序总体设计1)主操作界面与次级操作界面2)学生信息成绩录入功能3)学生信息成绩
3、查询功能4)学生信息成绩修改模块5)学生信息成绩删除功能6)输出系统内全部信息功能7)各科平均分排序功能2.数据结构typedeffloatElemType;typedefstructNodeType/*本程序使用的结构体,具体成员在下面注释*/{unsignedlongNum;//学号charname[15];//学生姓名ElemTypecourse[3];//学生三门科目的成绩ElemTypeaverage;//学生三门科目成绩平均分charSex[3];//学生性别structNodeType*next;//指向下一个结构体的指针}NodeType,*Li
4、nkList;//结点和指针类型1.函数原型声明的说明voidMakeNode(LinkList&q);//分配由L指向的元素为e,后继为空的结点voidInitlist(List&L);//初始化链表voidInsert(List&L,LinkListq,LinkLists);//在指针q所指元素后插入s指针所指向的元素voidClear(List&L);//清空链表(系统重置)voidAppend(List&L,LinkLists);//在线性链表尾部插入一个结点svoidReadin(List&L);//从文件中读入数据voidSearchStu(List
5、L);//按学号查找信息并显示voidPrintfall(ListL);//输出所有学生的成绩信息到屏幕voidInsertstu(List&L);//插入一个学生的成绩信息voidFwriteStu(ListL);//保存学生数据信息voidChange(ListL,LinkListp);//修改学生信息voidChangeclear(LinkListp);//修改操作中的清屏voidStucopy(LinkListp,LinkListq);//结点复制voidAlter(ListL);//按学号修改信息voidDelete(ListL);//按学号删除信息v
6、oidrank(ListL);//各科平均分排序voidsysclear();//操作完成后清屏并返回主菜单voidtable();//输出信息时的表头intLocate(ListL,unsignedlonge,LinkList&p);//按学号定位1.流程图二、详细设计输出p指向结点内所有信息到屏幕调用sysclear()清屏返回主菜单是否重新输入学号e?重新输入ep=p.nextp.num==e?p.next==NULL?从主菜单接受指令输入学号e,定义结点指针p,p=L.head1.查找voidSearchStu(ListL)NNYYN输出p指向结点内所有
7、信息到屏幕调用sysclear()清屏并返回主菜单是否重新输入学号e?重新输入e“是否确认删除YorN”从主菜单接受指令输入学号e,定义结点指针p,q,q=L.head,p=q.nextq=q.nextp=q.nextp.num==e?p.next==NULL?p->next=q->next;L.len--;free(q);FwriteStu(L);调用sysclear()清屏返回主菜单2.删除voidDelete(ListL);NNYYYNNY从主菜单接受指令3.修改输入学号e,定义结点指针p,q,q=L.headq=q.nextp.next==NULL?p.
8、num==e?重新输入e
此文档下载收益归作者所有