C++课程设计——学生管理系统Word文档下载推荐.docx
- 文档编号:13174137
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:36
- 大小:277KB
C++课程设计——学生管理系统Word文档下载推荐.docx
《C++课程设计——学生管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计——学生管理系统Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。
4.源程序清单 9
5.运行结果 32
5.1.主窗口 32
5.2.数据录入 32
5.3.数据输出 33
5.4.数据查找 34
5.5.数据排序 34
6.课程设计总结 35
7.课程设计评分表 36
一、课程设计目的
1.1课程设计的目的
通过以前的学习以及查看相关资料,按着题目要求编写程序,进一步加强对C++编程的训练,使得自己掌握一些基本的能力的同时增强实践能力,将书本知识转化为实际应用当中.利用MFC设计一个学生管理系统完成一些基本的学生成绩及信息管理功能。
1.2课程设计的题目
学生管理系统
1.3题目要求
使用下面的数据,用C++设计一个简单的学籍管理系统,实现出最基本的功能。
学生基本信息文件(A.TXT)及其内容:
A.TXT文件内容可以不通过编程录入数据,可用文本编辑工具直接生成(也可通过编程录入)
学号 姓名 性别 宿舍号码 电话号码
01
张成成
男
501
87732111
02
李成华
女
101
87723112
03
王成凤
04
张明明
502
87734333
05
陈东
06
李果
07
张园园
102
87756122
…
….
..
………..
学生成绩基本信息文件(B.TXT)及其内容:
学号
课程编号课程名称
学分
平时成绩
实验成绩
卷面成绩
综合成绩
实得学分
A01 大学物理
3
66
78
82
B03 高等数学
4
-1
90
45
88
C01 VF
65
76
…. ……….
一.功能要求及说明:
(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
… … … … ……… … …
共修:
xx科,实得总学分为:
xxx
(3)删除功能:
当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。
(4)排序功能:
能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
二.其它要求:
(1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)学生可自动增加新功能模块(视情况可另外加分)
(4)写出课程设计报告,具体要求见相关说明文档
二.概要设计
2.1存储结构
classStudent
{
public:
Student(void);
~Student(void);
char*All();
friendvoidCStudentmanagementsystemDlg:
:
OnBnClickedButton1();
friendvoidCStudentmanagementsystemDlg:
OnBnClickedButton6();
OnBnClickedButton3();
OnBnClickedButton4();
OnBnClickedButton9();
private:
charnum[3],name[10],sex[4],dorm[4],tel[9];
//学号姓名性别宿舍号码电话号码
charall[70];
};
classMark
Mark(void);
~Mark(void);
OnBnClickedButton2();
OnBnClickedButton7();
OnBnClickedButton8();
intGrade(intSEC);
//学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分
charnum[3],subject_num[4],subject_name[10],point[4],mark_usual[4],mark_experiment[4],mark_test[4],mark_all[4],point_real[4];
charall[150];
};
2.2基本操作
afx_msgvoidOnBnClickedButton1();
//录入学生基本信息afx_msgvoidOnBnClickedButton2();
//录入学生成绩信息
afx_msgvoidOnBnClickedButton6();
//读取A文件中全部信息并显示到Listboxafx_msgvoidOnBnClickedButton5();
//清空Listbox中现实的内容
afx_msgvoidOnBnClickedButton9();
//删除Listbox中当前选中的项并同时删除对应文件中的数据
afx_msgvoidOnBnClickedButton7();
///读取B文件中全部信息并显示到Listboxafx_msgvoidOnEnSetfocusEdit15();
//当输入学号时,清除姓名,宿舍号码框中的
内容
afx_msgvoidOnEnSetfocusEdit16();
//当输入姓名时,清除学号,宿舍号码框中的内容
afx_msgvoidOnEnSetfocusEdit17();
//当输入宿舍号码时,清除学号,姓名框中的内容
afx_msgvoidOnBnClickedButton3();
//根据输入框中数据查找文件A中数据并显示到Listbox
afx_msgvoidOnBnClickedButton4();
//根据输入框中数据查找文件B中数据并显示到
Listbox
afx_msgvoidOnBnClickedButton8();
//根据Radio状态对文件B中数据进行排序并显示到Listbox
afx_msgvoidOnBnClickedRadio1();
//按综合成绩升序afx_msgvoidOnBnClickedRadio2();
//按综合成绩降序afx_msgvoidOnBnClickedRadio3();
//按实得学分升序afx_msgvoidOnBnClickedRadio4();
//按实得学分降序
三、详细设计
将文本框内内容读入对象
1、数据录入
开始输入
Y
N
文件是否存在
以覆盖方式建立文件
以追加方式写入文件
打开文件
关闭文件指针
将对象中数据写入文件
清除Listbox当前内容
2、数据输出
开始输出
弹出警告框
逐条将数据添加到
Listbox最后一项
逐条读出数据
以只读方式打开文件
输入查找条件
3、数据查找
开始查找
匹配查找条件
文件是否结束
跳过
Listbox最后
以只读方式写入文件
4、数据排序
对数组进行冒泡排序
逐条读入动态数组
四、源代码
voidCStudentmanagementsystemDlg:
OnBnClickedButton1()
FILE*save;
intlen;
//TODO:
在此添加控件通知处理程序代码
//num[2],name[10],sex[4],dorm[3],tel[8];
//学号姓名性别宿舍号码电话号码charNEW[100];
CStringstr;
StudentOutPutA;
CEdit*num;
num=(CEdit*)GetDlgItem(IDC_EDIT1);
CEdit*name;
name=(CEdit*)GetDlgItem(IDC_EDIT2);
CEdit*sex;
sex=(CEdit*)GetDlgItem(IDC_EDIT3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 学生 管理 系统