📄 bookmodify.cpp
字号:
//*******************************
// 修改书
//*******************************
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#include"book.h"
int match(char *);
void bookmodify()
{
char cname[51]={0},s[51],ch='0',again='0';
float wholesale=0.0,retail=0.0;
int volumn=0;
int flag=0;
book p; //临时对象
cout<<"\n\n\t请输入你要修改书的书名:";
cin>>cname;
cin.ignore();
cout<<endl;
flag=match(cname);
if(flag==0)
{
cout<<"\n\n\t查无此书!"<<endl;
system("pause");
return; //返回上一层菜单
}
//如果flag!=0则执行以下程序
fstream file("book.dat",ios::in|ios::out|ios::binary);
if(!file) //错误处理及提示
{
cout<<"\n\t\t打开文件失败!"<<endl;
exit(1); //意外终止程序运行
}
while(!file.eof())
{
file.read((char*)&p,sizeof(p));
if(strcmp(cname,p.getbookname())==0)
break;
}
cout<<"你要修改书的信息如下:";
cout<<p;
system("pause");
loop:
cout<<"\n\t请选择你要修改的项目:"<<endl;
cout<<"1.书名\t\t2.ISBN号\t3.作者\t\t4.出版社名"<<endl
<<"5.进书日期\t6.库存量\t7.批发价\t8.零售价"<<endl;
do{
cout<<endl<<"请输入你的选择:";
cin>>ch;
cin.ignore();
switch(ch)
{
case '1':
cout<<"请输入书名:"<<endl;
cin>>s;
cin.ignore();
p.setbookname(s);
break;
case '2':
cout<<"请输入ISBN号:"<<endl;
cin>>s;
cin.ignore();
p.setisbn(s);
break;
case '3':
cout<<"请输入作者的名字:"<<endl;
cin>>s;
cin.ignore();
p.setauthor(s);
break;
case '4':
cout<<"请输入出版社名:"<<endl;
cin>>s;
cin.ignore();
p.setpublish(s);
break;
case '5':
cout<<"请输入进书日期:"<<endl;
cin>>s;
cin.ignore();
p.setdateadd(s);
break;
case '6':
cout<<"请输入库存量:"<<endl;
cin>>volumn;
p.setvolumn(volumn);
break;
case '7':
cout<<"请输入批发价:"<<endl;
cin>>wholesale;
cin.ignore();
p.setwholesale(wholesale);
break;
case '8':
cout<<"请输入零售价:"<<endl;
cin>>retail;
cin.ignore();
p.setretail(retail);
break;
default:
cout<<"查无此项服务!"<<endl;
break;
}
}while(ch<'1'||ch>'8');
system("cls");
cout<<"\n\t\t修改后此书的信息如下:";
cout<<p<<endl;
cout<<"\n\t\t1. 继续修改此书"<<endl;
cout<<"\n\t\t2. 确认以上对此书的修改"<<endl;
cout<<"\n\t\t 输入其他则放弃此次修改!"<<endl;
cout<<"\n\t请输入选择:";
cin>>again;
cin.ignore();
cout<<endl;
switch(again)
{
case '1':
goto loop;
break;
case '2':
////保存修改信息
file.seekp(-(long)sizeof(p),ios::cur);
file.write((char*)&p,sizeof(p));
file.close();
cout<<"\n\t\t修改成功!"<<endl;
system("pause");
return ;
default:
file.close();
system("pause");
return ;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -