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

📄 partmodify.pc

📁 pro C的一个关于零件交易系统的源码
💻 PC
📖 第 1 页 / 共 2 页
字号:
#include <stdio.h> 
#include <string.h>
#include <stdlib.h>
#include <sqlca.h>
#include <process.h>

int query_all_AdvicePart();
int query_part_unique(char*);
int update_part( char* tID,char* tName,char* tColor,float tWeight,char* tIntro );
//int del_advicePart();
int insert_part(char* tID,char* tName,char* tColor,float tWeight,char* tIntro);

int delete_part( char* );
int query_part(char*);

void menu_insert_part();
void menu_query_part();
void menu_delete_part();
void menu_update_part();
void part_modify_part();
void part_modify_menu();

extern bus_Menu();
extern int error();

void menu_adcicePart_disposal();
void menu_query_all_AdvicePart();
void advicePart_to_part();
int delete_advicePart(char* tID);

void part_modify_menu()
{
	char temp;
	fflush(stdin);
	system("cls");
	puts("\n\n交易中心服务器端\n\n");
	puts("\n\n\n\n\n\t\t零件信息维护\n\n");
	printf("\t1.推荐零件信息处理\n");
	printf("\t2.查询零件信息\n");
	printf("\t3.添加零件信息\n");
	printf("\t4.删除零件信息\n");
	printf("\t5.修改零件信息\n");	
	printf("\t....任意键返回上级菜单\n\n");
	
	do {
		
		printf("请选择(1 - 4 ,quit with any other key):");
		temp=getchar();
		fflush(stdin);
		
	   }while(temp==1||temp==2||temp==3||temp==4||temp==5);

		switch(temp) {
			case '1': 
				menu_adcicePart_disposal();break;
			case '2':
				menu_query_part();break;	
			case '3':
				menu_insert_part(); break;
			case '4':
				menu_delete_part();break;
			case '5':
				menu_update_part();break;
			default: 
				bus_Menu();		
			}
}/*part_modify_menu()*/

void menu_query_part()
{
	int more=1;
	char t;
	char ID[10];
	
	while(more)
	{
		fflush(stdin);
		printf("\n\n\t\t查询零件信息\n\n");
		printf("请录入要查询的零件号:\n\n");
		printf("\t零件号->");
		scanf("%s",ID);
		fflush(stdin);
		
		if( query_part( ID ) )
			printf("WARING:(menu_query_part)Part %s does not exist.\t\n\n",ID);
			
			
		printf("还要查询吗?(Y/N)");	
			t=getchar();
			if(t=='N'||t=='n')more=0;				
	}/*while*/
	part_modify_menu();			
}/*menu_query_part()*/

int query_part(char* tID)
{
	EXEC SQL BEGIN DECLARE SECTION; 
	char ID[10];
	char Name[30];
	char Color[10];
	float  Weight = 0.0;
	char Intro[100];
	
	char seekID[10];		
	EXEC SQL END DECLARE SECTION;
	int total_number=0;
	strcpy(seekID,tID);
	
	EXEC SQL DECLARE Part_cursor CURSOR FOR SELECT * FROM Part WHERE ID=:seekID;
   	EXEC SQL OPEN Part_cursor;

   	while(1)
   	{

   		EXEC SQL WHENEVER NOT FOUND DO break;   		
   		EXEC SQL FETCH Part_cursor INTO :ID,:Name,:Color,:Weight,:Intro;
    		++total_number;
    		if( total_number == 1 )
    		{
    			printf("\n相应的信息如下:");
			printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-20s%-10s%-8s\n","N","ID","Name","Color","Weight");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
    		}
   		printf("%-4d%-10s%-20s%-30s\n",total_number,ID,Name,Color,Weight);
   		printf("--- --------- ------------------- ---------------------------- ----------\n");
 		printf("%-50s\n","Intro");
    		printf("-------------------------------------------------------------------------\n");
   		printf("%-50s\n",Intro);
   		printf("-------------------------------------------------------------------------\n");
   		printf("--- --------- ------------------- ---------------------------- ----------\n\n\n");
   	}
   	EXEC SQL CLOSE Part_cursor;
	if(!total_number)
   	{	
   		printf("WARING:(query_Part)Part %s does not exist.\t\n\n",tID);
   		return -1;
   	}else
		return 0;	/*success*/	
}/*query_part(...)*/

