• c++的STL的list实现简单的学生管理系统(数据没保存在文件中)


    #include<iostream>
    #include<list>
    #include<string> 
    #include<cstdlib>
    using namespace std;
    //使用list(双向链表)容器对象实现简单的学生管理系统 
    //list简单使用 
    
    class Student{    //学生基本信息结构 
    	public:
    		string num; //学号 
    		string name;  //姓名 
    		string sex;  //性别 
    		int age; 	//年龄 
    		
    };
    
    int main()
    {
    	Student stu;
    	list<Student> L;
    	list<Student>::iterator pos;
    	char ch;
    	cout<<"					**********学生信息管理系统********"<<endl;
    	while(1){
    		cout<<"						1.追加学生信息"<<endl;
    		cout<<"						2.删除最后一个学生的信息"<<endl;
    		cout<<"						3.显示学生信息"<<endl;
    		cout<<"						4.删除所有学生信息"<<endl;
    		cout<<"						5.统计学生个数"<<endl;
    		cout<<"						0.退出"<<endl;
    		cout<<"					请输入操作序号:";
    		cin>>ch;
    		switch(ch){
    			case '1':{
    				system("cls");
    				cout<<"					************追加学生信息的界面************"<<endl;
    				Student s;
    				int n;
    				cout<<"						请输入要追加的学生个数:";
    				cin>>n;
    				if(n>0){
    					cout<<"					学号,学生姓名,学生性别,学生年龄:
    ";
    				}
    				for(int i=0;i<n;i++){	
    					cout<<"					";
    					cin>>s.num>>s.name>>s.sex>>s.age; 
    					L.push_back(s);
    				}
    				cout<<"					";
    				system("pause");
    				system("cls");
    				break;
    			}
    			case '2':{
    				system("cls");
    				cout<<"				*********删除最后一个学生的信息界面************"<<endl;
    				if(!L.empty()){
    					L.pop_back();
    					cout<<"					删除成功!"<<endl;
    				}else{
    					cout<<"					数据库为空!"<<endl; 
    				}
    				cout<<"				";
    				system("pause");
    				system("cls");
    				break;
    			}
    			case '3':{
    				system("cls");
    				cout<<"					*********显示学生信息的界面*********"<<endl;
    				if(L.empty()){
    					cout<<"				数据库为空,无法显示!"<<endl;
    				}else{
    					int i=1;
    					for(list<Student>::iterator it=L.begin();it!=L.end();it++,i++){
    						cout<<"			"<<i<<". 学号:"<<(*it).num<<"	"<<"学生姓名:"<<(*it).name<<"		"<<"学生性别:"<<(*it).sex<<"		"<<"学生年龄:"<<(*it).age<<endl;
    					}
    				} 
    				cout<<"			";
    				system("pause");
    				system("cls");
    				break;
    			}
    			case '4':{
    				system("cls");
    				cout<<"				*********删除所有学生信息的界面*********"<<endl;
    				if(L.empty()){
    					cout<<"					数据库为空!"<<endl;
    				} else{
    					L.clear();
    					cout<<"					删除成功!"<<endl; 
    				}
    				cout<<"				";
    				system("pause");
    				system("cls");
    				break;
    			}
    			case '5':{
    				system("cls");
    				cout<<"				*********统计学生人数界面********"<<endl;
    				cout<<"					学生总人数为:"<<L.size()<<endl;
    				cout<<"				";
    				system("pause");
    				system("cls");
    				break;
    			}
    			case '0':{ 
    				cout<<"					是否退出?(y是,n不是):";
    				cin>>ch;
    				switch(ch){
    					case 'y':{
    						exit(0);
    						break;
    					}
    					case 'n':{
    						system("cls");
    						break;
    					}
    				} 
    				break;
    			}
    		} 
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    pstree
    gvisor vfs2
    gvisor entersyscall exitsyscall
    gvisor在arm64下syscall.SIGILL信号处理
    SpringBlade 为id添加自增长属性
    SQL Server Update 一个列的数据为随机数
    SpringBlade Saber 关闭验证码
    SpringBlade Saber 用户列表的新增按钮 是怎么个显示原理
    SpringBlade Saber 切换标签页 不刷新
    SpringBlade 00 常见问题汇总
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/14407914.html
Copyright © 2020-2023  润新知