C++学生信息管理系统一卡通文档格式.docx

上传人:b****5 文档编号:19947504 上传时间:2023-01-12 格式:DOCX 页数:32 大小:19.30KB
下载 相关 举报
C++学生信息管理系统一卡通文档格式.docx_第1页
第1页 / 共32页
C++学生信息管理系统一卡通文档格式.docx_第2页
第2页 / 共32页
C++学生信息管理系统一卡通文档格式.docx_第3页
第3页 / 共32页
C++学生信息管理系统一卡通文档格式.docx_第4页
第4页 / 共32页
C++学生信息管理系统一卡通文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C++学生信息管理系统一卡通文档格式.docx

《C++学生信息管理系统一卡通文档格式.docx》由会员分享,可在线阅读,更多相关《C++学生信息管理系统一卡通文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

C++学生信息管理系统一卡通文档格式.docx

characcount[12];

charpassword[12];

chartitle;

classundergraduate:

publicstudent//定义本科生类

voidsearchUndergraduate();

voiddisplayUndergraduate();

voidinputUndergraduate_wrapper();

voidinputUndergraduate();

voidinputUndergraduate1();

voidunderPayout(charstr[]);

voidmonitorPower();

voidoutputClassStudent(chars[]);

voidunderSearchAll();

charmonitor;

classpostgraduate:

publicstudent//定义研究生类

voidsearchPostgraduate();

voiddisplayPostgraduate();

voidinputPostgraduate_wrapper();

voidinputPostgraduate();

voidinputPostgraduate1();

voidpostPayout(charstr[]);

voidpostSearchAll();

doublewage;

//不清楚教职工是否配备有一卡通,所以暂不考虑教职工类

Uni-cardsystem.cpp

iostream>

cstring>

fstream>

iomanip>

#include"

uni-cardsystem.h"

voidonUndergraduate();

voidonPostgraduate();

boolcomp(chars1[],chars2[]);

voidinputStudent();

voidadminOnLogin();

//------------------------------------------------------------------

//---------------------以下为person类中成员函数---------------------

voidperson:

:

buildAdmin()//建立Admin.txt

fstreamfile("

Admin.txt"

ios:

out|ios:

app);

//打开文件,指针指向文件尾

file.close();

//关闭文件

}

buildUndergraduate()//建立Undergraduate.txt

Undergraduate.txt"

buildPostgraduate()//建立Postgraduate.txt

Postgraduate.txt"

//--------------------以下为admin类中成员函数-----------------------

voidadmin:

login()//管理员登录及验证

intensurance=0;

characcount2[12],password2[12];

adminad;

cout<

<

endl

"

★★★★★管理员登录界面★★★★★"

endl;

请输入您的账号:

;

cin>

>

account2;

请输入您的密码:

password2;

in);

//打开文件,指针在文件头

file.read((char*)&

ad,sizeof(ad));

//读取类信息

while(!

file.eof())//判断文件指针是否到文件尾

