博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学生信息管理系统
阅读量:7281 次
发布时间:2019-06-30

本文共 4561 字,大约阅读时间需要 15 分钟。

5个菜单功能,每个菜单功能含有不同得类,构造函数,至少有一个菜单功能模块含有友元函数,

友元类,多重继承,虚基类,虚函数或抽象类的应用,有异常处理。

 

1 #include
2 #include
3 #include
4 using namespace std; 5 6 const int Num = 100;//最大学生数 7 int count = 0; 8 9 struct Student{ 10 string data[5];//存放学号,姓名,性别,政治面貌,家庭住址; 11 float goal;//存放c++期末成绩 12 }; 13 Student Data[Num];//存储学生相关信息 14 15 //添加学生信息(友元类) 16 class AddStuInf{ 17 public: 18 AddStuInf();//构造函数 19 void Add(); 20 friend class UpdateStuInf; 21 private: 22 int N;//学生总人数 23 }; 24 25 //初始化 26 AddStuInf::AddStuInf() 27 { 28 N = 0; 29 } 30 //添加学生信息 31 void AddStuInf::Add() 32 { 33 string num,name,address;//学号,姓名,政治面貌,家庭住址; 34 int i,sex,politic,select; 35 float goal;//c++期末成绩 36 bool flags;//用于标识输入的学号是否已经存在 37 38 cout<<" ★请输入学生信息★\n"; 39 do{ 40 cout<<" ◆请输入学号(字符串):"; 41 do{ 42 cin>>num; 43 44 flags = false; 45 46 for(i=0;i
>name; 65 cout<<" ◆性别"<
>sex; 73 74 if(cin.fail())//异常处理 75 { 76 cout<<"输入数据非法!"; 77 exit(0); 78 } 79 switch(sex) 80 { 81 case 1: 82 Data[count].data[2] = "男生"; 83 break; 84 case 0: 85 Data[count].data[2] = "女生"; 86 break; 87 default: 88 Data[count].data[2] = "男生"; 89 break; 90 } 91 cout<<" ◆政治面貌"<
>politic;100 if(cin.fail())//异常处理101 {102 cout<<"输入数据非法!";103 exit(0);104 }105 switch(politic)106 {107 case 0:108 Data[count].data[3] = "共青团员";109 break;110 case 1:111 Data[count].data[3] = "预备党员";112 break;113 case 2:114 Data[count].data[3] = "党员";115 break;116 case 3:117 Data[count].data[3] = "群众";118 break;119 default:120 Data[count].data[3] = "共青团员";121 break;122 }123 cout<<" ◆请输入家庭住址(字符串):";124 cin>>address;125 cout<<" ◆请输入成绩(浮点数):";126 cin>>goal;127 128 Data[count].data[0] = num;129 Data[count].data[1] = name;130 Data[count].data[4] = address;131 Data[count].goal = goal;132 count++;//学生人数自增133 N++;134 cout<
>select;143 }while(select==1);144 cout<<" ★学生信息输入完毕★\n";145 cout<
>num;173 flags = false;174 for(i=0;i
>conti;201 }while(conti==1);202 cout<<" ★删除学生信息完成★\n";203 cout<
>select;239 switch(select)240 {241 case 0:242 AddStu.Add();243 break;244 case 1:245 DeleStu.Dele();246 break;247 default:248 do{249 cout<<" ◆请输入要修改学生的学号(字符串):";250 cin>>num;//输入学号251 252 flags = false;253 for(i=0;i
>name;259 cout<<" ◆性别"<
>sex;266 if(cin.fail())//异常处理267 {268 cout<<"输入数据非法!";269 exit(0);270 }271 switch(sex)272 {273 case 1:274 Data[i].data[2] = "男生";275 break;276 case 0:277 Data[i].data[2] = "女生";278 break;279 default:280 Data[i].data[2] = "男生";281 break;282 }283 cout<<" ◆政治面貌"<
>politic;292 if(cin.fail())//异常处理293 {294 cout<<"输入数据非法!";295 exit(0);296 }297 switch(politic)298 {299 case 0:300 Data[i].data[3] = "共青团员";301 break;302 case 1:303 Data[i].data[3] = "预备党员";304 break;305 case 2:306 Data[i].data[3] = "党员";307 break;308 case 3:309 Data[i].data[3] = "群众";310 break;311 default:312 Data[i].data[3] = "共青团员";313 break;314 }315 cout<<" ◆请输入家庭住址(字符串):";316 cin>>address;317 cout<<" ◆请输入成绩(浮点数):";318 cin>>goal;319 320 Data[i].data[1] = name;321 Data[i].data[4] = address;322 Data[i].goal = goal;323 324 cout<<" ◆学号为["<
<<"]信息修改成功!";325 326 flags = true;327 break;328 }329 }330 331 if(flags==false)332 {333 cout<<" ◆学号["<
<<"]不存在!"<
>conti;344 }while(conti==1);345 break;346 }347 cout<
>con;355 }while(con==1);356 357 cout<<" ★学生信息修改完毕★\n";358 cout<
>select;403 cout<
>num;418 cout<<"学号\t姓名\t性别\t政治面貌\t家庭住址\t成绩"<
>conti;447 }while(conti==1);448 }449 450 class Sort_Goal{451 public:452 Sort_Goal(){};//构造函数453 friend void Sort(Sort_Goal &);//友元函数454 };455 456 //学生成绩进行排序457 void Sort(Sort_Goal &t)458 {459 cout<<" ★学生c++课程成绩进行排序★\n";460 int i,j,select;461 cout<<" ◆接下来的操作"<
>select;468 if(cin.fail())//异常处理469 {470 cout<<"输入数据非法!";471 exit(0);472 }473 Student temp;474 for(i=0;i
Data[j+1].goal){485 Student temp;486 temp = Data[j];487 Data[j] = Data[j+1];488 Data[j+1] = temp;489 }490 }491 }492 }493 494 cout<<"学号\t姓名\t性别\t政治面貌\t家庭住址\t成绩"<
>n;525 cout<<"\n";526 if(n==0)break;527 switch(n)528 {529 case 1:530 A.Add();531 break;532 case 2:533 B.Look();534 break;535 case 3:536 C.Update();537 break;538 case 4:539 D.Dele();540 break;541 case 5:542 Sort(E);543 break;544 default:545 break;546 }547 }548 return 0;549 }

转载于:https://www.cnblogs.com/minmsy/p/5078224.html

你可能感兴趣的文章
xdebug调试一直等待连接
查看>>
写个线程池
查看>>
8月14日云栖精选夜读 | 报告老板!这个阿里程序员每天上班就看别人接吻
查看>>
CentOS7(1708)制作docker镜像之后,开启sshd服务失败的处理办法
查看>>
机器人终于有触觉了!甚至可以实现膝跳反射丨Science
查看>>
Vue UI 组件库
查看>>
用代码控制网络断开与重连
查看>>
带你玩转Logview: MaxCompute Logview参数详解和问题排查
查看>>
探讨:通过循环数组或者集合,插入数据库中没有的数据
查看>>
Spring @Value的$和#用法区别
查看>>
“团灭”经历想说的散伙话
查看>>
用HTML和JS来开发移动app - 部署Cordova配套开发环境
查看>>
前端之jquery函数库
查看>>
8月4日中国大数据大会重装起航 精彩抢先看
查看>>
Java CompletableFuture:allOf等待所有异步线程任务结束(4)
查看>>
创达电子与Ebistrategy亦策软件的BI建设合作
查看>>
Quartz任务调度器
查看>>
您为何还未采用HTTP/2?
查看>>
【GPU称霸超算TOP500最新榜单】美国重夺全球超算霸主,总算力56%来自GPU
查看>>
想换工作?阿里技术战略部招人啦!
查看>>