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

📄 rework.cpp

📁 摩托车销售管理系统 功能: 1--进货管理
💻 CPP
字号:
//修改价格,数量
#include"begin.h"

void basic::rework( fstream f )
{ int choice ;    bargain peijian ;    
  char key1[10];   char key2[15];    
  int num1 ;double num2,num3;    char *s="end";
  f.seekp( 0, ios::end ) ;    
  long posEnd = f.tellp() ;    // 记录文件末尾位置
  cout << "**********  修改记录 **********\n" ;
  while (1)
  { cout << "请选择操作:\n" 
         << "1--修改记录        0--退出\n" ;
    cin >> choice ;
    switch ( choice )
       { case 1:
          { f.seekp( 0, ios::beg );		// 从文件头开始检索
           cout << "请输入代号和简称:\n?代号: " ; cin>>key1 ;// 输入代号和简称进行查找
	      cout <<"?简称:";                            cin  >>key2;
		  do 	// 按代号和简称查找,读数据赋给结构变量peijian
	{ f.read((char *) & peijian, sizeof(struct bargain)) ; 
	} while ((strcmp( peijian.id,key1) || strcmp(peijian.jiancheng,key2)) && f.tellg() != posEnd ) ;
      if (!strcmp(key1,peijian.id) && !strcmp(key2 ,peijian.jiancheng) )		// 找到记录
	  {   cout<<setiosflags(ios::left)<<setw(10)
			  <<"代号"<<setw(12)<<"名称"<<setw(30)
			  <<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
			  <<setw(10)<<"价钱"<<endl;
		  cout<<setiosflags(ios::left)<<setw(10)
	          <<peijian.id<<setw(12)<<peijian.name<<setw(30)
			  <<peijian.jiancheng<<setw(10)<<peijian.type <<setw(3) 
			  <<setprecision(2)<<resetiosflags(ios::left)
			  <<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
			  <<peijian.price<<endl;
	   cout << "请输入修改的数量和价格:\n?数量: " ;      
	   cin >> num1;
	   cout <<"?价格:";
	   cin >> num2;
		   if ( num1>0 &&num2>0 )
			 {peijian.account = num1;     // 修改价格
			  peijian.price = num2;}
			 else   { cout << "价格或数量输入错误,请重新输入!\n" ;    continue; }
             f.seekp( -long( sizeof( bargain ) ), ios::cur );      // 文件指针复位
             f.write( (char *) & peijian , sizeof( bargain ) ) ;    // 修改文件记录
             cout <<"已修改成功!"<< endl
				  <<setiosflags(ios::left)<<setw(10)
	              <<peijian.id<<setw(10)<<peijian.name<<setw(15)
			      <<peijian.jiancheng<<setw(6)<<peijian.type <<setw(10)<<peijian.account<<setw(8) 
			      <<setprecision(2)<<resetiosflags(ios::left)
			      <<setiosflags(ios::fixed|ios::showpoint)<<peijian.price<<endl;
			 }
			 else    cerr << "没有该条记录,不能完成修改!\n" ;
     break ;	
    }
	case 110:
		{ f.seekp( 0, ios::beg );		// 从文件头开始检索
           cout << "请输入代号和简称:\n?代号: " ; cin>>key1 ;// 输入代号和简称进行查找
	      cout <<"?简称:";                            cin  >>key2;
		  do 	// 按代号和简称查找,读数据赋给结构变量peijian
	{ f.read((char *) & peijian, sizeof(struct bargain)) ; 
	} while ((strcmp( peijian.id,key1) || strcmp(peijian.jiancheng,key2)) && f.tellg() != posEnd ) ;
      if (!strcmp(key1,peijian.id) && !strcmp(key2 ,peijian.jiancheng) )		// 找到记录
	   {cout <<setiosflags(ios::left)<<setw(10)
			 <<"代号"<<setw(12)<<"名称"<<setw(30)
			 <<"简称"<<setw(10)<<"类型"<<setw(10)<<"数量"
			 <<setw(10)<<"原价"<<setw(10)<<"售价"<<endl;
		  cout<<setiosflags(ios::left)<<setw(10)
	        <<peijian.id<<setw(12)<<peijian.name<<setw(30)
			<<peijian.jiancheng<<setw(10)<<peijian.type <<setw(3) 
			<<setprecision(2)<<resetiosflags(ios::left)
			<<setiosflags(ios::fixed|ios::showpoint)<<peijian.account<<setw(11)
			<<peijian.buyprice <<setw(11)<<peijian.price<<endl;   
	   cout << "请输入修改的数量和原价和售价:\n?数量: " ;      
	   cin >> num1;
	   cout <<"?原价:";
	   cin >> num2;
	   cout <<"?售价:";
	   cin >> num3;
		   if ( num1>0 &&num2>0 && num3>0)
			 {peijian.account = num1;     // 修改价格
			 peijian.buyprice = num2; 
		     peijian.price = num3;}
			 else   { cout << "价格或数量输入错误,请重新输入!\n" ;    continue; }
             f.seekp( -long( sizeof( bargain ) ), ios::cur );      // 文件指针复位
             f.write( (char *) & peijian , sizeof( bargain ) ) ;    // 修改文件记录
             cout <<"已修改成功!"<< endl
				  <<setiosflags(ios::left)<<setw(10)
	              <<peijian.id<<setw(10)<<peijian.name<<setw(15)
			      <<peijian.jiancheng<<setw(6)<<peijian.type <<setw(10)<<peijian.account<<setw(8) 
			      <<setprecision(2)<<resetiosflags(ios::left)
			      <<setiosflags(ios::fixed|ios::showpoint)<<peijian.buyprice<<setw(10)<<peijian.price<<endl;
			 }
			 else    cerr << "没有该条记录,不能完成修改!\n" ;
     break ;	
    }
    case 0 :  return ;
 }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -