mfc学生成绩管理系统

程序设计课程设计报告

目录
一、课程设计题目及内容
二、程序中使用的数据及主要符号说明
三、带有详细注释的自己编写的源程序
四、程序运行时的效果图
五、实验结果分析,实验收获和体会。
1、实验结果分析:
2、实验收获和体会:

一、实验内容
实验1:
(1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。
(2)、创建一个管理学生的类Management,包括实现学生的数据的增加、删除、修改、按课程成绩排序、保存学生数据到文件及加载文件中的数据等功能。
(3)、创建一个基于对话框的MFC应用程序,程序窗口的标题上有你姓名、学号和应用程序名称。使用(1)和(2)中的类,实现对学生信息和成绩的输入和管理。

(4)、创建一个单文档的MFC应用程序,读取(3)中保存的文件中的学生成绩,分别用直方图和折线方式显示所有学生某课程的成绩分布图。
在这里插入图片描述

在这里插入图片描述

二、程序中使用的数据及主要符号说明

unsigned int mID;//学号
	CString mName;//姓名
	unsigned int mAge;//年龄
	CString mAdd;//地址
	float mCpp;//c++成绩
	float mMath;//数学成绩
	CListBox m_list;//列表名
	afx_msg void OnClickedButtonAdd();//添加按钮
	afx_msg void OnClickedButtonDel();//删除按钮
	afx_msg void OnClickedButtonChange();//修改
	afx_msg void OnClickedButtonOk();//确定
	afx_msg void OnClickedButtonCancle();//取消
	
	afx_msg void OnSelchangeList1();//列表控件
	virtual BOOL OnInitDialog();//初始化对话框
	afx_msg void OnDestroy();//防止内存泄漏
	afx_msg void OnClickedButton6();
	int m_count;//记录人数
	int mSex;//性别


三、带有详细注释的自己编写的源程序

1)、设计一个学生类Student
//Student.h
#pragma once

#include<string>
//using namespace std;
#include<iostream>

enum Sex {
    male, female };
class Student
{
   
public:
	Student();//构造函数
	~Student();//析构函数

	unsigned int GetID()const
	{
   
		return m_num;
	}
	void SetID(unsigned int ID) {
    m_num = ID; };
	std::string GetName()const
	{
   
		return m_name;
	}
	void SetName(const std::string& name) {
    m_name = name; };
	Sex GetSex()const
	{
   
		return m_sex;
	}
	void SetSex(Sex sex) {
    m_sex = sex; };
	unsigned int GetAge()const
	{
   
		return m_age;
	}
	void SetAge(unsigned int age) {
    m_age = age; };
	std::string GetAdd()const
	{
   
		return m_add;
	}
	void SetAdd(std::string add) {
    m_add = add; };
	float GetCpp()const
	{
   
		return m_cpp;
	}
	void SetCpp(float cpp) {
    m_cpp = cpp; };
	float GetMath()const
	{
   
		return m_math;
	}
	void SetMath(float math) {
    m_math = math; };

	friend std::ostream& operator<<(std::ostream& os, const Student& st);
	friend std::istream& operator>>(std::istream& is, Student& st);

private:
	unsigned int  m_num;//学号
	std::string m_name;//姓名
	Sex m_sex;//性别
	unsigned int m_age;//年龄
	std::string m_add;//地址
	float m_cpp;//c++成绩
	float m_math;//数学成绩

};

//Student.cpp///

#include "pch.h"
#include "Student.h"

Student::Student()//初始化
	:m_num(0)
	, m_name("")
	, m_sex(male)
	, m_age(20)
	, m_add("")
	, m_cpp(0.0f)
	, m_math(0.0f)
{
   

}

Student::~Student()
{
   
}

std::ostream& operator<<(std::ostream& os, const Student& st)//重载函数
{
   
	os << "" << st.m_num;
	os << "" << st.m_name;
	os << "" <<(int )st.m_sex;
	os << "" << st.m_age;
	os << "" << st.m_add;
	os << "" << st.m_cpp;
	os << "" << st.m_math;
	return os;
}

std::istream& operator>>(std::istream& is, Student& st)
{
   
	is >> st.m_num;
	is >> st.m_name;
	int sex;
	is >> sex;
	st.m_sex = sex == 0 ? male : female;
	is >> st.m_age;
	is >> st.m_add;
	is >> st.m_cpp;
	is >> st.m_math;
	return is;

}2)、添加一个CStudentinfo类,包括实现学生的数据的增加、删除、修改、按课程成绩排序、保存学生数据到文件及加载文件中的数据等功能。
//Dlg.h
#pragma once
// CStudentinfo 对话框

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值