班费管理系统C++.docx

上传人:b****8 文档编号:9471381 上传时间:2023-02-04 格式:DOCX 页数:25 大小:19.09KB
下载 相关 举报
班费管理系统C++.docx_第1页
第1页 / 共25页
班费管理系统C++.docx_第2页
第2页 / 共25页
班费管理系统C++.docx_第3页
第3页 / 共25页
班费管理系统C++.docx_第4页
第4页 / 共25页
班费管理系统C++.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

班费管理系统C++.docx

《班费管理系统C++.docx》由会员分享,可在线阅读,更多相关《班费管理系统C++.docx(25页珍藏版)》请在冰豆网上搜索。

班费管理系统C++.docx

班费管理系统C++

#include

#include

#include

#include

#include

//usingnamespacestd;

structdata

{

intnum;//定义编号变量

charzhichu[20];//定义支出类型

floathuafei;//定义花费金额

floatshouru;//定义收入金额

charname[20];//定义字符数组存放姓名变量

chardate[20];//定义字符数组存放日期变量

};

classMoney//建立班费类

{

public:

//公有成员函数

dataget_data(){returnbanfei;}

voidset_data()

{

cout<<"请输入班费信息:

"<

cout<

";

cin>>banfei.num;

cout<

";

cin>>banfei.zhichu;

cout<

";

cin>>banfei.huafei;

cout<

";

cin>>banfei.shouru;

cout<

";

cin>>banfei.name;

cout<

";

cin>>banfei.date;

}

private:

databanfei;//私有结构体变量

};

classManage:

publicMoney//以Money为基类,建立派生类Manage

{

public:

voidin();//录入班费信息

voiddisplay();//显示班费信息

voidmodify();//修改班费信息

voidadd();//插入班费信息

voiddele();//删除班费信息

voidfind();//查找班费信息

voidorder();//对班费信息进行排序

voidclear();//清除班费信信息

voidExit();//退出程序

voidtotal();//统计班费信息

private:

databanfei;

};

voidManage:

:

order()

{

cout<<"排序错误!

"<

}

/*voidorder_menu()

{

cout<<"========================="<

cout<<"*排序方式*"<

cout<<"*.按编号排序:

"<

cout<<"========================="<

}

voidManage:

:

order()//对班费信息进行排序

{

datadat[50];

datadat1;

charq;

cout<<"是否确定进行班费信息排序(Y/N)?

:

";

cin>>q;

while(q=='Y'||q=='y')

{

order_menu();

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

for(inti=0;!

in.eof();i++)

in.read((char*)&dat[i],sizeof(data));

in.close();

for(intj=0;j

{

for(intk=j+1;k

{

if(dat[j].num

{

dat1=dat[k];

dat[k]=dat[j];

dat[j]=dat1;

}

}

}

for(j=0;j

play(dat[j]);

ofstreamout("manage.txt",ios:

:

binary|ios:

:

trunc);

if(!

out)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

for(j=0;j

out.write((char*)&dat[j],sizeof(dat[j]));

out.close();

cout<<"排序完毕!

"<

}

*/

voidManage:

:

in()//录入班费信息

{

chars;

inti=1;

while(i)

{

cout<<"是否要输入信息(Y/N)?

"<

cin>>s;

if(s=='Y'||s=='y')

{

set_data();

ofstreamout("manage.txt",ios:

:

binary|ios:

:

app);//二进制文件打开并写入磁盘

if(!

out)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

out.write((char*)&(get_data()),sizeof(get_data()));//把整个结构体信息写入磁盘

out.close();////关闭文件

}

else

{

i=0;

}

}

}

voidplay(dataout)//输出到屏幕

{

cout<

cout<

:

right)<

}

voidManage:

:

display()//显示班费信息

{

dataout[50];

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

for(inti=0;!

in.eof();i++)

in.read((char*)&(out[i]),sizeof(data));

in.close();

cout<

cout<

:

right)<

for(intj=0;j

play(out[j]);

cout<

}

voidManage:

:

modify()//修改班费信息

