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++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程