C语言课程设计学生成绩管理系统21726Word文档格式.docx
- 文档编号:13816314
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:24
- 大小:72.86KB
C语言课程设计学生成绩管理系统21726Word文档格式.docx
《C语言课程设计学生成绩管理系统21726Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统21726Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
按学号进行删除某学生的成绩.
(6)、排序功能:
按学生平均成绩进行排序。
(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
四课程设计应完成的工作
(1)编写算法;
(2)算法测试,并有具体的测试结果和结果分析;
(3)撰写课程设计报告。
内容包括:
1)封面扉页
2)设计任务书
3)目录
4)总体设计方案(包括流程图)
5)使用说明及运行实例(包括界面)
6)成员设计内容简介
7)项目源程序代码(注意注释的使用)
8)指导教师评语
五总体设计(包含几大功能模块)
1、成绩录入功能
2、成绩输出功能
3、成绩查询功能
4、删除模块
5、排序功能
6、统计功能
7、退出系统
六详细设计
6.1各个模块的功能和实现
(1)整个成绩管理系统设计分为9个模块:
1.输入学生成绩
2.删除学生成绩
3.查询学生成绩
4.修改学生成绩
5.排序学生成绩
6.保存记录
7.显示所有
8.退出系统
9.修改管理员信息
(2)(主要函数的功能)
1.主函数main():
定义学生结构体数组,调用录入,统计等函数对成绩表进行处理。
2.输入数据函数input():
输入学号、成绩。
3.排序函数sort():
对总成绩或者平均成绩,进行排序,按从高到低或者从低到高。
4.显示数据函数display():
显示各个学生的总成绩
5.新增数据函数insert():
增加学生学生记录。
6.删除数据函数del():
由于各种原因,删除某些同学的成绩、学号等。
7.平均值函数average():
求各个同学总成绩的平均值。
8.查询数据函数qur():
查询学生的信息。
9.保存数据函数save():
再一次打开界面是,仍有上次所找的讯息。
10.退出系统函数exit():
当要退出整个系统时。
6.2流程图
(管理员模式流程图)
(来宾模式流程图)
七调试分析(各模块测试结果)
7.1源代码
#include<
stdio.h>
string.h>
time.h>
stdlib.h>
conio.h>
#defineHEADER2"
学号姓名数学英语C语言总分平均分\n"
#defineFORMAT"
%s%s%d%d%d%d%.2f\n"
#defineDATAp->
data.num,p->
data.name,p->
data.mgrade,p->
data.egrade,p->
data.cgrade,p->
data.total,p->
data.ave
intsaveflag=0;
typedefunsignedshortWORD;
structstudent{
charnum[10];
charname[15];
intmgrade;
integrade;
intcgrade;
inttotal;
floatave;
};
typedefstructnode{
structstudentdata;
structnode*next;
}Node,*Link;
voidmenu(){
time_tnow;
now=time(NULL);
printf("
学生成绩管理系统\n"
);
\n"
*******************************************************************\n"
**\n"
*1输入成绩2删除成绩*\n"
*3查询成绩4修改成绩*\n"
*5排序成绩6保存记录*\n"
*7显示所有0退出系统*\n"
*8切换登录模式9修改管理员信息*\n"
\n请你选择操作命令前的的数字(0~9):
"
}
intmenu2(){
//intselect;
system("
cls"
//清屏
\n学生模式\n\n\n"
*1查询成绩2排序成绩*\n"
*3显示所有0退出系统*\n"
*4切换登录模式*\n"
\n请你选择操作命令前的数字(0~4):
return0;
voidprintheader()
{
printf(HEADER2);
voidprintdata(Node*pp){
Node*p;
p=pp;
printf(FORMAT,DATA);
voidWrong(){
\n\n\n\n************错误:
输入不合法!
!
*********\a\n"
getch();
voidNofind(){
\n没有该学生!
Node*locate(Linkl,charfindmess[],charnameornum[])
Node*r;
if(strcmp(nameornum,"
num"
)==0)
{
r=l->
next;
while(r)
{
if(strcmp(r->
data.num,findmess)==0)
returnr;
r=r->
}
}
elseif(strcmp(nameornum,"
name"
while(r)
data.name,findmess)==0)
voidstringinput(char*t,intlens,char*notice)
charn[225];
do
printf(notice);
scanf("
%s"
n);
if(strlen(n)>
lens)
printf("
\n超出宽度!
}while(strlen(n)>
lens);
strcpy(t,n);
intnumberinput(char*notice)
{intt=0;
%d"
&
t);
if(t>
100||t<
0)printf("
\n分数必须在0~100之间!
}while(t>
0);
returnt;
voidDisp(Linkl){
p=l->
if(!
p)
\n目前无学生成绩记录!
return;
\n\n"
printheader();
while(p)
printdata(p);
p=p->
//移至下一个结点
voidAdd(Linkl){
//printf("
增加学生记录模块\n"
//system("
PAUSE"
Node*p,*r,*s;
charch,flag=0,num[10];
r=l;
Disp(l);
//先打印已有的学生信息
while(r->
next!
=NULL)
r=r->
//将只指针移至链表末尾,准备添加记录
while
(1)//一次可输入条记录,直至输入的学号我0的记录节点添加操作
s=l->
while
(1)
stringinput(num,10,"
学号(按0退出):
flag=0;
if(strcmp(num,"
0"
return;
s=l->
while(s)//查询学号是否存在,若存在则要求重新输入
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 成绩管理系统 21726