学生管理系统--CCAT
来源:互联网 发布:域名多ip 解析 编辑:程序博客网 时间:2024/05/16 01:22
#include <iostream>#include <fstream>#include <string.h>#include <stdlib.h>#include <iomanip>#define MAXACCOUNTNUMBER 500using namespace std;//欢迎界面void welcome();//主界面void mainFrame();//查询学生信息void bid();//显示学生信息void show();//创建账户void openAccount();//删除学生void deletestu();//修改学生void altre();//对学生按照学号排序void sortstu();//读取文件void Read() ;//写入文件void Save();struct Account{ long stuNumber; //学号 char stuName[20]; //姓名 char stuPwd[10]; //性别 int ages; //年龄 double grade ; //成绩};//所有学生信息Account array[MAXACCOUNTNUMBER];//人员的数量int size=0;int main(){ Read(); int i; char loginName[20]; char loginPwd[20]; welcome(); for(i=0;i<3;i++) { cout<<endl<<"请输入用户名:"; cin>>loginName; cout<<endl<<"请输入六位登陆密码:"; cin>>loginPwd; if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"123456")==0) { mainFrame(); break; } else { cout<<endl<<"用户名或密码输入错误"<<endl; cout<<endl<<"您还有"<<2-i<<"次机会"<<endl<<endl; if(2-i==0){ cout<<"请办理密码业务后再来!"<<endl; } } } return 0;}void welcome(){ cout<<" 欢迎登录学生信息管理系统"<<endl;}void mainFrame(){ int order=0; cout<<endl<<endl<<" 欢迎登录学生信息管理系统"<<endl; 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<<"请输入操作指令: "; cin>>order; switch(order) { case 1: openAccount(); break; case 2: deletestu(); break; case 3: altre(); break; case 4: show(); break; case 5: sortstu(); break; case 6: bid(); break; case 7: Save(); exit(1); break; default: cout<<endl; cout<<"您输入的指令有误! 系统退出!!!"<<endl; cout<<endl; Save(); exit(1); break; }}void show(){ cout<<endl<<" 学生信息总览"<<endl; cout<<endl; cout<<"学号 姓名 性别 年龄 成绩 "<<endl; cout<<"----------------------------------------------------------------"<<endl; for(int i=0;i<size;i++) { if(array[i].stuNumber!=-1) { cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl; } } mainFrame();}//创建账户void openAccount(){ char s; cout<<"请输入学生的学号,姓名,性别,年龄,成绩:"<<endl; cin>>array[size].stuNumber>>array[size].stuName>>array[size].stuPwd>>array[size].ages>>array[size].grade; size++; cout<<endl<<"学生信息创建成功"<<endl; cout<<"是否继续添加学生:y or n"<<endl; cin>>s; if(s=='y'||s=='Y'){ openAccount(); }else{ fflush(stdin); mainFrame(); }}//删除学生void deletestu(){ int a; char b; cout<<"请输入删除学生的下标:"<<endl; cin>>a; array[a-1].stuNumber=-1; cout<<"删除成功,是否继续 y or n"<<endl; cin>>b; if(b=='y'||b=='Y'){ deletestu(); }else{ fflush(stdin); mainFrame(); }}//修改学生void altre(){ long a; char b; cout<<"请输入要修改学生的学号:"<<endl; cin>>a; for(int i=0;i<size;i++) { //cout<<"*******"<<endl; if(array[i].stuNumber==a) { cout<<"请输入学生的姓名,性别,年龄,成绩:"<<endl; cin>>array[i].stuName>>array[i].stuPwd>>array[i].ages>>array[i].grade; fflush(stdin); cout<<"修改成功。修改后的信息为:"<<endl; cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl; break; cout<<"是否继续 y or n"<<endl; cin>>b; if(b=='y'||b=='Y'){ altre(); } } } cout<<"没有录入该信息!"<<endl; mainFrame();}//对学生按照学号排序void sortstu(){ int i,j,t,m; double n; char stu[20]; char sex[20]; for(j=0;j<size;j++) for(i=0;i<size-j-1;i++) if(array[i].stuNumber>array[i+1].stuNumber) { t=array[i].stuNumber; array[i].stuNumber=array[i+1].stuNumber; array[i+1].stuNumber=t; strcpy(stu,array[i].stuName); strcpy(array[i].stuName,array[i+1].stuName); strcpy(array[i+1].stuName,stu); strcpy(sex,array[i].stuPwd); strcpy(array[i].stuPwd,array[i+1].stuPwd); strcpy(array[i+1].stuPwd,sex); m=array[i].ages; array[i].ages=array[i+1].ages; array[i+1].ages=m; n=array[i].grade; array[i].grade=array[i+1].grade; array[i+1].grade=n; } cout<<"排序后的结果是:"<<endl; show();}//查询学生信息void bid(){ long num; char b; cout<<"请输入您要查询的学生学号:"<<endl; cin>>num; for(int i=0;i<size;i++){ if(array[i].stuNumber==num){ cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl; cout<<"是否继续 y or n"<<endl; cin>>b; if(b=='y'||b=='Y'){ bid(); } } } cout<<"没有录入该信息!"<<endl; mainFrame();}//读取文件void Read(){ ifstream infile("学生数据.txt",ios::in); //文件目标 if(!infile) { cerr<<endl<<"学生数据文件不存在!!!"<<endl<<endl; exit(1); } while(!infile.eof()) //依次检索文件 { infile>>array[size].stuNumber>>array[size].stuName>>array[size].stuPwd>>array[size].ages>>array[size].grade; size++; } size-=1; infile.close();}//保存文件void Save(){ ofstream outfile("学生数据.txt",ios::out); if(!outfile) { cerr<<endl<<"文件不存在!"<<endl; exit(1); } for(int i=0;i<size;i++) //依次写入文件 { outfile<<array[i].stuNumber<<" "<<array[i].stuName<<" "<<array[i].stuPwd<<" "<<array[i].ages<<" "<<array[i].grade<<endl; } outfile.close(); cout<<endl<<"祝您心情愉快!"<<endl; cout<<endl<<"欢迎您下次使用!"<<endl; cout<<endl; exit(1);}
输出结果:
心得体会:
可能不是很完善,考试仓促。
- 学生管理系统--CCAT
- 车辆管理系统--CCAT
- CCAT-S1试题-图书管理系统
- CCAT-S1试题-商品管理系统
- 一个学生管理系统
- 学生同学录管理系统
- 学生管理系统
- 销售学生管理系统
- 学生通讯管理系统
- 学生管理系统
- 学生管理系统
- 学生管理系统
- 学生管理系统
- 学生学籍管理系统
- 学生管理系统
- 学生通讯录管理系统
- 学生管理系统
- 学生管理系统源程序
- iOS 应用程序目录结构
- linux安装tomcat5.5
- 利用Trackbar来实现视频播放
- Java等待/通知机制:生产者-消费者问题
- linux整合tomcat+apache服务
- 学生管理系统--CCAT
- C语言判断cpu是大端还是小端。
- C++中的优秀C++编译器大集合
- C++拷贝构造函数详解
- JTable 为单元格添加按钮效果和事件效果
- 刘宇凡:什么是内链?什么是外链?
- ubuntu linux andrid jdk sdk
- 小问题
- USB DeviceToControl()函数