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

📄 front.c.bak

📁 linux平台下用C开发的一个超市管理系统(结合了ORACLE数据库)
💻 BAK
字号:
#include"window.h"
#include"front.h"
#include"db.h"
#include"public.h"
void show_cashwin()
{
	
	init_color_info();		
    refresh();
	C_CLASS LINKLIST list;
	NODE *start;
	NODE *cur;
	int i,j=0,k=0;
	char time[20]="";
	char code[7]="";
	char str[]="CN000001";
	WIN mainwin1={24,80,0,0,4,"欢迎光临博洋超市",1};
	WIN mainwin2={14,78,5,1,1,"",0};
	TEXT txt1={20,8,2,1,"CN"};
    TEXT txt2={20,10,10,1,""};
	WIN *cashwin1=make_win(&mainwin1);
	WIN *cashwin2=make_win(&mainwin2);		
	TEXT *t1=make_textbox(&txt1);
	TEXT *t2=make_textbox(&txt2);
	draw_line(cashwin1->win,2,80);
	draw_line(cashwin1->win,4,80);
	draw_line(cashwin1->win,19,80);
	draw_line(cashwin1->win,21,80);
	
	get_time(time);
	mvwprintw(cashwin1->win,1,1,"%-4s%-10s%-3s%-15s%-4s%10s%-3s%s","收银员:","","等级:","","交易号:","","时间:",time);
	mvwprintw(cashwin1->win,3,1,"%-5s%-10s%-25s%-7s%-7s%-7s%-7s%-7s","序号","条形码","商品名称","规格","单位","单价","数量","金额");
	mvwprintw(cashwin1->win,22,1,"   F2:新增明细 F3:删除明细 F4:收银 F5:挂单 F6:取单 F7:撒单 F8:退货 F9:退出");
	mvwprintw(cashwin1->win,20,1,"%-4s%-40s%-5s%-4s","条形码:","","销售状态: ","正常");

	cashwin1->show_win(cashwin1);
	cashwin2->show_win(cashwin2);
	t1->show_text(t1);
	t2->show_text(t2);	
	link_init(&list);
	get_goods(&list);	
	start=list.head->next;
	cur=start;	
	do
	{
		Print_Data(cashwin2->win,&list,start,cur);
		do
		{
			i=GetInputString(t2->win,code,6,0);
			if(i!=0)
			{
				break;
			}
		}
		while (1);
		j = list.get_index_by_key( &list,cur->data,(int (*)(void *,void *))Compare );
		k = list.get_index_by_key( &list,start->data,(int (*)(void *,void *))Compare );	
		if ( i==2 )		/* 向下键 */
		{
			if ( j<list.count )
			{
				getch();
				j++;
				cur = cur->next;
			}
			if ( j-k>=15 && j<=list.count )
			{
				k++;
				start = start->next;
			}
			continue;
		}
		if(i==3)
		{
			add_delete_goods(cur,0);
			get_goods(&list);
			continue;
		}
		if(i==4)
		{
			k=delete_goods(str,87);
			printf("%d",k);
			refresh();
			endwin();
//add_delete_goods(cur,1);
		}


	}
	while (1);
	
	
	
	getch();
	   
	refresh();
	endwin();
}

