资源下载地址:https://download.csdn.net/download/sheziqiong/85930262
资源下载地址:https://download.csdn.net/download/sheziqiong/85930262

一、面向对象程序设计课程设计的目的

本课程设计是在学习面向对象基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:

  • 能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
  • 提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。

二、实验题目

使用下面的数据,用 C++ 设计一个简单的学籍管理系统,实现出最基本的功能。

学生基本信息文件(A.TXT)及其内容:

A.TXT文件内容可以不通过编程录入数据,可用文本编辑工具直接生成(也可通过编程录入)

学号 姓名 性别 宿舍号码 电话号码

01 张成成 男 501 87732111

02 李成华 女 101 87723112

03 王成凤 女 101 87723112

04 张明明 男 502 87734333

05 陈东 男 501 87732111

06 李果 男 502 87734333

07 张园园 女 102 87756122

… …. … … …………

学生成绩基本信息文件(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:学生基本情况查询:

----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。

—输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。

B:成绩查询:

B1:输入一个学号时,查询出此生的所有课程情况,格式如下:

学 号:xx 姓 名:xxxxx

课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx

课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx

课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx

… … … … ……… … …

共修:xx科,实得总学分为: xxx

(3)删除功能:当在 A.TXT 中删除一个学生时,自动地在 B.TXT 中删除此人所有信息。

(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

三、实验思路

1. 需求分析

根据题目需要,要实现的功能有对数据的录入、查询、排序、删除,要实现的类别有,学生基本信息(学号 姓名 性别 宿舍号码 电话号码)、学生成绩基本信息文件(学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分)。

因此,设计出类和成员为:

类名:person (基类,实现录入学号 姓名 性别 宿舍号码 电话号码)

student(派生类,实现录入、查询、排序、删除)

函数成员:

  • Person:: add();录入 A.txt 的数据
  • Student:: add2();录入 B.txt 的数据
  • Student:: grade();录入学生成绩等
  • Student:: menue();显示主菜单
  • Student:: reader();显示查询功能的选择项
  • Student:: searchname();按姓名查询
  • Student:: searchroom();按宿舍号码查询
  • Student:: searchnumber();按学号查询
  • Student:: disp();显示查询学生的基本信息
  • Student:: room1(){return room;};宿舍号
  • Student:: number1(){return number;};学号
  • Student:: searchgrade();按学分查询
  • Student:: gradedisp();显示分数
  • Student:: dispname();显示按姓名查询的结果
  • Student:: paixu();排序

数据成员:

char name[10];姓名 char* sex;性别 int number;学号 int room;宿舍号 char tel[20]; 电话号码 char cnum[5];课程号 char cname[15]; 课程名 int xuefen;学分 int pingshif;平时分 int shiyanf ;实验分 int juanmianf ;卷面分

通过调用不同函数成员,运用类的继承多态,实 现各种数据的增删查改。

2. 功能模块设计

录入分数数据模块的流程图

以下是查找模块的流程图:

五、程序运行

资源下载地址:https://download.csdn.net/download/sheziqiong/85930262
资源下载地址:https://download.csdn.net/download/sheziqiong/85930262

用C++设计一个简单的学籍管理系统相关推荐

  1. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...

    在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...

  2. 一个简单的学籍信息管理系统,基于PHP和Bootstrap的实现

    下载地址:https://download.csdn.net/download/aav123/20814646 项目介绍 一个简单的学籍信息管理系统,基于PHP和Bootstrap的实现 系统说明 适 ...

  3. 大一期末程序课程设计 C/C++实现简单学生学籍管理系统

    链表实现C/C++简单学生学籍管理系统. 实验结果图: 剩下的操作有兴趣的话复制粘贴去试试: //Main.cpp#include"ManagerStu.h" int Studen ...

  4. 用C#实现一个简单的图书管理系统(课程设计)

    用C#(sharp)实现一个简单的图书管理系统(课程设计) 学校的数据库课程结束了,要求完成一个课程设计,于是我用C#实现了一个简单的图书管理系统(ADO.NET) 源码放在了github上,仅供参考 ...

  5. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  6. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  7. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序

    利用Java设计一个简单的控制台学生信息管理程序 此程序可作为课设的参考,其中信息存储于文件中. 创建了学生类Student,用于存储学号等的信息.创建StudentFunction类,用于实现诸如学 ...

  8. python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  9. 一个简单的后台管理系统

    一个简单的后台管理系统(1.0) 使用须知 一.数据库 1.1关于数据库的设计(重点) 1.2具体表设计 1.2.1角色表 1.2.2用户表 二.前端 1.关于需要注意的地方 2.新增注册页面 三.后 ...

最新文章

  1. 源码解析Spring Cloud Zuul
  2. Design Pattern: Singleton 模式
  3. 参与 API 创新应用大赛,体验RDS费用管理 API
  4. js reduce实现中间件_简述 laravel中间件 的原理
  5. 单表查询 多表查询 子查询
  6. 计算机应用基础实操题怎么操,计算机基础实操试题
  7. 计算机网络:令牌环网IEEE 802.5
  8. 让 Microsoft Office 下课!强烈推荐WPS2005!!
  9. accept搭配用法_动词accept的用法与搭配
  10. 搜狗输入法linux版 rpm,wps for linux 不能使用搜狗输入法
  11. 快速排序——单边循环实现方式
  12. solr常见问题整理
  13. STM32电子钟万年历Proteus仿真_LCD1602显示
  14. Python新建Flask项目
  15. Kafka部署、原理和使用介绍
  16. 用python做PDF本地化压缩,新增多进程
  17. Java八股文基础知识
  18. Java实现 LeetCode 152 乘积最大子序列
  19. FCOS目标检测 paper笔记
  20. 智力竞赛抢答器的设计与调试

热门文章

  1. Apache Doris 向量化版本在小米A/B实验场景的调优实践
  2. 已解决:Ubuntu下台式机前置面板耳机插孔没有声音
  3. 基于Python的地理数据分析之一元线性回归分析-数学原理02.md
  4. qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  5. 全球最大开源软件开发平台和仓库
  6. 不要放过那个装X的阿里,androidstudio基础
  7. 当 MySQL 和 Memcached 遇到尾部空格时
  8. xp打印服务器win10的系统连接不上,win10连上xp共享的打印机无法打印为什么
  9. C/C++ 视频播放器开发
  10. 支付系统保证可靠性的秘诀 ----- 订单的补偿和补单