目录

●功能介绍

●案例

●代码展示

●结果展示


●功能介绍

用 C++设计一个程序,能提供下列功能:

1. 录入学生成绩信息。按照学号,姓名,语文,数学,英语的格式录入学生的成绩。

2.展示目前录入学生的成绩信息。以学号,姓名,语文,数学,英语的格式按列表展示。

3.查询成绩。根据学生的学号或姓名查询学生的成绩。

4.修改。通过姓名查询找到相应的学生记录并对其进行修改。

5.统计。计算学生的总分并按顺序显示输出;统计班级学生的每门课程的平均分和全班人总分的平
均分并显示;统计个人总得分小于班级总分的学生并显示为不及格学生名单。

6.删除。删除指定学生成绩信息。

7.清空。清空学生表所有成绩信息。


●案例

1.录入5个学生的信息:

①1001 zhangsan 80 90 70

②1002 lisi  60 65 75

③1003 wangwu 75 85 100

④1004 zhaoliu 50 60 40

⑤1005 sunqi 70 85 95

2.展示已输入5个的学生成绩信息

3.用学号去查询zhaoliu的各科成绩

4.实现统计,查看学生成绩信息和不及格学生

5.对wangwu的语文成绩进行单科修改,修改为80(若要进行整体修改,按操作提示执行即可,这里只修改其语文成绩)

6.用姓名去查询wangwu的各科成绩

7.因为lisi的成绩录入错误,所以删除他的所有信息

8.展示目前剩余学生的成绩信息

9.操作完成清空学生成绩信息


●代码展示

#include <iostream>
#include <string>
#define max 100   //学生人数
using namespace std;
struct person {string id;string name;int chinese;int math;int english;
};
struct student_information {struct person data[max];int size;
};
void addinformation(student_information* si)
{if (si->size == max){cout << "学生信息表已满" << endl;}else{cout << "请输入学号:" << endl;string id;cin >> id;si->data[si->size].id = id;cout << "请输入姓名:" << endl;string name;cin >> name;si->data[si->size].name = name;cout << "请输入语文成绩:" << endl;int chinese;cin >> chinese;si->data[si->size].chinese = chinese;cout << "请输入数学成绩:" << endl;int math;cin >> math;si->data[si->size].math = math;cout << "请输入英语成绩:" << endl;int english;cin >> english;si->data[si->size].english = english;si->size++;cout << "<<添加成功>>" << endl;system("pause");system("cls");}
}
void showperson(student_information* si)
{if (si->size == 0) {cout << "当前数据为空!" << endl;}else {for (int i = 0; i < si->size; i++){cout << "学号:" << si->data[i].id<<" "<< "姓名:" << si->data[i].name<<" "<< "语文成绩:" << si->data[i].chinese<<" "<< "数学成绩:" << si->data[i].math<<" "<< "英语成绩:" << si->data[i].english << endl;}system("pause");system("cls");}
}
int isexist(student_information* si, string id)
{for (int k = 0; k < si->size; k++){if (si->data[k].id == id)return k;}return -1;
}
int isexist_1(student_information* si, string name)
{for (int k = 0; k < si->size; k++){if (si->data[k].name == name)return k;}return -1;
}
void searchperson(student_information* si)
{cout << "请输入您要查找的学生:" << endl;cout << "如果按照学号查找输入1" << endl;cout << "如果按照姓名查找输入2" << endl;int n; cin >> n;string id, name;if (n == 1) {cin >> id;if (isexist(si, id) == -1) {cout << "此人不存在!" << endl;}else {cout << "此人存在!" << endl;int ret = isexist(si, id);{cout << "学号 " << si->data[ret].id << "\t";cout << "姓名 " << si->data[ret].name << "\t";cout << "语文成绩 " << si->data[ret].chinese << "\t";cout << "数学成绩 " << si->data[ret].math << "\t";cout << "英语成绩 " << si->data[ret].english << "\t";}}}else {cin >> name;if (isexist_1(si, name) == -1) {cout << "此人不存在!" << endl;}else {cout << "此人存在!" << endl;int ret_1 = isexist_1(si, name);{cout << "学号 " << si->data[ret_1].id << "\t";cout << "姓名 " << si->data[ret_1].name << "\t";cout << "语文成绩 " << si->data[ret_1].chinese << "\t";cout << "数学成绩 " << si->data[ret_1].math << "\t";cout << "英语成绩 " << si->data[ret_1].english << "\t";}}}system("pause");system("cls");
}
void alterperson(student_information* si)
{cout << "请输入您要修改的联系人:" << endl;string name;cin >> name;if (isexist_1(si, name) == -1){cout << "此人不存在!" << endl;}else{cout << "此人存在!" << endl;int ret_2 = isexist_1(si,name);cout << "单一修改-0" << "多数修改-1" << endl;int sign; cin >> sign;{if (sign == 0){cout << "学号-1" << "姓名-2" << "语文成绩-3" << "数学成绩-4" << "英语成绩-5" << endl;int select_1; cin >> select_1;if (select_1 == 1) {string id; cin >> id;si->data[ret_2].id = id;}if (select_1 == 2) {string name; cin >> name;si->data[ret_2].name = name;}if (select_1 == 3) {int chinese; cin >> chinese;si->data[ret_2].chinese = chinese;}if (select_1 == 4) {int math; cin >> math;si->data[ret_2].math = math;}if (select_1 == 5) {int english; cin >> english;si->data[ret_2].english = english;}}}if (sign == 1){cout << "请输入学号:" << endl;string id; cin >> id;si->data[ret_2].id = id;cout << "请输入姓名:" << endl;string name; cin >> name;si->data[ret_2].name = name;cout << "请输入语文成绩:" << endl;int chinese; cin >> chinese;si->data[ret_2].chinese = chinese;cout << "请输入数学成绩:" << endl;int math; cin >> math;si->data[ret_2].math = math;cout << "请输入英语成绩:" << endl;int english; cin >> english;si->data[ret_2].english = english;}}cout << "信息修改成功!" << endl;system("pause");system("cls");
}
void staticperson(student_information* si)
{int allsum = 0;for (int i = 0; i < si->size; i++){int sum = 0;sum = si->data[i].chinese + si->data[i].math + si->data[i].english;cout << "姓名:" << si->data[i].name << "语文:" << si->data[i].chinese << " " << "数学:" << si->data[i].math << " " << "英语:" << si->data[i].english << " " << "总分:" << sum << endl;allsum += sum;}int sum1 = 0, sum2 = 0, sum3 = 0;for (int i = 0; i < si->size; i++){sum1 += si->data[i].chinese;sum2 += si->data[i].math;sum3 += si->data[i].english;}cout << "全班语文平均分:" << sum1 / si->size << endl;cout << "全班数学平均分:" << sum2 / si->size << endl;cout << "全班英语平均分:" << sum3 / si->size << endl;cout << "全班总分的平均分:" << allsum / si->size << endl;for (int i = 0; i < si->size; i++){int sum = 0;sum = si->data[i].chinese + si->data[i].math + si->data[i].english;if (sum < allsum/si->size){cout << "得分小于班级总分平均分的不及格学生:" << si->data[i].id << " " << si->data[i].name << endl;}}system("pause");system("cls");
}
void deleteperson(student_information* si)
{cout << "请输入您要删除的学生:" << endl;string name;cin >> name;if (isexist_1(si, name) == -1) {cout << "查无此人!" << endl;}else {cout << "找到此人!" << endl;int ret = isexist_1(si, name);for (int l = ret; l < si->size; l++){si->data[l].id = si->data[l + 1].id;si->data[l].name = si->data[l + 1].name;si->data[l].chinese = si->data[l + 1].chinese;si->data[l].math = si->data[l + 1].math;si->data[l].english = si->data[l + 1].english;}//abs->arrar[l]=abs->array[l+1];si->size--;cout << "已删除此学生信息!" << endl;}system("pause");system("cls");
}
void emptyperson(student_information* si)
{si->size = 0;cout << "成绩表已清空!" << endl;system("pause");system("cls");
}
void showmenu()
{cout << "*************************" << endl;cout << "*****1:录入学生信息*****" << endl;cout << "*****2:展示学生信息******" << endl;cout << "*****3:查找学生信息******" << endl;cout << "*****4:修改学生信息******" << endl;cout << "*****5:统计学生信息******" << endl;cout << "*****6:删除学生信息******" << endl;cout << "*****7:清空学生信息******" << endl;cout << "*************************" << endl;
}
void text()
{student_information SI;SI.size = 0;while (1){showmenu();int n; cin >> n;switch (n){case 1:addinformation(&SI);break;case 2:showperson(&SI);break;case 3:searchperson(&SI);break;case 4:alterperson(&SI);break;case 5:staticperson(&SI);break;case 6:deleteperson(&SI);break;case 7:emptyperson(&SI);break;}}
}
int main()
{text();
}

●结果展示

1.

2.

3.

4.

5.

6.

7.

8.

9.


【简单项目实战】用C++实现学生成绩管理系统 | [普通实现]相关推荐

  1. 检索有项目的教师信息mysql_学生成绩管理系统(六):项目总结

    学生成绩管理系统(六):项目总结 一.项目实现情况 初期项目计划: 简单的图形界面登录功能. 对数据库的的信息的查询功能. 对数据库的的信息的修改功能. 对数据库的的信息的删除功能. 对数据库的的信息 ...

  2. 基于python的学生成绩管理系统毕业设计源码071143

    Django学生成绩管理 摘   要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷 ...

  3. (附源码)python+mysql+基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷而又 ...

  4. python+mysql+基于python的学生成绩管理系统 毕业设计-附源码071143

    Django学生成绩管理 摘   要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷 ...

  5. 基于PHP的学生成绩管理系统

    一 项目介绍 基于PHP的学生成绩管理系统 原生PHP编写,数据库mysql 可搭建在phpstudy下,三分钟快速部署. 二 主要功能 1 用户注册/登录 修改密码 2 学生信息管理(增删改查) 3 ...

  6. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01) Java Web课程设计(代码+课程报告) 课程作业效果如下: 学生1:后台实现.数据库设计.前端后台整合 学生2:前端 ...

  7. C语言学生成绩简单,C语言实现简单学生成绩管理系统.pdf

    C语言实现简单学生成绩管理系统 这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有 定的参考价值,感兴趣的小伙伴们可以 参考 下 本文实例为大家分享了C语言实现学生成绩管理系统的具体代码 ...

  8. 大一上学期C++课程设计——学生成绩管理系统(QT项目)

    这里是一个大一的萌新!仅做学习分享 工程文件在评论区置顶!! 近期整理了一下大一上学期的课程设计报告作为学习总结,使用的软件是Qt Creator,主界面效果如下图 ----------以下为课程设计 ...

  9. 学生成绩管理系统(六):项目总结

    学生成绩管理系统(六):项目总结 一.项目实现情况 初期项目计划: 简单的图形界面登录功能. 对数据库的的信息的查询功能. 对数据库的的信息的修改功能. 对数据库的的信息的删除功能. 对数据库的的信息 ...

  10. 视频教程-jsp servlet mysql实现学生成绩管理系统实战教程-Java

    jsp servlet mysql实现学生成绩管理系统实战教程 软件工程硕士毕业,目前就职于上海电信研究院,有三年Java开发经验,五年PHP开发经验. 李礼强 ¥136.00 立即订阅 扫码下载「C ...

最新文章

  1. 微软 WPC 2014 合作伙伴keynote
  2. java中executeQuery()方法
  3. Windows server 2008 远程桌面建立
  4. 阿里云与达摩院合作 AHPA 弹性预测论文被顶会 ICDE 录用
  5. Docker部署SpringBoot的两种方法,后一种一键部署超好用!
  6. 如何给领导打造一款掌上财务管理驾驶舱?
  7. java验证码Kaptcha
  8. GitHub或正式登陆中国!拟在中国设立分公司
  9. linux自动内存清理
  10. C语言,将1~9这9个数字分成三组,每组中的三个数排成一个三位的完全平方数,要求每个数字必须且只能用一次
  11. 【小蜜蜂蓝桥杯笔记】DS18B20温度传感器的使用
  12. 微信个性签名服务器维护,微信个性签名显示由于系统维护
  13. word2010生成的目录右侧不对齐怎么办?
  14. 关于python语法
  15. 用selenium抓取海关数据
  16. V3商家支付到零钱+商家支付到零钱状态查询(100免密PHP版)
  17. 如何选择可转债?可转债是否能带来暴利?
  18. 2021 CCPC 哈尔滨 B. Magical Subsequence(思维题)
  19. out输出口_Line Out是扬声器输出端口,用于外接音箱或功放等。_学小易找答案
  20. JVM内存模型和性能调优:为什么要学习JVM

热门文章

  1. POJ 1979: Red and Black
  2. ALL IN ONE最佳实践方案分享(从硬件到软件全覆盖)
  3. 高校大数据实验室解决方案
  4. 16_小米监控Open-Falcon:Redis监控
  5. Vue时间戳获取当前时间
  6. 仓库各环节自动化方案、设备、参数与玩家
  7. 拓邦新能上市申请获创业板受理:毛利率持续下降,张震华为大股东
  8. etcdctl 基本使用
  9. 快速录像机高级版v1.3.6.1 支持后台或息屏
  10. ABT 节点 1.1.16 版更新日志 | ArcBlock 动态