void Print_Data( WINDOW *win,C_CLASS LINKLIST *link,NODE *start,NODE *cur)
{
	int i=0,k=1 ;
	NODE *p;
	int counts;	
	char temp_goods[31],temp_spec[17],temp_unit[17];
	float paid;		
	if ( !start->data )	//无数据
	{		
		return ;
	}
	wclear( win );		
	for( p=start;p && i<15;p=p->next )
	{
		strcpy(temp_goods,((GOODS *)p->data)->goods_name);
		strcpy(temp_spec,((GOODS *)p->data)->spec);		
		strcpy(temp_unit,((GOODS *)p->data)->unit);	
		TrimSpace(temp_goods);
		TrimSpace(temp_spec);
		TrimSpace(temp_unit);
		if ( p==cur )
		{
			wattron( win,A_REVERSE|A_BOLD);					
			wprintw( win,"%-5d%-10s%-25s%-7s%-7s%-7.2f%-7d%-7.2f%2s\n",k,((GOODS *)p->data)->bar_code,temp_goods,temp_spec,temp_unit,((GOODS *)p->data)->sale_price,((GOODS *)p->data)->num,((GOODS *)p->data)->sale_price ," ");	
			wattroff( win,A_REVERSE|A_BOLD);
		}	
		else
		{
			wprintw( win,"%-5d%-10s%-25s%-7s%-7s%-7.2f%-7d%-7.2f%2s\n",k,((GOODS *)p->data)->bar_code,temp_goods,temp_spec,temp_unit,((GOODS *)p->data)->sale_price,((GOODS *)p->data)->num,((GOODS *)p->data)->sale_price ," ");
		}
		k++;
		i++;
	}	
	wrefresh( win );
}
int Compare( void const *a,void const *b )
{
	if(strcmp(((GOODS*)a)->bar_code,((GOODS*)b)->bar_code )==0)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}
void add_delete_goods(NODE *cur,int type)
{
	scr_dump("front.scr");	
	WIN mainatt1={11,40,7,20,4,"新增明细",1};	
	WIN mainatt2={11,40,7,20,4,"删除明细",1};	
	TEXT box1={9,38,15,1,""};
    TEXT box2={11,38,15,1,""};
	TEXT box3={9,27,11,4,"商品条形码:"};
	TEXT box4={11,29,9,4,"商品数量:"};
    BUTTON but1={8,3,13,27,"确定",4,8};
	BUTTON but2={8,3,13,44,"返回",4,8};
	WIN *w1=NULL;	
	if(type==0)
	{
		w1=make_win(&mainatt1);
	}
	if(type==1)
	{
		w1=make_win(&mainatt2);
	}
	TEXT *t1=make_textbox(&box1);
	TEXT *t2=make_textbox(&box2);
	TEXT *t3=make_textbox(&box3);
	TEXT *t4=make_textbox(&box4);
    BUTTON *b1=make_button(&but1);
	BUTTON *b2=make_button(&but2);
	wprintw(t1->win,"%s",((GOODS *)cur->data)->bar_code);
	w1->show_win(w1);
	t1->show_text(t1);
	t2->show_text(t2);
	t3->show_text(t3);
	t4->show_text(t4);
	b1->show_button(b1);
	b2->show_button(b2);
	int i=1,res;
	char num[3]="";
	do
	{
		if(i==1)
		{
			res=GetInputString(t2->win,num,2,0);
			if(res==0||res==2||res==13)
			{
				i=2;
				continue;
			}
		}
		if(i==2)
		{
			do
		   {  
			  b1->print_white(b1);
			  noecho();
			  cbreak();					
			  keypad(b1->win3,true );
			  res=wgetch(b1->win3);				 
			  if(res==259)
			  {	
				  i=1;
				  b1->delete_white(b1);
				  break;
			  }
			  if(res==27||res==261)
			   {
				  i=3;
				  b1->delete_white(b1);
				  break;
			   }
			  if(res==10)
			  {
				  if(type==0)
				  {
					  add_goods(((GOODS *)cur->data)->bar_code,atoi(num));

				  }
				  if(type==1)
				  {
					  delete_goods(((GOODS *)cur->data)->bar_code,atoi(num));
				  }
				  return;
			  }
		   }while(1);
		}
		if(i==3)
		{
			do
		   {  
			  b2->print_white(b2);
			  noecho();
			  cbreak();					
			  keypad(b2->win3,true );
			  res=wgetch(b2->win3);
			  if(res==259)
			  {	
				  i=1;
				  b2->delete_white(b2);
				  break;
			  }
			  if(res==260)
			  {
				  i=2;
				  b2->delete_white(b2);
				  break;
			  }
			  if(res==10)
			  {
				  b2->focus_button(b2);				     
				  endwin();
				  return;
			  }
			 }while(1);
		}
	}while (1);	
	getch();
	scr_restore("front.scr");	
	refresh();
}

⌨️ 快捷键说明

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