示例#1
0
void PatientAccounter::account(const QDate& date)
{
	if (m_treats.rowCount() == 0)
	{
		//Nothing to account, simple return
		return;
	}
	printBill(date);
}
void newBill(str_item *item,char salida[50]){
	int numItems;
	int inCode;
	int flag=0;
	int i=0;
	int j=0;

	int *pCodes;	
	int *pQuantities;
	int *pTotalPerCode;
	int total = 0;
	str_item *aux;
	aux = item;
	printf("Numero de articulos a facturar: ");
	scanf("%d", &numItems);

	pCodes = (int *)malloc(sizeof(int)*numItems);
	pQuantities = (int *)malloc(sizeof(int)*numItems);
	pTotalPerCode = (int *)malloc(sizeof(int)*numItems);

	while ( i<numItems ){
		setbuf(stdin, NULL);
		printf("\n\nArticulo #%d\n", i+1);
		printf("Codigo: \n");
		scanf("%d", &inCode);
		flag=0;
		aux = item;
		//Para validar que el codigo es de un articulo existente		
		for (j=0; j<MAXITEMS;j++){
			
			//printf("item %d %d\n",j,aux->codes);			
			if(inCode == aux->codes){
				pCodes[i] = inCode;

				printf("Cantidad: \n" );
				scanf("%d", pQuantities+i);
	
				pTotalPerCode[i] = item->values*pQuantities[i]; 
				total += pTotalPerCode[i];

				printf("Valor: %d --- Acumulado:  %d \n", pTotalPerCode[i], total);
		
				flag=1;
				i++;
			}		
			aux++;	
		}
		if(flag==0){
			printf("El articulo con codigo %d no se encontró\n", inCode);
		}
		
	}

	printBill(numItems, pQuantities, total, pTotalPerCode,item,salida);
	
}
int qProcess(Queue *q)
{
    Customer *c;
    
    clearScreen();
    c = queueRemove(q);
    printBill(c);
    freeCustomer(c);
    wait();
}
int qPrint(Queue *q)
{
    int i=getQueueLength(q);
    Customer *c;
    
    clearScreen();
    
    do
    { 
        c = queueRemove(q);
        printBill(c);
        wait();
        
        if(c!=NULL)
                   queueInsert(q, c);
        i--;
    }while(i>0);
}
int qRear(Queue *q)
{
    clearScreen();
    printBill(queueRear(q));
    wait();
}
int qFront(Queue *q)
{
    clearScreen();
    printBill(queueFront(q));
    wait();
}