C语言程序课程设计
课 程 设 计
2013年 11月 3 日
第 PAGE 2 页 共 NUMPAGES 13 页
设计题目:学生成绩统计
设计条件:掌握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()写好,再把子函数完善好,最后测试、修改,直到达到最终功能和界面美观为止。
设计过程
根据设计要求做好分析,把主要框架设计罗列出来。考虑到此程序主要有3大方面的内容,所以主函数里分为3大模块,模块里面再根据要求执行相应的内容。
根据主要的框架,确定没有问题后,编写主函数如下:
#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=