当前位置:首页 > C++学生信息管理系统(一卡通)
while(loop) {
cout << \ 该学生是否为本班级班长(y/n):\ cin >> choose;
if(choose=='y'||choose=='Y') {monitor='y';loop=0;} else if(choose=='n'||choose=='N') {monitor='n';loop=0;} else
{cout << \ 您的输入有误,请重新选择!\ } }
void undergraduate::inputUndergraduate1() //管理员本科生信息进Undergraduate.txt文件 {
undergraduate undInput1; undInput1.inputUndergraduate();
fstream file(\打开文件,指针指向文件尾 }
void undergraduate::inputUndergraduate_wrapper() //OK!管理员录入本科生信息时单个录入或多个录入 {
char totalChar; int total,loop=1,i;
undergraduate underInputWrapper; while(loop) {
loop=0;
cout << \ ★★★★本科生信息录入★★★★\ cout << \ 您想录入多少组信息(0-9): \ cin >> totalChar;
if(totalChar<'0'||totalChar>'9') {
cout << \ 您的输入有误,请重新输入!\ loop = 1; continue; }
total = totalChar-'0'; for(i = 0; i < total; i++) {
cout << \ 第\位同学: \
file.write((char*)&undInput1,sizeof(undInput1)); //把类信息写入文件 file.close(); //关闭文件 cout << \ ......信息已保存\
underInputWrapper.inputUndergraduate1() ; } } }
void undergraduate::underPayout(char str[]) {
char choose; double payMoney; undergraduate undePay1;
fstream file(\ //打开文件,指针在文件头 file.read((char*)&undePay1,sizeof(undePay1)); //读取类信息 while(!file.eof()) //判断文件指针是否到文件尾 {
if(comp(undePay1.number,str)) {
cout << \ 您的姓名为:\?(y/n) \ while(1) {
cin >> choose;
if(choose=='y'||choose=='Y') {
cout << \ 您本次消费/充卡金额为(消费为正值,充卡为负值): \
cin >> payMoney;
undePay1.money -= payMoney;
cout << \ 您的余额为: \<< undePay1.money << endl;
break; }
else if (choose=='n'||choose=='N') break;
else cout << \ 您的输入错误\ } break; }
file.read((char*)&undePay1,sizeof(undePay1));//如果指针没到文件尾,继续读取 } }
void undergraduate::underSearchAll() {
undergraduate under5; cout << endl
<< \ ―――――――――――――――――――――――――\ << \ ★★★★本科生基本信息★★★★\
<< \ 学号\ 姓名\ 专业班级\ 班长\年龄\
性别\
<< \ 籍贯\ 电话\ 余额\ fstream file(\打开文件,指针在文件头 file.read((char*)&under5,sizeof(under5)); //读取类信息 while(!file.eof()) //判断文件指针是否到文件尾 {
cout << setw(12) << under5.number << setw(8) << under5.name < << setw(3) << under5.monitor << setw(4)<< under5.age << setw(3) << under5.sex << setw(12) << under5.birthPlace << setw(14) << under5.tel << setw(6) << under5.money << endl; file.read((char*)&under5,sizeof(under5));//如果指针没到文件尾,继续读取 } file.close(); } //------------------------------------------------------------------ //-----------------以下为postgraduate类中成员函数------------------- //------------------------------------------------------------------ void postgraduate::searchPostgraduate() //通过学号及姓名查找学生信息 { postgraduate post1; int ensurance=1; char number2[20],name2[20]; cout << \ 请输入您所需查询学生的学号: \ cin >> number2; cout << \ 请输入该学生的姓名:\ cin >> name2; cout << endl << \ ―――――――――――――――――――――――――\ << \ ★★★研究生基本信息查询结果★★★\ fstream file(\ //打开文件,指针在文件头 file.read((char*)&post1,sizeof(post1)); //读取类信息 while(!file.eof()) //判断文件指针是否到文件尾 { if(comp(post1.number,number2)) { if(comp(post1.name,name2)) { post1.displayPostgraduate(); } else cout << \ 您所输入姓名与学号不符!\ ensurance=0; break; } file.read((char*)&post1,sizeof(post1));//如果指针没到文件尾,继续读取 } if(ensurance) cout << \ 该学号不存在!\ file.close(); } void postgraduate::inputPostgraduate() //管理员录入本科生信息 { postgraduate postInput; char choose; int loop=1,loop1=1; strcat(shape,\ while(loop1) { loop1=0; cout << \ 学号:\ fstream file(\打开文件,指针在文件头 file.read((char*)&postInput,sizeof(postInput)); //读取类信息 while(!file.eof()) //判断文件指针是否到文件尾 { if(comp(postInput.number,number)) //判断输入的字符是否与文件中的一样 { cout << \ 该学号已经录入\ loop1=1; break; } file.read((char*)&postInput,sizeof(postInput));//如果指针没到文件尾,继续读取*/ } file.close(); } cout << \ 姓名:\ cout << \ 班级:\ cout << \ 年龄:\ while(loop) { cout << \ 性别(A.男,B.女):\ cin >> choose; if(choose=='a'||choose=='A') {sex='m';loop=0;} else if(choose=='b'||choose=='B') {sex='f';loop=0;} else {cout << \ 您的输入有误,请重新选择!\ } cout << \ 籍贯:\
共分享92篇相关文档