成绩统计系统c语言

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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};

相关文档
最新文档