⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmodify.cpp

📁 C++语言课程设计- 图书管理系统 我个人在大一时做的 不足之处还请赐教
💻 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 + -