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

📄 advicebussiness.c

📁 pro C的一个关于零件交易系统的源码
💻 C
📖 第 1 页 / 共 3 页
字号:
     sqlstm.sqadto[2] = (unsigned short )0;
     sqlstm.sqtdso[2] = (unsigned short )0;
     sqlstm.sqhstv[3] = (         void  *)Quantity;
     sqlstm.sqhstl[3] = (unsigned int  )8;
     sqlstm.sqhsts[3] = (         int  )0;
     sqlstm.sqindv[3] = (         void  *)0;
     sqlstm.sqinds[3] = (         int  )0;
     sqlstm.sqharm[3] = (unsigned int  )0;
     sqlstm.sqadto[3] = (unsigned short )0;
     sqlstm.sqtdso[3] = (unsigned short )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqphss = sqlstm.sqhsts;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqpins = sqlstm.sqinds;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlstm.sqpadto = sqlstm.sqadto;
     sqlstm.sqptdso = sqlstm.sqtdso;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
     if (sqlca.sqlcode == 1403) break;
}


    		++total_number;
    		if( total_number == 1 )
    		{
    			printf("\n所有的供应信息如下:");
			printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-10s%-8s%-8s\n","N","providerID","PartID","Price","Quantity");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
    		}/*if*/
   		printf("%-4d%-10s%-10s%-8s%-8s\n",total_number,providerID,PartID,Price,Quantity);
   		printf("--- --------- ------------------- ---------------------------- ----------\n");
   	}/*while*/
   	/* EXEC SQL CLOSE query_supply_cursor; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 4;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )112;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	if(!total_number)
   	{	
   		printf("WARING:(query_all_supply)There is no supply part.\t\n\n");
   		return -1;
   	}else
		return 0;	/*success*/	
	
}/*query_all_supply()*/


void advice_bussiness()
{
	/* EXEC SQL BEGIN DECLARE SECTION; */ 
 
	char customerID[10];
	char partID[10];
	char Price[8];
	char Quantity[8];
	/* EXEC SQL END DECLARE SECTION; */ 

	char t;
	int total_number = 0;
	
	/* EXEC SQL DECLARE advice_bussiness_cursor CURSOR FOR SELECT * FROM After; */ 
  
   	/* EXEC SQL OPEN advice_bussiness_cursor; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 4;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.stmt = sq0003;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )127;
    sqlstm.selerr = (unsigned short)1;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


   	
	puts("\t\t推荐交易\n");
/*	puts("\n\n以下为所有需求信息:\n");*/
	
	if( query_all_after() ){
		printf("WARING:(advice_bussiness)There is no after part.\t\n\n");
		puts("没有任何需求信息,返回上级菜单\n");
		bus_Menu();
	}/*if*/
/*	puts("\n\n以下为所有供应信息:\n");*/
	if( query_all_supply() ){
		printf("WARING:(advice_bussiness)There is no supply part.\t\n\n");
		puts("没有任何供应信息,返回上级菜单\n");
		bus_Menu();
	}/*if*/
	
	printf("\n需要为每项需求推荐供应信息吗?(y/n)>");
	t = getchar();
	if( t=='n' || t=='N' ){
		printf("\n不做处理,点击任意键直接返回上级菜单\n");
		getchar();
	}else{
		while(1)
   		{

   			/* EXEC SQL WHENEVER NOT FOUND DO break; */ 
   		
   			/* EXEC SQL FETCH advice_bussiness_cursor INTO :customerID,:partID,:Price,:Quantity; */ 

{
      struct sqlexd sqlstm;
      sqlstm.sqlvsn = 10;
      sqlstm.arrsiz = 4;
      sqlstm.sqladtp = &sqladt;
      sqlstm.sqltdsp = &sqltds;
      sqlstm.iters = (unsigned int  )1;
      sqlstm.offset = (unsigned int  )142;
      sqlstm.selerr = (unsigned short)1;
      sqlstm.cud = sqlcud0;
      sqlstm.sqlest = (unsigned char  *)&sqlca;
      sqlstm.sqlety = (unsigned short)256;
      sqlstm.occurs = (unsigned int  )0;
      sqlstm.sqhstv[0] = (         void  *)customerID;
      sqlstm.sqhstl[0] = (unsigned int  )10;
      sqlstm.sqhsts[0] = (         int  )0;
      sqlstm.sqindv[0] = (         void  *)0;
      sqlstm.sqinds[0] = (         int  )0;
      sqlstm.sqharm[0] = (unsigned int  )0;
      sqlstm.sqadto[0] = (unsigned short )0;
      sqlstm.sqtdso[0] = (unsigned short )0;
      sqlstm.sqhstv[1] = (         void  *)partID;
      sqlstm.sqhstl[1] = (unsigned int  )10;
      sqlstm.sqhsts[1] = (         int  )0;
      sqlstm.sqindv[1] = (         void  *)0;
      sqlstm.sqinds[1] = (         int  )0;
      sqlstm.sqharm[1] = (unsigned int  )0;
      sqlstm.sqadto[1] = (unsigned short )0;
      sqlstm.sqtdso[1] = (unsigned short )0;
      sqlstm.sqhstv[2] = (         void  *)Price;
      sqlstm.sqhstl[2] = (unsigned int  )8;
      sqlstm.sqhsts[2] = (         int  )0;
      sqlstm.sqindv[2] = (         void  *)0;
      sqlstm.sqinds[2] = (         int  )0;
      sqlstm.sqharm[2] = (unsigned int  )0;
      sqlstm.sqadto[2] = (unsigned short )0;
      sqlstm.sqtdso[2] = (unsigned short )0;
      sqlstm.sqhstv[3] = (         void  *)Quantity;
      sqlstm.sqhstl[3] = (unsigned int  )8;
      sqlstm.sqhsts[3] = (         int  )0;
      sqlstm.sqindv[3] = (         void  *)0;
      sqlstm.sqinds[3] = (         int  )0;
      sqlstm.sqharm[3] = (unsigned int  )0;
      sqlstm.sqadto[3] = (unsigned short )0;
      sqlstm.sqtdso[3] = (unsigned short )0;
      sqlstm.sqphsv = sqlstm.sqhstv;
      sqlstm.sqphsl = sqlstm.sqhstl;
      sqlstm.sqphss = sqlstm.sqhsts;
      sqlstm.sqpind = sqlstm.sqindv;
      sqlstm.sqpins = sqlstm.sqinds;
      sqlstm.sqparm = sqlstm.sqharm;
      sqlstm.sqparc = sqlstm.sqharc;
      sqlstm.sqpadto = sqlstm.sqadto;
      sqlstm.sqptdso = sqlstm.sqtdso;
      sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
      if (sqlca.sqlcode == 1403) break;
}


    			++total_number;
    			printf("\n第%d条需求信息如下:\n",total_number);
			printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-10s%-8s%-8s\n","N","customerID","partID","Price","Quantity");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
   			printf("%-4d%-10s%-10s%-8s%-8s\n",total_number,customerID,partID,Price,Quantity);
   			printf("--- --------- ------------------- ---------------------------- ----------\n");
			if( t = advice_supply(customerID,partID,Price,Quantity) ) {
				printf("为%s对于%s的需求共推荐了%d条供应信息\n",customerID,partID,t);
				delete_after(customerID,partID);
				printf("点击任意键开始下一个推荐\n");
				getchar();
			}/*if*/
		}/*while*/
	
	printf("交易推荐完毕,点击任意键返回上一级菜单!\n");
	getchar();
	}/*else*/
	bus_Menu();
}/*advice_bussiness()*/

