学生成绩管理系统C语言.pdfVIP

  • 9
  • 0
  • 约1.78万字
  • 约 38页
  • 2018-12-21 发布于浙江
  • 举报
实验二 学生成绩管理系统 一:实验目的 使用标准C或C++实现一般管理系统的基本功能。进一步巩固C 语言的学习,培养一定的综合编程能力。 二:需要处理的基础数据 学生基本信息包括: 学号 (如2011级24班13号写 姓 名 性别 出生年月日 课程对应的考试成绩 (外语SCORE[0]、高数SCORE[1]、 C语言SCORE[2]、马哲SCORE[3]) 平均成绩和总成绩 三:本系统主要具备以下三个功能 1.学生基本情况录入。 要求对输入的性别、出生年月日的合理性进行判断(如0代 表 “女”,1代表 “男”,输入其他值非法,年龄不能为负, 月份不能大于13等)。 2.允许对已经录入的数据进行显示。 3.允许进行数据的插入。 4.删除基本数据的相关信息。 5.基于姓名的查询。如:姓张的所有同学。 6.基于各种基本数据的统计计算。如: ①统计每个学生各门功课的平均成绩,并按平均成绩从高到低的 次序排名输出每个学生各门功课的综合成绩和平均成绩 (名 次、学号、姓名、平均成绩、各门功课的考试成绩)。 ②列出90分及以上、80分及以上、70分及以上、60分及以上、 不及格学生清单 (学号、姓名、不及格的课程和成绩)。 ③统计并输出各门功课的平均成绩和总平均成绩。 ④按班级统计并输出总成绩 (需对学号进行解析)。 四:数据结构设计及用法说明 需处理的车辆及违章基本信息包括:车牌号、车主姓名、违章停 车次数、闯红灯次数、超速次数。这些信息采用结构体数据类型表示 更为方便,因为违章信息数量的不确定性,所以信息应采用链表进行 存储,这更符合实际应用 所以采用的数据结构如下 typedef struct St1 { char IDNumber[16];/*学号*/ char FamilyName[16]; /*姓*/ char GivenName[16]; /*名*/ int sex; /*性别 (0代表 “女”,1代表 “男”)*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score[4]; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct St1 *next; };StudentNode 该程序中需要处理的基础数据有: 学生基本信息:学号 (例如2003级12班6号写、姓、名、 性别、出生年月日、课程名称(外语SCORE[0]、高数SCORE[1]、C语言SCORE[2]、 马哲SCORE[3])、考试成绩等。因此定义结构体重要包括所以要素,另外,本 程序用链表方法来处理对象。对象之间连接起来的程序为:p1 p1-next.数据交 换的代码为:p2 p1-next; P1-next p2-next; P2-next p1; P1 p2; 五:各模块的功能 该程序包含的函数以及作用: head Enterlist() 输入记录 head Delet(head) 从表中删除记录 Searchrecordonname(head) 按照姓名查找记录 Printf Savethefile(head) 显示链表中所有记录 Loadthefile(head) 从文件中读入记录 Computethescore(head) 计算所有学生的总分和均分 Querybyclass(head) 按班级查询显示学生成绩 head Insert(head) 插入记录到表中 exit(0) 退出 sortbyaverage(head) 以平均成绩排序 waiyu(head) 输出英语成

文档评论(0)

1亿VIP精品文档

相关文档