没有合适的资源?快使用搜索试试~ 我知道了~
首页学生成绩管理(C语言课设).doc
资源详情
资源评论
资源推荐

《C 语言上机实习作业》
学院: 计算机科学与技术学院
班级:
学号:
姓名:
指导老师:

C
语言程序设计 实验报告
指导教师 实验时间:
学院 计算机科学与技术学院 专业 班级
学号 姓名 实验室
课题名称:学生成绩管理
设计目的:(1)能按学期、按班级完成对学生成绩的录入、修改;
(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序;
(3)能查询学生成绩,不及格科目及学生名单;
(4)能按班级输出学生的成绩单;
(5)系统以菜单方式工作.
详细设计:
Main 函数:
输入 st
st=1 st=2 st=0
输入 te、cl、term[te].total[cl] 调用 load()函数 结束
输出 te、cl、term[te].total[cl] 输出成绩总表
进入下一菜单,输入 op
op=1
调用 save()、savetxt()函数
输入、输出 te、cl、term[te].total[cl]
te、cl 自减
调用*creat()函数
break
op=2
输入、输出 te、cl
te、cl 自减
调用*sort()函数
break
1
函数
、退出系
统
、创建成
绩单
、查询旧
的成绩单
创建新
的成绩单
按成绩
排序
查找及
修改成绩
查询不
及格科目
及人名单
输出成
绩单
查询旧
的成绩单
保存
成绩单
退出系
统

op=3
输入、输出 te、cl
te、cl 自减
输入、输出 num
调用*find()函数
NULL !NULL
无该学号的记录 是否修改?1 or 0
break 1 0
输入、输出 num、name break
输入、输出 p->score[0]
直到 p->score[0]>100||p->score[0]<0
输入、输出 p->score[1]
直到 p->score[1]>100||p->score[1]<0
输入、输出 p->score[2]
直到 p->score[2]>100||p->score[2]<0
计算总分 score[4]
计算平均分 score[3]
break
op=4
输入、输出 st
直到 st > 3||st < 1
输入、输出 te、cl
te、cl 自减
调用* scores()函数
break
op=5
输入、输出 te、cl
te、cl 自减
调用 print()函数
break
op=6
调用 load()函数
break
op=7
调用 save()、savetxt()函数
break
op=0
输入 st
直到 st > 1||st < 0
2

1 0
调用 save()、savetxt()函数 break
break
default
请输入正确指令
break
直到 flag 为真
*creat()函数
p = head = (struct stu *)malloc(len)
NULL !NULL 分配空间失败
error! 输入三门成绩 return(head)
break 在 0-100 之间 大于 100 或小于 0
算出总分、平均分 错误
return(head)
*find()函数
输入要查找的学生学号
找到该学生 未找到
输出该学生的相关信息 该链表中无此学生
return(f)
save()函数
打开文件,将信息保存在 list.dat
!NULL fp = fopen("list.dat","ab")) == NULL
写入信息 打开失败
!NULL fwrite(&te,sizeof(int),1,fp) != 1 返回
转到下一结点 写入失败
开始循环 返回
关闭文件
已保存到 list.dat!
*scores()函数
当 p->next != NULL&&p->score[st] < 60 时
i++
输出学号、成绩
n[0]++
不及格总人数 ave += p->score[st]
输出不及格人数
return(head)
print()函数
i = 1,(i <= n)&&p->next != NULL
输出 p->num,p->name,p->score[0],p->score[1],p->score[2],p->score[3],p->score[4]
转到下一结点
i++
3
剩余16页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2