c++课设学生成绩与学籍管理系统

这是一个C++初学者的课设项目,设计了一个CStudent类,包含学生编号、姓名、性别、年龄及三科成绩。系统实现了按编号和姓名检索学生信息,计算总分与平均分,以及筛选总分超过特定分数且性别符合要求的学生。代码虽然初级,但为构建简易学籍成绩管理软件奠定了基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目要求(手打,累):设计一个类CStudent,类中包含一个学生的基本数据如下:

编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。

并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字符。如:

1 LiPing m 18 89 98 94

请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent类的对象数据进行存储与读写处理(即是说,总按具体连续编码的编号num为"序"来对文件中各对象进行随机读写处理)。并设计该类的成员函数,而且对输出运算符"<<"进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。要求成员函数完成以下功能:

(1) 从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。

(2) 按编号对学生信息进行检索并将检索结果显示在屏幕上。

(3) 按姓名对学生信息进行检索并将检索结果显示在屏幕上。

(4) 计算某编号学生的总成绩与平均成绩。

(5) 列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。

思考:可进一步对上述程序进行扩充,如,添加学生的基本数据(籍贯,专业,班级,其他各门成绩,奖罚记录等),并添加所需要的其他相关处理函数(如可通过咨询教学办公室管理人员后确立),进而将其编织成为一个简单而且实用的小型学籍与成绩管理软件。

以下为代码:

 

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <iomanip>
using namespace std;
#define NUM 10000


void Menu();    //菜单功能
class CStudent
{
    private:
        int num;    //编号
        string name;   //姓名
        char gender;    //性别
        int age;    //年龄
        double math;   //数学成绩
        double physics;    //物理成绩
        double computer;   //计算机成绩
        double english;    //外语成绩
        string major;   //专业
        string RP;  //奖罚记录
        double sum; //总成绩
        double ave; //平均成绩
    public:
        void Insert(CStudent & S);  //插入,添加
        void Dlete();  //删除
        void Numseek(); //按编号查找
        void Nameseek();    //按姓名查找
        void Grade();   //计算某个学生的平均成绩和总成绩
        void Sort(CStudent & S);    //对学生的总成绩进行排序
        void Inquire(double n, char ch); //根据输入的成绩和性别排查超过输入成绩且性别一样的同学
        void Save();    //保存数据到文件
        void Read();    //读取数据
        void Sum(){sum = math + physics + computer + english;}   //计算总成绩
        void Ave(){ave = (math + physics + computer + english) / 4;}
        void operator <<(CStudent & S)
        {
            cout << setw(5) << S.num << setw(5) << S.name << setw(5) << S.gender << setw(5) << S.age << setw(5) << S.math << setw(5) << S.physics << setw(7) << S.computer
                 << setw(5)<< S.english << setw(5) << S.major << setw(9) << S.RP << endl;
        }
};
static int j;
CStudent C[NUM];
int main()
{
    fstream File("学生学籍与成绩管理系统.txt");
    cout << "\n\t\t^^^检查文件是否存在中^^^" << endl << endl << endl;
    if(!File)
    {
        cout << "\t\t文件不存在,请创建名为学生学籍与成绩管理系统的文档!" &l
摘 要 高校学生成绩管理工作是高等教育中的一个极为重要的环节,是院校学生管理的基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,传统的文件管理方式进行成绩管理,效率很低,耗时费力,容易出错,安全性也存在问题。特别是在查询上,由于文件过多,带来很多不便。随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理。 本计研究的是基于J2EE的高校成绩管理系统实现。本系统是基于J2EE开发的成绩管理系统,弥补了人工管理的不足,提高了一定的效率。主要功能包括教师对学生成绩的记录,生成总评成绩成绩单的提交。学生查询相关的成绩信息。管理员对学生、教师,课程、班级进行综合管理。该系统为教务处人员提供了强大的成绩管理功能,为教师提供了对平时成绩和期末成绩方便的管理,为学生提供了一个方便快捷的查询功能。本计的开发工具使用MyEclipse,数据库使用的MySQL,框架是struts整合hibernate。 关键词:J2EE; 成绩管理; MySQL; MyEclipse Abstract College student grade management is a very important aspect of higher education,is the foundation of college students management. Faced with a wide variety of data and statements, the manual processing methods have been difficult to keep up with the pace of modern management, the traditional document management about grade management, is inefficient, time-consuming effort, error-prone, and also existing security issues. Because too many documents, it brings a lot of inconvenience in the query. With the computer and the rapid development of communication technology, higher education must meet a higher demand. We should change the traditional mode of management and use modern means of scientific management as soon as possible. The design based on J2EE technology mainly research about Implementation of grade management system of universities. The system is based on J2EE platform, cover the deficiencies of manual management, and improve the efficiency of management. Main features including: teachers record the grade of students in the term examines, generate the report card to examine. Students can query their information at any time with this system. Administrator can manage the students, teachers, curriculum, classes together. The system for the Registry staff with a powerful performance management capabilities, provide teachers with the usual results and final results for the management, provide students with a convenient and efficient enquiry function. The development tools is MyEclipse, database is MySQL, integrated framework is struts and hibernate. Key words: J2EE; Grade Management; MySql; MyEclipse 目 录 Abstract II 1 绪论 1 1.1高校学生成绩管理系统实施的背景分析 1 1.2选题的目的及意义 1 2 J2EE平台及其支撑技术 3 2.1 J2EE平台 3 2.1.1 J2EE简介 3 2.1.2 JSP技术 5 2.1.3 Servlet技术 7 2.1.4 EJB技术 8 2.1.5 J2EE发展趋势 9 2.2 MVC模式介绍 10 2.3 Struts框架介绍 14 2.4 Hibernate框架介绍 16 3 基于J2EE技术平台的学生成绩管理分析 18 3.1系统可行性分析. 18 3.1.1技术可行性 18 3.1.2经济可行性 18 3.1.3运行可行性 18 3.2系统需求分析 18 3.3系统整体说明 19 3.4系统模块的功能概述 19 4 系统总体计 20 4.1.系统结构图 20 4.1.1包组织结构图 20 4.3数据流程图计 21 4.4.1 E-R图 22 4.3主要功能模块的计 22 4.2.1用户登录模块计 22 4.2.2管理员管理模块计 23 4.2.3教师成绩录入和修改模块计 23 4.2.4学生管理模块计 23 5 基于J2EE技术平台的系统详细计 24 5.1数据库详细计 24 5.1.1 数据库需求分析 24 5.1.2 数据库概念结构计 25 5.1.3 数据库逻辑结构计 26 5.1.4 数据库结构的实现 28 5.1.5数据库模型 30 6 系统编码测试 31 6.1系统编码说明 31 6.1.1系统配置文件 31 6.1.2系统运行效果图示. 35 6.1.3系统主要功能模块详细实现 40 6.1.3.1管理员管理模块详细介绍 40 6.1.3.2管理员管理模块代码说明 40 6.2 系统开发环境的搭建 47 6.2.1软件环境的配置 47 6.2.2硬件环境的配置 47 6.3系统性能测试 47 6.3.1安全性测试 47 6.3.2稳定性测试 47 7 总结展望 48 7.1总结 48 7.2展望 48 参考文献: 49 致谢 49
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值