void menu_insert_part()
{
	char t,m;
	char ID[10];
	char Name[30];
	char Color[10];
	float  Weight = 0.0;
	char Intro[100];

	while(1)
		{
		printf("\t\t添加零件信息\n\n");
		printf("请录入零件信息:\n\n");
		printf("\t零件号->");
		scanf("%s",ID);
		if( query_part_unique(ID) ){
			printf("此零件%s已经存在,录入其他零件吗?(y/n)\n",ID);
			fflush(stdin);
			m=getchar();
			if(m=='N'||m=='n')	break;
			else		continue;
		}/*if*/ else{
		printf("\t零件名->");
		scanf("%s",Name);
		printf("\t颜色->");
		scanf("%s",Color);
		printf("\t重量(kg)->");
		scanf("%f",&Weight);
		printf("\t简介->");
		scanf("%s",Intro);
		printf("\n");
		fflush(stdin);
		if(!insert_part(ID,Name,Color,Weight,Intro))
			printf("成功添加零件信息!");	
		else printf("ERROR:(menu_insert_part)");	
	}/*while*/			
		printf("继续添加?(Y/N)");	
			t=getchar();
			if(t=='N'||t=='n')break;				
		}
	part_modify_menu();
}/*menu_insert_part()*/

int insert_part(char* tID,char* tName,char* tColor,float tWeight,char* tIntro)
{
	EXEC SQL BEGIN DECLARE SECTION; 
	char ID[10];
	char Name[30];
	char Color[10];
	float  Weight=0.0;
	char Intro[100];
	EXEC SQL END DECLARE SECTION;	
			
	strcpy(ID,tID);
      	strcpy(Name,tName);
      	strcpy(Color,tColor);
      	Weight = tWeight;
      	strcpy(Intro,tIntro);

	EXEC SQL WHENEVER SQLERROR GOTO error;
	EXEC SQL INSERT INTO Part
		VALUES(:ID,:Name,:Color,:Weight,:Intro);
	EXEC SQL COMMIT;	
	return 0;
error:
	printf("ERROR:(insert_part");
	EXEC SQL WHENEVER SQLERROR CONTINUE;    
   	printf("\nORACLE error detected:\n"); 
   	printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); 
   	EXEC SQL ROLLBACK;/* RELEASE; */
   	return 1; 	
}/*insert_part()*/

int query_part_unique(char* tID)
 {
 	EXEC SQL BEGIN DECLARE SECTION; 
 	char seekID[10];
	char temp[10];
	EXEC SQL END DECLARE SECTION;
	int total_number=0;
	
	strcpy(seekID,tID);


	EXEC SQL DECLARE query_partUnique_cursor CURSOR FOR SELECT ID FROM Part WHERE ID=:seekID ;
   	EXEC SQL OPEN query_partUnique_cursor;
   	while(1)
   	{
   		EXEC SQL WHENEVER NOT FOUND DO break;   		
   		EXEC SQL FETCH query_partUnique_cursor INTO :temp;
    		++total_number;
    	}
    	if( total_number )
   		return 1;
   	else 	return 0;
/*   notfound:
   	printf("WARING(query_cusID_unique)%s does not exist!",seekID);
   	return 0;*/
   	EXEC SQL CLOSE query_partUnique_cursor;
  
 }/*query_part_unique(...)*/
 
void menu_delete_part()
{
	char t;
	char ID[10];
	while(1)
	{
		printf("\t\t删除零件信息\n\n");
		printf("请录入预删除的零件号:\n\n");
		printf("\t零件号号->");
		scanf("%s",ID);
		fflush(stdin);
		
		if( query_part( ID ) )
			printf("WARING:(menu_delete_part)Part %s does not exist.\t\n\n",ID);
		else{	
			if( !delete_part( ID ) )
				printf("成功删除零件号为%s的信息!",ID);	
			else 	printf("WARING:(menu_delete_part)Part %s does not exist.\t",ID);	
		}/*else*/	
		printf("还要删除吗?(Y/N)");	
			t=getchar();
			if(t=='N'||t=='n')break;				
	}/*while*/
	part_modify_menu();
	
}/*menu_delete_part()*/

int delete_part( char* tID)
{

	EXEC SQL BEGIN DECLARE SECTION;
	char seekID[10];
	EXEC SQL END DECLARE SECTION;
		
	strcpy(seekID,tID);
	EXEC SQL WHENEVER SQLERROR GOTO sqlerr;
	EXEC SQL WHENEVER NOT FOUND GOTO notfound;
	EXEC SQL DELETE FROM Part WHERE ID=:seekID;

⌨️ 快捷键说明

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