{

if(comp(ad.account,account2)&

&

comp(ad.password,password2))//判断输入的字符是否与文件中的一样

登录成功!

ensurance=1;

break;

file.read((char*)&

//如果指针没到文件尾,继续读取

}

if(ensurance==0)cout<

您的账号或密码输入错误!

if(ensurance)adminOnLogin();

adminRegister()//管理员在文件外录入信息

adminadm;

charchoose;

intloop=1,loop1=1;

★★★★★管理员注册★★★★★"

while(loop1)

loop1=0;

输入您的账号(12位以内):

account;

file.read((char*)&

adm,sizeof(adm));

while(!

if(comp(adm.account,account))//判断输入的字符是否与文件中的一样

账号已被占用!

loop1=1;

file.close();

输入您的密码(12位以内):

password;

输入您的姓名:

name;

while(loop)

选择您的性别(A.男,B.女):

choose;

if(choose=='

a'

||choose=='

A'

{sex='

m'

loop=0;

elseif(choose=='

b'

B'

f'

else

{cout<

您的输入有误,请重新选择!

strcat(shape,"

Admin"

);

输入您的电话:

tel;

loop=1;

输入您的管理员权限级别,是否为高级(y/n):

y'

Y'

{title='

n'

N'

adminRegister2()//将管理员信息录入admin.txt

ad.adminRegister();

admin.txt"

file.write((char*)&

//把类信息写入文件

cout<

......信息已保存"

//----------------以下为undergraduate类中成员函数-------------------

voidundergraduate:

searchUndergraduate()//通过学号及姓名查找学生信息

undergraduateunde1;

intensurance=1;

charnumber2[20],name2[20];

请输入您所需查询学生的学号:

number2;

请输入该学生的姓名:

name2;

unde1,sizeof(unde1));

if(comp(unde1.number,number2))

if(comp(unde1.name,name2))

―――――――――――――――――――――――――"

★★★本科生基本信息查询结果★★★"

学号:

unde1.number<

姓名:

unde1.name<

专业班级:

unde1.nowClass<

年龄:

unde1.age<

性别:

if(unde1.sex=='

)cout<

男"

elseif(unde1.sex=='

女"

班干部:

if(unde1.monitor=='

班长"

elseif(unde1.monitor=='

无"

籍贯:

unde1.birthPlace<

电话:

unde1.tel<

余额:

unde1.money<

elsecout<

您所输入姓名与学号不符!

ensurance=0;

if(ensurance)cout<

该学号不存在!

outputClassStudent(chars[])

undergraduateunder4;

★★★"

s<

学生基本信息★★★"

学号"

姓名"

专业班级"

年龄"

性别"

籍贯"

电话"

余额"

under4,sizeof(under4));

if(comp(under4.nowClass,s))

setw(12)<

under4.number<

setw(8)<

under4.name<

setw(16)<

under4.nowClass

setw(3)<

under4.monitor<

setw(4)<

under4.age<

under4.sex<

setw(12)

under4.birthPlace<

setw(14)<

under4.tel<

setw(6)<

under4.money<

monitorPower()

undergraduateunder3;

intensure=0,ensureExit=1;

charnumber2[20];

charname2[20];

请输入您的学号:

请输入您的姓名:

under3,sizeof(under3));

if(comp(under3.number,number2))

if(comp(under3.name,name2))

if(under3.monitor=='

ensure=1;

你不是班长,别冒牌了!

您输入的学号和姓名不符!

ensureExit=0;

if(ensureExit)cout<

您所输入的学号不存在!

if(ensure)outputClassStudent(under3.nowClass);

inputUndergraduate()//管理员录入本科生信息

undergraduateundInput;

Undergraduate"

number;

undInput,sizeof(undInput));

if(comp(undInput.number,number))//判断输入的字符是否与文件中的一样

该学号已经录入"

//如果指针没到文件尾,继续读取*/

班级:

nowClass;

age;

性别(A.男,B.女):

birthPlace;

money=0;

该学生是否为本班级班长(y/n):

{monitor='

inputUndergraduate1()//管理员本科生信息进Undergraduate.txt文件

undergraduateundInput1;

undInput1.inputUndergraduate();

undInput1,sizeof(undInput1));

inputUndergraduate_wrapper()//OK!

管理员录入本科生信息时单个录入或多个录入

chartotalChar;

inttotal,loop=1,i;

undergraduateunderInputWrapper;

★★★★本科生信息录入★★★★"

您想录入多少组信息(0-9):

totalChar;

if(totalChar<

'

0'

||totalChar>

9'

您的输入有误,请重新输入!

continue;

total=totalChar-'

for(i=0;

i<

total;

i++)

第"

i+1<

位同学:

underInputWrapper.inputUndergraduate1();

underPayout(charstr[])

doublepayMoney;

undergraduateundePay1;

undePay1,sizeof(undePay1));

if(comp(undePay1.number,str))

您的姓名为:

undePay1.name<

(y/n)"

while

(1)

您本次消费/充卡金额为(消费为正值,充卡为负值):

payMoney;

undePay1.money-=payMoney;

您的余额为:

undePay1.money<

)break;

您的输入错误"

underSearchAll()

undergraduateunder5;

★★★★本科生基本信息★★★★"

under5,sizeof(under5));

under5.number<

under5.name<

under5.nowClass

under5.monitor

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1