江苏理工学院 C语言程序设计综合训练.doc
《C语言程序设计综合训练》
江苏理工学院
课 程 设 计 报 告
姓 名: 王 曼
同组人员:
班 级: 10电子2W
指导教师: 曹凤雪
成 绩
目标与内容:学生管理系统设计
使用下面的数据,用C/C++设计一个简单的学生管理系统,实现出最基本的功能。
学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成
学号 姓名 性别 宿舍号码 电话号码
01 张成成 男 501 02 李成华 女 101 03 王成凤 女 101 04 张明明 男 502 05 陈东 男 501 06 李果 男 502 07 张园园 女 102 … … … … … …
学生成绩基本信息文件(B.TXT)及其内容:
学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分
01 A01 大学物理 3 66 78 82
02 B03 高等数学 4 78 -1 90
01 B03 高等数学 4 45 -1 88
02 C01 VF 3 65 76 66
… … … … … … … … … …
?
(一)功能要求及说明:
(1)数据录入功能:对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。综合成绩、学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70%。
实得学分的计算:采用等级学分制。
综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80%
综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60%
综合成绩在60以下 ,应得学分=学分*0%
(2)查询功能:分为学生基本情况查询和成绩查询两种
A:学生基本情况查询:
A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
B:成绩查询:
B1:输入一个学号时,查询出此生的所有课程情况,格式如下:
学 号:xx 姓 名:xxxxx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
… … … … … … … … …
共修:xx科,实得总学分为: xxx
(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。
(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
目标:
将工作分配到个人,各成员在编写程序时通过讨论以及查询资料不断学习,在完成程序的同时共同进步。地点与软件环境:地点: 60#106
软件环境:C++
课程设计主要内容:(按以下格式对单独对每个选题进行说明,如版面不够,可自行增加。)
选题2:内容
问题分析:
设计要求A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成,B.TXT进行数据录入,且查询分为三种情况查询,当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。这就要求我们创建信息以磁盘文件存储,并且能够准确的读写数据。在编写主函数时要实现多次的函数调用完成对数据的计算,查询,排序删除等问题