{

intj,c,d;

intnum;

charday[12];

ints;

charx;

datadat[50];//定义结构体数组,用于存放从磁盘读出来的结构体信息

cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<

cout<<"^*1.按编号查找修改^"<

cout<<"^^"<

cout<<"^*2.按日期查找修改^"<

cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<

cout<<"是否要修改?

(Y/N)?

:

";

cin>>x;

while(x=='y'||x=='Y')

{

cout<<"请输出修改方式(1/2):

"<

cin>>s;

if(s==1)

{

cout<<"请输入编号:

";

cin>>num;

cout<<""<

cout<

}

if(s==2)

{

cout<<"请输入日期:

";

cin>>day;

cout<<""<

cout<

}

if(s!

=1&&s!

=2)

{

cout<<"输入错误,请正确输入!

"<

break;

}

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

for(c=0;!

in.eof();c++)

in.read((char*)&dat[c],sizeof(data));

for(j=0;j

{

if((num==dat[j].num)||!

(strcmp(day,dat[j].date)))

{

cout<

:

right)<

play(dat[j]);

cout<

break;

}

}

if(j==c-1)

{

cout<<"文件中无此信息!

"<

"<

break;

}

in.close();

ofstreamout("manage.txt",ios:

:

binary|ios:

:

trunc);

if(!

out)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

for(d=0;d

{

if(d==j)

{

set_data();

out.write((char*)&(get_data()),sizeof(get_data()));

}

else

out.write((char*)&dat[d],sizeof(data));

}

cout<<"修改成功!

"<

cout<<"是否继续修改(Y/N)?

:

"<

cin>>x;

out.close();

}

}

voidManage:

:

add()//插入班费信息

{

ints;

datadata1[20];

datadat;

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

charb;

cout<<"是否要插入(y/n)?

"<

cin>>b;

while(b=='y'||b=='Y')

{

for(inti=0;!

in.eof();i++)

in.read((char*)&data1[i],sizeof(data));

in.close();

intp=1,s1;

while(p)

{

cout<<"请输入要插入的位置:

"<

cin>>s1;

if(s1>=0&&s1<=i)

{

for(s=i-1;s>=s1;s--)//向后移一个结构体位置

data1[s+1]=data1[s];

p=0;

}

else

cout<<"输入错误"<

}

cout<<"请输入插入的班费信息"<

cout<<"班费编号:

";

cin>>dat.num;

cout<<"班费名称:

";

cin>>dat.zhichu;

cout<<"花费金额:

";

cin>>dat.huafei;

cout<<"收入金额:

";

cin>>dat.shouru;

cout<<"经手人姓名:

";

cin>>dat.name;

cout<<"收支日期:

";

cin>>dat.date;

data1[s1]=dat;

ofstreamout("manage.txt",ios:

:

binary);

if(!

out)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

cout<

cout<

:

right)<

for(intj=0;j

{

out.write((char*)&data1[j],sizeof(data));

play(data1[j]);

}

cout<

out.close();

cout<<"插入完毕"<

cout<<"是否继续插入班费信息(y/n)?

"<

cin>>b;

}

}

voidfind_menu()//查找菜单函数

{

cout<<""<

cout<<"查找班费信息"<

cout<<"1.按编号查找班费信息"<

cout<<"2.按日期查找班费信息"<

cout<<""<

}

voidManage:

:

find()//查找班费信息

{

datadata1[20];//定义结构体数组data1[20]

charday[12];//定义字符数组,存放日期

intn;

intnum;

charh;

cout<<"是否确定查找(y/n)?

:

";cin>>h;

cout<<""<

while(h=='Y'||h=='y')

{

while(n)

{

find_menu();//调用查找信息菜单

cout<<"请输入查找方式:

"<

cin>>n;

if(n==1)//按编号查找班费信息

{

cout<<"请输入查找的班费信息编号:

";

cin>>num;

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

cout<

cout<

:

right)<

for(inti=0;!

in.eof();i++)//从磁盘上读信息,直到结束

in.read((char*)&data1[i],sizeof(data));

in.close();

for(ints1=0;s1

if(num==data1[s1].num)

{

play(data1[s1]);

cout<

continue;

}

system("pause");//调用系统函数

}

elseif(n==2)//按日期查找班费信息

{

cout<<"请输入查找班费信息的日期:

";

cin>>day;

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

cout<

cout<

:

right)<

for(inti=0;!

in.eof();i++)//从磁盘上读信息,直到结束

in.read((char*)&data1[i],sizeof(data));

in.close();

for(intj=0;j

if(!

strcmp(day,data1[j].date))

{

play(data1[j]);

cout<

continue;

}

cout<<"";

system("pause");

}

if(n!

=1||n!

=2)break;

}

cout<<"查找完毕!

"<

cout<<"是否继续查找班费信息(Y/N)?

:

";

cin>>h;

}

}

voidManage:

:

total()//统计班费信息

{

floata=0;

ifstreamin("manage.txt",ios:

:

binary);

if(!

in)

{

cerr<<"数据文件打开失败!

"<

exit

(1);

}

datadata1;

intd;

in.seekg(0,ios:

:

end);

d=in.tellg();

ints=sizeof(data);

in.seekg(0,ios:

:

beg);

cout<

cout<

:

right)<

for(inti=0;i

{

in.read((char*)&data1,sizeof(data));

a=a+data1.shouru-data1.huafei;

play(data1);

}

in.close();

cout<

cout<<""<

cout<<"统计后余额为:

"<

"<

}

voidManage:

:

clear()

{

chars;

cout<<"你确定清空(Y/N)?

"<

cin>>s;

if(s=='Y'||s=='y')

{

ifstreamin("manage.txt",ios:

:

binary|ios:

:

trunc);

if(!

in)

{

cerr<<"数据文件打开失败!

!

"<

exit

(1);

}

in.close();

cout<<"清空完毕!

"<

}

}

voiddele_menu()//删除菜单函数

{

cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<

cout<<"^*1.按编号查找删除^"<

cout<<"^^"<

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

当前位置:首页 > 求职职场 > 自我管理与提升

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

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