C语言课程设计学生成绩统计设计报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计2013年11月3 日

设计题目:学生成绩统计

设计条件:掌握C语言的基本知识,能够熟练地应用顺序结构、选择结构、循环结构,能够善于应用结构体数组和对文件的输入输出。

设计容:

【问题描述】

学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人。输入、输出格式自定。

【实现提示】

假设某班有:30人(自定)

考试课程有:高等数学、物理、外语、C语言、德育5门课程。

将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的容,程序的功能主要包括3方面:

①输入成绩到文件中

②输出成绩

③输出不及格学生

④成绩排序

⑤修改记录

⑥删除记录

⑦插入记录等

主函数中对3个功能选择(菜单),调用对应的函数完成。

下达日期:2013年10月

完成日期:2013年11月

目录

一、前言 (4)

二、设计思想 (4)

三、设计过程 (4)

四、程序流程图 (7)

五、程序清单 (8)

六、总结 (8)

附录1.用户文档 (10)

附录2.技术文档 (13)

参考文献 (13)

一、前言

本课程设计提供了一个既动手又动脑,自学,查资料,独立实践的机会。将课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解。

本课程设计——学生成绩统计,在日常的教学过程中具有较高的应用价值。

当老师批改完一大批试卷后,需要统计成绩得出相应结果时,“学生成绩统计”就能够发挥其重要作用。设计这个程序,主要用到结构体数组和文件两个知识点,再结合顺序、循环、选择、函数······来实现功能。

二、设计思想

首先编译预处理,输入头文件;再之全局声明;对函数进行定义。再建立一个student结构体,把结构体里面的容写入一个文件中。然后先把主函数main()写好,再把子函数完善好,最后测试、修改,直到达到最终功能和界面美观为止。

三、设计过程

1、根据设计要求做好分析,把主要框架设计罗列出来。考虑到此程序主要有3大方面的容,所以主函数里分为3大模块,模块里面再根据要求执行相应的容。

2、根据主要的框架,确定没有问题后,编写主函数如下:

#include

#include

#include

#define N 3000

int system(const char*string);

struct student //声明结构体类型struct student

{ //以下4行为结构体的成员

char name[20];

float score[5];

float aver;

int cla;

};

void input(struct student stu[]);

void print(struct student stu[]);

void prinot(struct student stu[]);

void list(struct student stu[]);

void changes(struct student stu[]);

void del(struct student stu[]);

void ser(struct student stu[]);

void bian();

void prin();

int M;

FILE*fp; //定义一个指向文件的指针变量fp

struct student stu[4],*p=stu;

void main()

{

char choice,zlq='y';

int over=0;

while(!over) //循环语句

{

if(zlq=='Y'||zlq=='y')

{

printf("***************功能选择****************\n");

printf("1.输入成绩到文件中\n");

printf("2.输出成绩\n");

printf("3.编辑\n");

printf("***************************************\n");

printf("你的选择(1-3):");

do{

scanf("%c",&choice);

}while(choice=='\n');

printf("\n");

switch(choice) //用switch来进行选择

{

case'1':

input(p);break;

case'2':

prin();break;

case'3':

bian();break;

default:

printf("输入错误!\n");

continue;

}

if(!over) //在每次运行完选项后,选择退出还是继续

{

printf("\n\n\n返回主菜单吗?\n(请输入Y或者N,Y代表是,N代表不是.)\n");

scanf("%s",&zlq);

相关文档
最新文档