quinta-feira, 24 de setembro de 2015

Uma empresa está desenvolvendo um novo controle para uma impressora. Ela recebe os pedidos e estes devem ser atendidos na mesma ordem que chegam. Cada pedido é representado por um inteiro que corresponde ao tamanho em Bytes da impressão. Faça um programa capaz de atender estas especificações e no final dizer quantos Bytes foram impressos e quantos documentos foram atendidos.



#include <stdio.h>
#include <stdlib.h>

#define QUANTIDADE 3

int fila[QUANTIDADE];
int fim;
int inicio;
int retorno;
int contador = 0;
int opcao;
int byte = 0;
int pedido;

void menu();
void adicionar(int pedido);
int retirar();

int main()
{
        opcao = 0;
        inicio = 0;
        fim = 0;
        while(opcao != 3){

            menu();
            switch (opcao){

        case 1:
                printf("Entre com o novo pedido: ");
                scanf("%d",&pedido);
                adicionar(pedido);
            break;

            case 2:
                pedido = retirar();
                printf("Quantidade de pedidos: %d de %d bytes\n",contador, byte);
            break;

            case 3:
                printf("Sistema Finalizado!!!");
                break;
            default:
                printf("Opcao invalida, escolha entre 1, 2 e 3.\n");
        }
    }
}

void adicionar(int pedido)
    {
        if (fim == QUANTIDADE){
            printf("\nPedido esgotados!!!\n");
       }else{
            fila[fim] = pedido;
            fim++;
    }
}
int retirar()
{
    if(fim == inicio){
        printf("\nNão há pedidos.\n");
        return -0;
    }else{
        retorno = fila[inicio];
        inicio++;
        contador++;
        byte+= retorno;
        return retorno;
        return contador;
        return byte;
    }
}

void menu()
{
    printf("\n1 - Entre com o pedido ");
    printf("\n2 - Pedido a retirar ");
    printf("\n3 - Sair\n");
    printf("\Digite a opcao: ");
    scanf("%d",&opcao);

}

Nenhum comentário:

Postar um comentário