成绩统计系统c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩统计系统
一目的
通过课程设计,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C 语言的基本知识和语法规范,包括:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。
二需求分析
1、本程序要求输入一批学生某门课程考试的各题的分数,计算每个人的总分,统计各分数段0~49, 50~59, 60~69,70~79, 80~89, 90~100的人数及占总人数的百分比。要求输入:课程名称,考试日期,学生班号,学生姓名,学号,课程考试得分。输出要求:课程名称,考试日期,学生班号;各分数段的人数及百分比。
2、本程序采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等)。
三概要设计
1、本程序包含两个模块:
(1)主程序模块:
Main(){
用switch语句控制菜单功能;
Switch语句调用分支函数完成各个功能;}
(2)主程序模块调用的个分支函数:
menu() 控制菜单的格式输出;
input() 输入考试的信息;
statistics()输入学生成绩信息,并进行分数段统计;2、程序中抽象数据类型定义:
int choice;
控制switch语句选择调用个分支函数,完成各个功能;Char date[]
存放日期,完成日期的输入输出;
char course[20];
存放课程名称;
int classNO;
存放班级号码;
char name[100];
存放学生姓名,最大存储数量100;
int number[100];
存放学生学号;
int score[100];
存放学生考试分数,用于统计数据;
程序流程图如下:
显示主菜单界面
输入choice的
Choice=
1输入考试信息
2输入成绩信
息
3退出小工
具
Else 输出考试信息
开始
輸入學生成
績
统计分数所在分数
段
输出统计结果
结束
四详细设计
(1)主程序模块:
main(){
for(;;) {
menu();
printf("Please input you choice here:");
scanf("%d",&choice);
if(choice>=1&&choice<=3) //switch控制菜单界面
switch(choice)
{
case 1:input(); break;
case 2:statistics(); break;
case 3:exit(0);
}
else printf("Sorry,your choice is not right,please choose again.");
printf("\n Press any key to continue...");
getch();
clrscr(); }}
(2)主菜单显示模块:
void menu(){ //控制菜单输出样式
printf("\n**************************************************************\n" );
printf("\n Welcome to Use the tool ");
printf("\n 1.Input information ");
printf("\n 2.Statistics score ");
printf("\n 3.Eixt ");
printf("\n**************************************************************");
printf("\n");}
(3)输入考试信息模块:
void input() {
printf("\nPlease input date(y-m-d):");//输入日期
scanf("%s",&date);
printf("Please input the course:");//输入课程名
scanf("%s",&course);
printf("Please input the classNO:");//输入班级号
scanf("%d",&classNO);
}
(4)分数段统计模块:
void statistics(){
int i=0,count[6]={0,0,0,0,0,0};