编程成绩的录入,排序,输出,存入文件!!
编程实现录入成绩并统计个人平均分后存入文件studengdata.txt,程序每次运行均从文件中提取数据存入内存结构体数组中(指定文件不存在则新建)。某班30个学生,4门课分别为微积分、通信原理、英语和C语言,按学号从小到大的顺序依次输入学生的姓名、性别(用’m’表示男,’f’表示女)和4门课的成绩(一次最大录入人数为30-studengdata.txt内记录数,录入已经存在的学生信息时提示“覆盖”或“放弃”,以学号为-1结束录入),计算每个学生的平均分,并以清晰的打印格式按平均分从高分到低分的顺序打印平均分高于全班总平均成绩且单科没有挂科的男生成绩单(打印信息含学号、姓名、性别、总排名、平均分、4门课单科分)(平均分相同则按姓名升序打印)。
总的要求:
1、 按模块化要求进行系统设计,给出所有函数模块的原型设计和主要的数据类型或数据结构的设计;(注:输入数据、折半查找、统计个人平均分、统计班级总平均分、排序、打印…等均采用子函数设计,文件操作允许在main函数内完成)(不得采用直接选择法进行排序子函数设计)
2、 不允许使用全局变量,避免破坏程序结构;
3、 允许采用传引用方式定义子函数;
4、 注意编程规范,包括书写格式遵循缩进规则和空行规则,合理注释;
三、 程序设计注意事项
1、 大型程序通常采用模块化,每个模块通常至少有一个函数组成;大型程序是以工程project来组织的,一个project又是由几个源程序文件(.cpp)组成的。因此,学会编写多源文件和多函数的C程序,不要一味地用唯一的main函数来组织程序设计。
——本设计要求2个以上的源文件,规定所有子函数原型说明语句、结构体类型定义以及define宏等放在myproject.h文件中,main函数和各子函数定义放在源文件中,源文件开头用#include “myproject.h”包含。
2、 尽量少用全局变量(外部存储类型变量)。过多使用外部类型的全局变量,将使函数模块之间的耦合性加强,从而降低函数的独立性以及通用型。尽管采用全局变量编程相对容易,但对C程序员,更应注意采用符合模块化的设计理念来完成设计,正确的设计方法论是我们在学习过程首先要掌握并以此为主要学习任务,不能为了解决问题而“凑”程序。
3、 采用软件工程学的准则来完成整个设计过程,一般的软件开发过程包括了:确定需求分析过程、逐步细化的系统设计过程(包含总体设计、概要设计、详细设计等)、程序生产过程(编写代码)、调试和测试以及运行和维护过程这几个阶段。对于初学者,我们不必严格按照这些步骤,但简单的问题理解、通过系统设计给出各模块的函数原型说明以及用到的主要数据类型或数据结构、编程、调试运行等需要掌握。