int advice_supply(char* tCustomerID,char* tPartID,char* tPrice,char* tQuantity) 
{/*成功,返回推荐个数,否则,0*/
	/* EXEC SQL BEGIN DECLARE SECTION; */ 
 
	char customerID[10];
	char cPartID[10];
	char cPrice[8];
	char cQuantity[8];
	
	char providerID[10];
	char pPartID[10];
	char pPrice[8];
	char pQuantity[8];
	/* EXEC SQL END DECLARE SECTION; */ 

	int total_number = 0;
	int doN = 0;
	float cfPrice;
	float pfPrice;
	float cfQuantity;
	float pfQuantity;
	char t;
	
	strcpy(customerID,tCustomerID);
	strcpy(cPartID,tPartID);
	strcpy(cPrice,tPrice);
	strcpy(cQuantity,tQuantity);
	cfPrice = (float)atof(tPrice);
	cfQuantity = (float)atof(tQuantity);
	/*printf("%-10s%-10s%-8s%-8s\n",tCustomerID,tPartID,tPrice,tQuantity);	
	printf("%-10s%-10s%-8s%-8s\n",customerID,cPartID,cPrice,cQuantity);*/
	
	/* EXEC SQL DECLARE advice_supply_cursor CURSOR FOR SELECT * FROM Supply WHERE PartID = :cPartID; */ 
/* AND QUANTITY >= :fQuantity ; */
   	/* EXEC SQL OPEN advice_supply_cursor; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 4;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.stmt = sq0004;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )173;
    sqlstm.selerr = (unsigned short)1;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlstm.sqhstv[0] = (         void  *)cPartID;
    sqlstm.sqhstl[0] = (unsigned int  )10;
    sqlstm.sqhsts[0] = (         int  )0;
    sqlstm.sqindv[0] = (         void  *)0;
    sqlstm.sqinds[0] = (         int  )0;
    sqlstm.sqharm[0] = (unsigned int  )0;
    sqlstm.sqadto[0] = (unsigned short )0;
    sqlstm.sqtdso[0] = (unsigned short )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqphss = sqlstm.sqhsts;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqpins = sqlstm.sqinds;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlstm.sqpadto = sqlstm.sqadto;
    sqlstm.sqptdso = sqlstm.sqtdso;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}

/*PROVIDERID,PARTID,PRICE,QUANTITY*/
   	
   	while(1)
   	{

   		/* EXEC SQL WHENEVER NOT FOUND DO break; */ 
   		
   		/* EXEC SQL FETCH advice_supply_cursor INTO :providerID,:pPartID,:pPrice,:pQuantity; */ 

{
     struct sqlexd sqlstm;
     sqlstm.sqlvsn = 10;
     sqlstm.arrsiz = 4;
     sqlstm.sqladtp = &sqladt;
     sqlstm.sqltdsp = &sqltds;
     sqlstm.iters = (unsigned int  )1;
     sqlstm.offset = (unsigned int  )192;
     sqlstm.selerr = (unsigned short)1;
     sqlstm.cud = sqlcud0;
     sqlstm.sqlest = (unsigned char  *)&sqlca;
     sqlstm.sqlety = (unsigned short)256;
     sqlstm.occurs = (unsigned int  )0;
     sqlstm.sqhstv[0] = (         void  *)providerID;
     sqlstm.sqhstl[0] = (unsigned int  )10;
     sqlstm.sqhsts[0] = (         int  )0;
     sqlstm.sqindv[0] = (         void  *)0;
     sqlstm.sqinds[0] = (         int  )0;
     sqlstm.sqharm[0] = (unsigned int  )0;
     sqlstm.sqadto[0] = (unsigned short )0;
     sqlstm.sqtdso[0] = (unsigned short )0;
     sqlstm.sqhstv[1] = (         void  *)pPartID;
     sqlstm.sqhstl[1] = (unsigned int  )10;
     sqlstm.sqhsts[1] = (         int  )0;
     sqlstm.sqindv[1] = (         void  *)0;
     sqlstm.sqinds[1] = (         int  )0;
     sqlstm.sqharm[1] = (unsigned int  )0;
     sqlstm.sqadto[1] = (unsigned short )0;
     sqlstm.sqtdso[1] = (unsigned short )0;
     sqlstm.sqhstv[2] = (         void  *)pPrice;
     sqlstm.sqhstl[2] = (unsigned int  )8;
     sqlstm.sqhsts[2] = (         int  )0;
     sqlstm.sqindv[2] = (         void  *)0;
     sqlstm.sqinds[2] = (         int  )0;
     sqlstm.sqharm[2] = (unsigned int  )0;
     sqlstm.sqadto[2] = (unsigned short )0;
     sqlstm.sqtdso[2] = (unsigned short )0;
     sqlstm.sqhstv[3] = (         void  *)pQuantity;
     sqlstm.sqhstl[3] = (unsigned int  )8;
     sqlstm.sqhsts[3] = (         int  )0;
     sqlstm.sqindv[3] = (         void  *)0;
     sqlstm.sqinds[3] = (         int  )0;
     sqlstm.sqharm[3] = (unsigned int  )0;
     sqlstm.sqadto[3] = (unsigned short )0;
     sqlstm.sqtdso[3] = (unsigned short )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqphss = sqlstm.sqhsts;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqpins = sqlstm.sqinds;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlstm.sqpadto = sqlstm.sqadto;
     sqlstm.sqptdso = sqlstm.sqtdso;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
     if (sqlca.sqlcode == 1403) break;
}


   		pfQuantity = (float)atof(pQuantity);
   		if(pfQuantity >= cfQuantity ){
    			++total_number;
    		
    			printf("\n第%d条符合零件%s需求的供应信息为:\n",total_number,tPartID);
			printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-10s%-8s%-8s\n","N","providerID","PartID","Price","Quantity");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
    		
   			printf("%-4d%-10s%-10s%-8s%-8s\n",total_number,providerID,pPartID,pPrice,pQuantity);
   			printf("--- --------- ------------------- ---------------------------- ----------\n");
   		
   			printf("推荐本笔交易吗?(y/n)>");
   			fflush(stdin);
   			t = getchar();
   			if( t=='n' || t=='N'){
   				puts("\n本供应信息不做推荐!\n");
   			
   			}else{
   				if( !insert_into_agreement(customerID,providerID,cPartID,cfPrice,cfQuantity) ){
   					printf("本供应信息已推荐,点击任意键开始下条供应信息.\n");   
   					getchar();				
   					++doN;
   					pfPrice = (float)atof(pPrice);
   					
   					update_supply(providerID,cPartID,pfPrice,pfQuantity-cfQuantity);
   				}else    printf("ERROR:(advice_supply(...))\n");
   			}/*else*/
   		}/*if*/
   	}/*while*/
   	/* EXEC SQL CLOSE query_supply_cursor; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 4;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )223;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	if(!total_number)
   	{	
   		printf("WARING:(advice_supply)There is no supply part.\t\n\n");
   		return 0;
   	}else
		return doN;	/*success*/	

⌨️ 快捷键说明

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