c++学生系统(gezhengxu2024独创)

2024-01-28 16:20

本文主要是介绍c++学生系统(gezhengxu2024独创),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:实在懒得用vector了,所以没有删除学生,等破300粉丝我就加删除学生。(还有亿些问题)

=========================================================================

#include<bits/stdc++.h>
#include<conio.h>
using namespace std;
string xue[5001],xingbie[5001];
long int xuehao[5001],jifen[5001],zhan=0;
int read()
{char ch=_getch();while(ch>'9'||ch<'0') ch=_getch();return ch-48;
}
void Read(){ifstream in("学生档案.txt");in>>zhan;for(int i=1;i<=5000;i++) in>>xue[i]>>xingbie[i]>>xuehao[i]>>jifen[i];in.close();}
void Save(){ofstream out("学生档案.txt");out<<zhan<<"\n";for(int i=1;i<=5000;i++) out<<xue[i]<<"      "<<xingbie[i]<<"      "<<xuehao[i]<<"      "<<jifen[i]<<"\n";out.close();}
void paijifen(){for(int i=1;i<=zhan-1;i++){for(int j=1;j<=zhan-i;j++){if(jifen[j]<jifen[j+1]){swap(jifen[j],jifen[j+1]);swap(xuehao[j],xuehao[j+1]);swap(xingbie[j],xingbie[j+1]);swap(xue[j],xue[j+1]);}}}for(int i=1;i<=zhan;i++){cout<<"积分:"<<jifen[i]<<"   学号:"<<xuehao[i]<<"   性别:"<<string(xingbie[i])<<"   姓名:"<<string(xue[i])<<endl;}system("pause");system("cls"); 
}
void paixuehao(){for(int i=1;i<=zhan-1;i++){for(int j=1;j<=zhan-i;j++){if(xuehao[j]>xuehao[j+1]){swap(jifen[j],jifen[j+1]);swap(xuehao[j],xuehao[j+1]);swap(xingbie[j],xingbie[j+1]);swap(xue[j],xue[j+1]);}} }for(int i=1;i<=zhan;i++){cout<<"学号:"<<xuehao[i]<<"   积分:"<<jifen[i]<<"   性别:"<<string(xingbie[i])<<"   姓名:"<<string(xue[i])<<endl;}system("pause");system("cls"); 
}
int main()
{Read(); while(1){Read();system("cls");cout<<"gezhengxu2024出品====================================教师使用系统====================================gezhengxu2024出品\n";printf("1:添加学生(删除在学生档案中自己手动删)\n2:学号排序\n3:积分排序\n4:添加积分\n5:减去积分\n6:查找学号\n7:课后评价\n8:退出\n");long int s;cin>>s;system("cls");else if(s==5){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }cout<<"1:学号减去\n2:姓名减去\n";long int jinitaimei;cin>>jinitaimei;if(jinitaimei==1){cout<<"请输入学号和要减去的积分:\n";long int xh,jf;cin>>xh>>jf;for(int i=1;i<=zhan;i++){if(xuehao[i]==xh){jifen[i]-=jf;cout<<"减去成功!";Save();system("pause");continue;  }}}else if(jinitaimei==2){cout<<"请输入姓名和要减去的积分:\n";long int jf;string xm;cin>>xm>>jf; for(int i=1;i<=zhan;i++){if(xue[i]==xm){jifen[i]+=jf;cout<<"减去成功!"; Save();system("pause");continue; }}}}if(s==7){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }cout<<"1:学号添加\n2:姓名添加\n";long int jinitaimei;cin>>jinitaimei;if(jinitaimei==1){cout<<"请输入学号:\n";long int xh;cin>>xh;int c,d,e,f,g,h,z=0;printf("学习态度:");c=read();printf("\n知识掌握:");d=read();printf("\n应用测评:");e=read();printf("\n座位整洁:");g=read();printf("\n签到:");f=read();if(f==3){z+=30;Save();}else if(f==2){z+=10;Save();}else if(f==1){z+=0;Save();}if(g==5){z+=10;Save();}h=c+d+e;h/=3;if(h==5){z+=50;Save();}else if(h==4){z+=10;Save();}else if(h<=3){z+=0;Save();}for(int i=1;i<=zhan;i++){if(xuehao[i]==xh){jifen[i]+=z;cout<<"添加成功!";Save();system("pause");continue;  }}}else if(jinitaimei==2){cout<<"请输入姓名:\n";string xm;cin>>xm; int c,d,e,f,g,h,z=0;printf("学习态度:");c=read();printf("\n知识掌握:");d=read();printf("\n应用测评:");e=read();printf("\n座位整洁:");g=read();printf("\n签到:");f=read();if(f==3){z+=30;Save();}else if(f==2){z+=10;Save();}else if(f==1){z+=0;Save();}if(g==5){z+=10;Save();}h=c+d+e;h/=3;if(h==5){z+=50;Save();}else if(h==4){z+=10;Save();}else if(h<=3){z+=0;Save();}for(int i=1;i<=zhan;i++){if(xue[i]==xm){jifen[i]+=z;cout<<"添加成功!"; Save();system("pause");continue; }}}else{printf("无用数字!");system("pause");continue; }}else if(s==8){printf("退出成功!");Save();return 0; }else if(s==1){if(zhan==5000){printf("学生已到5000人极限,无法添加!");system("pause");continue; }zhan+=1;cout<<"请输入姓名:";cin>>xue[zhan];cout<<"请输入性别:";cin>>xingbie[zhan];cout<<"请输入学号:";cin>>xuehao[zhan];Save();}else if(s==2){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }else if(zhan==1){cout<<"你就一个,排什么排!!!!!!";system("pause");continue; }paixuehao();}else if(s==3){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }else if(zhan==1){cout<<"你就一个,排什么排!!!!!!";system("pause");continue; }paijifen();}else if(s==4){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }cout<<"1:学号添加\n2:姓名添加\n";long int jinitaimei;cin>>jinitaimei;if(jinitaimei==1){cout<<"请输入学号和要添加的积分:\n";long int xh,jf;cin>>xh>>jf;for(int i=1;i<=zhan;i++){if(xuehao[i]==xh){jifen[i]+=jf;cout<<"添加成功!";Save();system("pause");continue;  }}}else if(jinitaimei==2){cout<<"请输入姓名和要添加的积分:\n";long int jf;string xm;cin>>xm>>jf; for(int i=1;i<=zhan;i++){if(xue[i]==xm){jifen[i]+=jf;cout<<"添加成功!"; Save();system("pause");continue; }}}else{printf("无用数字!");system("pause");continue; }}else if(s==6){if(zhan==0) {cout<<"你没学生!!!!!";system("pause");continue; }cout<<"请输入姓名:";string xm;cin>>xm;for(int i=1;i<=zhan;i++){if(xue[i]==xm) cout<<xuehao[i]<<endl;system("pause");continue; }}else{printf("无用数字!");}}Save();return 0;} 

这篇关于c++学生系统(gezhengxu2024独创)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/654147

相关文章

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c