班费管理系统C++Word文档下载推荐.docx
- 文档编号:22607420
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:25
- 大小:19.09KB
班费管理系统C++Word文档下载推荐.docx
《班费管理系统C++Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《班费管理系统C++Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
endl<
班费编号:
;
cin>
>
banfei.num;
班费名称:
banfei.zhichu;
花费金额:
banfei.huafei;
收入金额:
banfei.shouru;
经手人姓名:
banfei.name;
收支日期:
banfei.date;
}
private:
databanfei;
//私有结构体变量
classManage:
publicMoney//以Money为基类,建立派生类Manage
voidin();
//录入班费信息
voiddisplay();
//显示班费信息
voidmodify();
//修改班费信息
voidadd();
//插入班费信息
voiddele();
//删除班费信息
voidfind();
//查找班费信息
voidorder();
//对班费信息进行排序
voidclear();
//清除班费信信息
voidExit();
//退出程序
voidtotal();
//统计班费信息
voidManage:
:
order()
排序错误!
/*voidorder_menu()
========================="
*排序方式*"
*.按编号排序:
order()//对班费信息进行排序
datadat[50];
datadat1;
charq;
是否确定进行班费信息排序(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<
i-1;
j++)
for(intk=j+1;
k<
k++)
{
if(dat[j].num<
dat[k].num)
{
dat1=dat[k];
dat[k]=dat[j];
dat[j]=dat1;
}
}
for(j=0;
play(dat[j]);
ofstreamout("
binary|ios:
trunc);
if(!
out)
exit
(1);
out.write((char*)&
dat[j],sizeof(dat[j]));
out.close();
排序完毕!
*/
in()//录入班费信息
chars;
inti=1;
while(i)
是否要输入信息(Y/N)?
s;
if(s=='
||s=='
set_data();
ofstreamout("
app);
//二进制文件打开并写入磁盘
if(!
cerr<
数据文件打开失败!
exit
(1);
out.write((char*)&
(get_data()),sizeof(get_data()));
//把整个结构体信息写入磁盘
out.close();
////关闭文件
else
i=0;
voidplay(dataout)//输出到屏幕
setfill('
^'
)<
setw(75)<
^"
setiosflags(ios:
right)<
'
setw(10)<
out.num<
setw(12)<
out.zhichu<
out.huafei<
out.shouru<
out.name<
out.date<
display()//显示班费信息
dataout[50];
ifstreamin("
cerr<
exit
(1);
for(inti=0;
in.read((char*)&
(out[i]),sizeof(data));
in.close();
班费编号"
班费名称"
花费金额"
收入金额"
setw(15)<
经手人姓名"
收支日期"
for(intj=0;
play(out[j]);
modify()//修改班费信息
intj,c,d;
charday[12];
ints;
charx;
//定义结构体数组,用于存放从磁盘读出来的结构体信息
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
^*1.按编号查找修改^"
^^"
^*2.按日期查找修改^"
是否要修改?
(Y/N)?
x;
while(x=='
||x=='
请输出修改方式(1/2):
if(s==1)
cout<
请输入编号:
cin>
num;
cout<
if(s==2)
请输入日期:
day;
if(s!
=1&
&
s!
=2)
输入错误,请正确输入!
break;
ifstreamin("
for(c=0;
c++)
in.read((char*)&
dat[c],sizeof(data));
for(j=0;
c-1;
if((num==dat[j].num)||!
(strcmp(day,dat[j].date)))
play(dat[j]);
break;
if(j==c-1)
文件中无此信息!
退出!
ofstreamout("
for(d=0;
d<
d++)
if(d==j)
set_data();
out.write((char*)&
else
out.write((char*)&
dat[d],sizeof(data));
修改成功!
是否继续修改(Y/N)?
out.close();
add()//插入班费信息
datadata1[20];
datadat;
charb;
是否要插入(y/n)?
b;
while(b=='
||b=='
)
data1[i],sizeof(data));
intp=1,s1;
while(p)
{
请输入要插入的位置:
cin>
s1;
if(s1>
=0&
s1<
=i)
for(s=i-1;
s>
=s1;
s--)//向后移一个结构体位置
data1[s+1]=data1[s];
p=0;
输入错误"
请输入插入的班费信息"
//从键盘上读入信息
dat.num;
dat.zhichu;
dat.huafei;
dat.shouru;
dat.name;
dat.date;
data1[s1]=dat;
i;
j++)//把新输入的信息放进磁盘
out.write((char*)&
data1[j],sizeof(data));
play(data1[j]);
插入完毕"
是否继续插入班费信息(y/n)?
voidfind_menu()//查找菜单函数
查找班费信息"
1.按编号查找班费信息"
2.按日期查找班费信息"
find()//查找班费信息
{
//定义结构体数组data1[20]
//定义字符数组,存放日期
intn;
charh;
是否确定查找(y/n)?
cin>
h;
while(h=='
||h=='
while(n)
find_menu();
//调用查找信息菜单
请输入查找方式:
n;
if(n==1)//按编号查找班费信息
请输入查找的班费信息编号:
ifstreamin("
if(!
cerr<
数据文件打开失败!
for(inti=0;
i++)//从磁盘上读信息,直到结束
in.read((char*)&
in.close();
for(ints1=0;
s1++)
if(num==data1[s1].num)
{
play(data1[s1]);
continue;
}
system("
pause"
);
//调用系统函数
elseif(n==2)//按日期查找班费信息
请输入查找班费信息的日期:
if(!
for(intj=0;
strcmp(day,data1[j].date))
{
play(data1[j]);
continue;
if(n!
=1||n!
=2)break;
查找完毕!
是否继续查找班费信息(Y/N)?
total()//统计班费信息
floata=0;
cerr<
datadata1;
intd;
in.seekg(0,ios:
end);
d=in.tellg();
ints=sizeof(data);
beg);
i<
d/s;
in.read((char*)&
data1,sizeof(data));
a=a+data1.shouru-data1.huafei;
play(data1);
统计后余额为:
a<
clear()
你确定清空(Y/N)?
if(s=='
清空完毕!
}
voiddele_menu()//删除菜单函数
^*1.按编号查找删除^"
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 系统 C+
![提示](https://static.bdocx.com/images/bang_tan.gif)