Jump to content
Fórum Script Brasil
  • 0

trabalho da faculdade


Question

Boa tarde galera, é o seguinte, eu tenho um trabalho da faculdade pra fazer em C e o trabalho é o seguinte.

1. Descrição do Problema

Uma loja de material esportivo é especializada em uniformes para jogadores de futebol. Ela vende exclusivamente meiões, shorts e camisetas, nos tamanhos P, M e G.

Esta loja deseja controlar o estoque, bem como o volume de vendas de seus vendedores. Para tanto precisa que seja desenvolvido um programa, no qual sejam cadastrados os seus vendedores, seja registrada a entrada de mercadoria no seu estoque e seja feito o registro de vendas.

Sempre que o gerente da loja achar necessário, pode emitir relatórios que informem os estoques de todas os produtos que estejam a venda, bem como o volume de vendas de cada vendedor ou mesmo o volume de venda de um vendedor específico.

2. Regras

1) De cada vendedor devem ser guardados o nome, a matrícula e o volume de vendas até o momento;

2) Os produtos são vendidos de acordo com os valores abaixo:

a. Meião – R$ 15,00

b. Short – R$ 50,00

c. Camiseta – R$ 100,00

3) O volume de vendas dos vendedores refere-se ao valor total das suas vendas;

4) O salário dos vendedores corresponde exclusivamente a 8% do seu volume total de vendas.

3. A aplicação

O programa deve disponibilizar um menu com as seguintes opções:

a) Cadastrar um vendedor.

B) Registrar a entrada de mercadoria na loja.

c) Registrar uma determinada venda.

d) Exibir estoque total.

e) Exibir estoque para uma determinada peça, independente do tamanho;

f) Exibir estoque de um determinado tamanho, independente da peça.

g) Exibir volume de vendas e salário de um determinado vendedor.

h) Sair

Todas as informações devem ser exibidas em tela.

Na opção ‘a’ deve ser cadastrado um vendedor a cada vez que a opção é acionada.

Na opção ‘b’ deve ser permitido que o gerente da loja informe a quantidade de novos produtos que chegaram na loja. Não é necessário informar todas as combinações de produtos e tamanhos de uma só vez.

Na opção ‘c’ deve ser considerado que em uma mesma venda podem ser vendidos diversos produtos distintos, de acordo com a escolha do cliente.

Na opção ‘d’ deve exibir as quantidades em estoque de todos os produtos e tamanhos.

Na opção ‘e’ deve ser possível para o usuário escolher uma determinada peça para a qual o programa irá exibir a quantidade em estoque para os três tamanhos disponíveis.

Na opção ‘f’ deve ser possível para o usuário selecionar um determinado tamanho para o qual o programa irá exibir a quantidade em estoque para todos os três produtos vendidos pela loja.

Na opção ‘g’ deve ser exibido o volume total de vendas e o salário do funcionário cuja matrícula seja informada pelo usuário.

Gostaria que alguém me ajudasse pelo menos me dizendo por onde começo, se existe um modo mais sucinto de eu fazer isso, pois pelo código que estou imaginando vai ficar um programa gigantesco =[

Edited by quintelab
Título alterado conforme as regras do fórum
Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Assim eu já fiz o menu e tudo mais.

E estou fazendo os IF's para cada menu, exemplo se for digitado A ele cadastra um vendedor, se for B ele executa outra função e assim vai indo.

Agora minha maior dúvida está em como guardar por exemplo o volume de venda de cada vendedor e depois mostrar isso.

Como eu vou fazer por exemplo pra adicionar uma venda ao vendedor numero 5 ?

Link to post
Share on other sites
  • 0

Olá boa noite

Estou com um pequeno problema num trabalho para a faculdade sobre árvores em C.

Na função "consulta", estou com um problema, quando mando consultar um elemento pra verificar se está presente ou não na árvore, ele dá a mesma msg, de item não encontrado, mesmo ele estando presente na árvore.

Ficaria muito grato com alguma ajuda,

Atenciosamente....

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

 int main();
 void insere (struct no *&praiz, struct no *novo);
 void emordem (struct no *raiz);
 void preordem (struct no *raiz);
 void posordem (struct no *raiz);
 int pesquisa (struct no *aux1, int itemaux);
 void remove (struct no *&aux1);

 struct no
 {
 int item;
 struct no *esq, *dir;
 };
 struct no *raiz, *aux1, *aux2;

 int main()
 {
 char c, op = '1', auxitem[3];
 int achou;

 raiz = (struct no*) NULL; // inicializa a arvore vazia
 while (op != '0')
 {
 system("cls");
 puts(" Operacoes em Arvores Binarias de Busca\n\n");
 puts("1. Inserir um item novo na arvore");
 puts("2. Consultar um item na arvore");
 puts("3. Remover um item da arvore");
 puts("4. Imprimir a arvore em pre-ordem");
 puts("5. Imprimir a arvore em ordem");
 puts("6. Imprimir a arvore em pos-ordem");
 puts("0. Sair");
 printf("Entre com sua opcao: ");
 op = getche();

 switch(op)
 {
 case '1': // insere
 {
 aux1 = (struct no *) malloc(sizeof(struct no));
 printf("\n\nEntre com o item a ser inserido: ");
 gets(auxitem);
 aux1->item = atoi(auxitem);
 aux1->esq = aux1->dir = (struct no*) NULL;
 if (raiz == (struct no *) NULL)
 raiz = aux1;
 else
 {
 aux2 = raiz;
 insere(aux2, aux1);
 }
 }
 break;

 case '2': // consulta
 {
 if (raiz == (struct no *) NULL)
 printf("\n\nImpossivel pesquisar. Arvore vazia !");
 else
 {
 printf("\n\nEntre com o item a ser pesquisado: ");
 gets(auxitem);
 achou = pesquisa(raiz, (atoi(auxitem)));
 if (achou)
 puts("Não Achou !");
 else puts ("Achou !");
 }
 }
 break;

 case '3': // remove
 {
 if (raiz == (struct no *) NULL)
 printf("\n\nImpossivel remover. A arvore estah vazia !");
 else
 {
 printf("\n\nEntre com o item a ser removido: ");
 gets(auxitem);
 achou = pesquisa(raiz, (atoi(auxitem)));
 if (achou)
 puts("Impossivel remover. O elemento não existe na arvore !");
 else // acha o endereco a ser modificado e passa p/ a funcao remove
 {
 if (raiz->item == atoi(auxitem)) // remove o noh que estah
 remove(raiz); // ocupando a raiz da arvore
 else
 {
 aux1 = raiz;
 while((aux1->dir->item != atoi(auxitem)) && (aux1->esq->item != atoi(auxitem)))
 {
 if (atoi(auxitem) <= aux1->item)
 aux1 = aux1->esq;
 else
 aux1 = aux1->dir;
 } // while
 if (aux1->dir->item == atoi(auxitem))
 remove(aux1->dir);
 else
 remove(aux1->esq);
 } // else if raiz->item == auxitem
 } // else if !achou
 } // else if raiz == NULL
 } // case '3'
 break;

 case '4': // imprime em pre ordem
 {
 printf("\n\nImprimindo os componentes em pre-ordem: ");
 preordem(raiz);
 }
 break;

 case '5': // imprime em ordem (central)
 {
 printf("\n\nImprimindo os componentes em ordem: ");
 emordem(raiz);
 }
 break;

 case '6': // imprime em pos ordem
 {
 printf("\n\nImprimindo os componentes em pos-ordem: ");
 posordem(raiz);
 }
 break;

 case '0': break;

 default : puts("\nOpcao invalida");
 } /* switch */
 puts("\nPressione <ENTER> para continuar");
 while ((c = getchar()) != '\n');
 } /* while */
 } /* funcao main () */

 void insere (struct no *&praiz, struct no *novo)
 {
 if (praiz == (struct no *) NULL)
 praiz = novo;
 else
 {
 if (novo->item <= praiz->item)
 insere(praiz->esq, novo);
 else
 insere(praiz->dir, novo);
 }
 }

 int pesquisa (struct no *aux1, int itemaux)
 {
 if (aux1 == (struct no *) NULL) // não achou
 return(0);
 if (aux1->item == itemaux) // achou
 return(1);
 if (itemaux <= aux1->item)
 pesquisa(aux1->esq, itemaux);
 else
 pesquisa(aux1->dir, itemaux);
 } /* funcao pesquisa */

 void remove (struct no *&aux1)
 {
 struct no *temp;

 if (aux1->dir == (struct no *) NULL)
 {
 temp = aux1;
 aux1 = aux1->esq;
 free(temp);
 }
 else
 if (aux1->esq == (struct no *) NULL)
 {
 temp = aux1;
 aux1 = aux1->dir;
 free(temp);
 }
 else // ambas as subarvores do noh a ser removido estao ocupadas
 {
 temp = aux1->dir;

 while (temp->esq != (struct no *) NULL) // acha a posicao mais a
 temp = temp->esq; // esquerda possivel na
 // subarvore da direita

 temp->esq = aux1->esq; // liga esta posicao com a subarvore
 // esquerda do noh a ser removido
 temp = aux1;
 aux1 = aux1->dir; // faz a subarvore da direita assumir o lugar do
 // noh a ser removido
 free(temp);
 }
 } /* funcao remove */

 void emordem (struct no *raiz)
 {
 if (raiz != (struct no *) NULL)
 {
 emordem(raiz->esq);
 printf("%d ", raiz->item);
 emordem(raiz->dir);
 }
 }

 void preordem (struct no *raiz)
 {
 if (raiz != (struct no *) NULL)
 {
 printf("%d ", raiz->item);
 preordem(raiz->esq);
 preordem(raiz->dir);
 }
 }

 void posordem (struct no *raiz)
 {
 if (raiz != (struct no *) NULL)

 {
 posordem(raiz->esq);
 posordem(raiz->dir);
 printf("%d ", raiz->item);
 }
 }

Ps: O código está rodando no Dev C++.

Link to post
Share on other sites
  • 0

DelyToO, abaixo está o programa pronto...

desculpe pela demora, mas estava com umas coisas da faculdade pra fazer :/

ainda não fiz a opção 6 do menu, mas em breve posto o programa completo..

como pode ser visto, fiz usando gravação em arquivo, achei mais fácil..

espero ter ajudado, abração

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100

/****ESTRUTURA CADASTRO VENDEDOR************/
struct cadastro {
    char nome[MAX];
    unsigned int matricula;
    float volume_vendas;
};

struct cadastro cadastro_vendedor[5];
/*********************************************/

/*******ESTRUTURA CADASTRO PRODUTO************/
struct produto {
    char produto[MAX];
    int quantidade;
    float valor;
    char tamanho[4];
};

struct produto meiao = {
    "Meião",
    0,
    15.00
};

struct produto bermuda = {
    "Short",
    0,
    50.00
};

struct produto camiseta = {
    "Camiseta",
    0,
    100.00
};
/********************************************/

/******* ARQUIVOS *********************/
const char CADASTRO_VENDEDOR[] = "/home/victor/Desktop/vendedores.txt";
FILE *vendedor_arquivo;

const char CAMISETA_ESTOQUE[] = "/home/victor/Desktop/camiseta_estoque.txt";
FILE *camiseta_estoque;

const char BERMUDA_ESTOQUE[] = "/home/victor/Desktop/bermuda_estoque.txt";
FILE *bermuda_estoque;

const char MEIAO_ESTOQUE[] = "/home/victor/Desktop/meiao_estoque.txt";
FILE *meiao_estoque;

const char VENDAS_VENDEDOR[] = "/home/victor/Desktop/venda_vendedores.txt";
FILE *vendas_vendedores;
/*********************************************************************/
char buffer[MAX];
int i=0;
int produto_temp=0,meiao_temp =0,camiseta_temp =0,bermuda_temp = 0; //case 2
int opcao = 0;
int meiao_total = 0,camiseta_total =0,bermuda_total =0; // case 2
int n_temp,n_vendedores = 0;
int meiao_compra_temp =0 ,bermuda_compra_temp=0 ,camiseta_compra_temp=0 ,compra_total=0 ,produtos_vendidos = 0;
char vendedor_temp[MAX],vendedor_compra = 0;
int meiao_vendido=0,bermuda_vendida=0,camiseta_vendida=0;
float salario =0,salario_temp=0;
int num_vendedores=0;

int main()
{
    printf("PROGRAMA DE CONTROLE DE VENDAS E CONTROLE DE ESTOQUE.\n\n");
    printf("****************** MENU *************************\n");
    printf("1 - Cadastrar Vendedor\n");
    printf("2 - Registar entrada de mercadoria na loja\n");
    printf("3 - Registrar uma determinada venda\n");
    printf("4 - Exibir estoque local\n");
    printf("5 - Exibir estoque para uma determinada peça, independente do tamanho\n");
    printf("6 - Exibir estoque de um determinado tamanho, independente da peça\n"); //falta fazer
    printf("7 - Exibir volume de vendas e salário de um determinado vendedor\n");
    printf("8 - Sair\n");
    printf("*************************************************\n\n");

        printf("Digite um número referente a opção desejada: ");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&opcao);
        printf("\n");

    switch (opcao){
        case 1:

        vendedor_arquivo = fopen(CADASTRO_VENDEDOR, "a+");
        if (vendedor_arquivo == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        printf("********** Você solicitou a opção de cadastro de vendedor ************* \n");
        printf("Digite o número de vendedores que você deseja cadastrar: \n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&num_vendedores);

        for (i=0;i<num_vendedores;i++)
        {
        printf("Entre com o NOME e o número da MATRICULA no formato: NOME 000\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%s %d",&cadastro_vendedor[i].nome,&cadastro_vendedor[i].matricula);
        fprintf(vendedor_arquivo,"%s\t%d\n",cadastro_vendedor[i].nome,cadastro_vendedor[i].matricula);
        }

        break;

/**********************************************************************************************************************************/
        case 2:
        printf("********* Você solicitou a opção de registro de entrada de mercadoria ***********\n");
        printf("Entre com 1 para Meião, 2 para Bermuda e 3 para Camiseta.\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&produto_temp);
        if(produto_temp == 1)
                {
        meiao_estoque = fopen(MEIAO_ESTOQUE, "r+");
        if (meiao_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(meiao_estoque,"%d",&meiao.quantidade);
        printf("\nEntre com a quantidade do produto no formato: 0\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&meiao_temp);
        meiao_total = meiao.quantidade + meiao_temp;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d\n",meiao_total);
        }
        else if (produto_temp == 2)
        {
             bermuda_estoque = fopen(BERMUDA_ESTOQUE, "r+");
        if (bermuda_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(bermuda_estoque,"%d",&bermuda.quantidade);
        printf("\nEntre com a quantidade do produto no formato: 0\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&bermuda_temp);
        bermuda_total = bermuda.quantidade + bermuda_temp;
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d\n",bermuda_total);
        }
        else if (produto_temp == 3)
        {
            camiseta_estoque = fopen(CAMISETA_ESTOQUE, "r+");
        if (camiseta_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(camiseta_estoque,"%d",&camiseta.quantidade);
        printf("\nEntre com a quantidade do produto no formato: 0\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&camiseta_temp);
        camiseta_total = camiseta.quantidade + camiseta_temp;
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");
        fprintf(camiseta_estoque,"%d\n",camiseta_total);
        }
        break;
/*******************************************************************************************************************************/
       case 3:
       printf("*********** Você solicitou a opção de registro de venda ************\n");

       printf("Digite o nome do vendedor que realizou a venda: \n");
       fgets(buffer,sizeof(buffer),stdin);
       sscanf(buffer,"%s",&vendedor_temp);

       vendedor_arquivo = fopen(CADASTRO_VENDEDOR,"r+");
       if (vendedor_arquivo == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
       for (i = 0; i < MAX; i++) {
       n_temp = fscanf(vendedor_arquivo,"%s %d",&cadastro_vendedor[i].nome,&cadastro_vendedor[i].matricula);
       if (n_temp == EOF)
        {
        break;
        }
        n_vendedores += n_temp;
       }
       n_vendedores /=2;

      for (i = 0; i < n_vendedores;i++)
      {
       if (strcmp(vendedor_temp,cadastro_vendedor[i].nome) == 0)
        {
        vendedor_compra = i;
        }
       }

        meiao_estoque = fopen(MEIAO_ESTOQUE, "r+");
        if (meiao_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(meiao_estoque,"%d",&meiao.quantidade);

        bermuda_estoque = fopen(BERMUDA_ESTOQUE, "r+");
        if (bermuda_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(bermuda_estoque,"%d",&bermuda.quantidade);

        camiseta_estoque = fopen(CAMISETA_ESTOQUE, "r+");
        if (camiseta_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(camiseta_estoque,"%d",&camiseta.quantidade);

printf("No momento temos disponível em estoque:\nMeiões\tBermudas\tCamisetas\n");
printf("%d\t%d\t\t%d\n\n",meiao.quantidade,bermuda.quantidade,camiseta.quantidade);

       printf("Entre com a quantidade de meiões, bermudas e camisetas vendidas no formato: 0 0 0.\n");
       fgets(buffer,sizeof(buffer),stdin);
       sscanf(buffer,"%d %d %d",&meiao_vendido,&bermuda_vendida,&camiseta_vendida);

if (meiao.quantidade <= 0 && bermuda.quantidade <=0 && camiseta.quantidade <=0)
        {
            printf("Não temos meião em estoque!\n");
            printf("Não temos bermudas em estoque!\n");
            printf("Não temos camisetas em estoque!\n");
        meiao_total = 0;
        bermuda_total = 0;
        camiseta_total = 0;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");                                //1
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");
        fprintf(camiseta_estoque,"%d",camiseta_total);
        break;
        }

else if (meiao.quantidade > 0 && bermuda.quantidade <=0 && camiseta.quantidade <=0)
        {
            printf("Não temos bermudas em estoque!\n");
            printf("Não temos camisetas em estoque!\n");
        bermuda_total = 0;
        camiseta_total = 0;
        meiao_total = meiao.quantidade - meiao_vendido;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);                             //2
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");
        fprintf(camiseta_estoque,"%d",camiseta_total);
        meiao_compra_temp = meiao_vendido * meiao.valor;
        compra_total = meiao_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade <=0 && bermuda.quantidade >0 && camiseta.quantidade <=0)
        {
            printf("Não temos meiões em estoque!\n");
            printf("Não temos camisetas em estoque!\n");
        meiao_total = 0;
        camiseta_total = 0;
        bermuda_total = bermuda.quantidade - bermuda_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //3
        fprintf(camiseta_estoque,"%d",camiseta_total);
        bermuda_compra_temp = bermuda_vendida * bermuda.valor;
        compra_total = bermuda_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade <=0 && bermuda.quantidade<=0 && camiseta.quantidade >0)
        {
            printf("Não temos meiões em estoque!\n");
            printf("Não temos bermudas em estoque!\n");
        meiao_total = 0;
        bermuda_total = 0;
        camiseta_total = bermuda.quantidade - bermuda_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //4
        fprintf(camiseta_estoque,"%d",camiseta_total);
        camiseta_compra_temp = camiseta_vendida * camiseta.valor;
        compra_total = camiseta_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade >0 && bermuda.quantidade >0 && camiseta.quantidade <=0)
        {
            printf("Não temos camisetas em estoque!\n");
        camiseta_total = 0;
        meiao_total = meiao.quantidade - meiao_vendido;
        bermuda_total = bermuda.quantidade - bermuda_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //5
        fprintf(camiseta_estoque,"%d",camiseta_total);
        meiao_compra_temp = meiao_vendido * meiao.valor;
        bermuda_compra_temp = bermuda_vendida * bermuda.valor;
        compra_total = meiao_compra_temp + bermuda_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade >0 && bermuda.quantidade <=0 && camiseta.quantidade >0)
        {
            printf("Não temos bermudas em estoque!\n");
        bermuda_total = 0;
        meiao_total = meiao.quantidade - meiao_vendido;
        camiseta_total = camiseta.quantidade - camiseta_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //6
        fprintf(camiseta_estoque,"%d",camiseta_total);
        meiao_compra_temp = meiao_vendido * meiao.valor;
        camiseta_compra_temp = camiseta_vendida * camiseta.valor;
        compra_total = meiao_compra_temp + camiseta_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade <=0 && bermuda.quantidade >0 && camiseta.quantidade >0)
        {
        printf("Não temos meiões em estoque!\n");
        meiao_total = 0;
        bermuda_total = bermuda.quantidade - bermuda_vendida;
        camiseta_total = camiseta.quantidade - camiseta_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //7
        fprintf(camiseta_estoque,"%d",camiseta_total);
        bermuda_compra_temp = bermuda_vendida * bermuda.valor;
        camiseta_compra_temp = camiseta_vendida * camiseta.valor;
        compra_total = bermuda_compra_temp + camiseta_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

else if (meiao.quantidade >0 && bermuda.quantidade >0 && camiseta.quantidade >0)
        {
        meiao_total = meiao.quantidade - meiao_vendido;
        bermuda_total = bermuda.quantidade - bermuda_vendida;
        camiseta_total = camiseta.quantidade - camiseta_vendida;
        meiao_estoque = fopen(MEIAO_ESTOQUE,"w+");
        fprintf(meiao_estoque,"%d",meiao_total);
        bermuda_estoque = fopen(BERMUDA_ESTOQUE,"w+");
        fprintf(bermuda_estoque,"%d",bermuda_total);
        camiseta_estoque = fopen(CAMISETA_ESTOQUE,"w+");                 //8
        fprintf(camiseta_estoque,"%d",camiseta_total);
        meiao_compra_temp = meiao_vendido * meiao.valor;
        bermuda_compra_temp = bermuda_vendida * bermuda.valor;
        camiseta_compra_temp = meiao_compra_temp + camiseta_vendida * camiseta.valor;
        compra_total = bermuda_compra_temp + camiseta_compra_temp;
        vendas_vendedores = fopen(VENDAS_VENDEDOR,"a+");
        fprintf(vendas_vendedores,"%s\t%d\n",cadastro_vendedor[vendedor_compra].nome,compra_total);
        break;
        }

        break;
/******************************************************************************************************/

 case 4:
        printf("********* Você solicitou a opção de exibir estoque ***********\n");
          meiao_estoque = fopen(MEIAO_ESTOQUE, "r+");
        if (meiao_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(meiao_estoque,"%d",&meiao.quantidade);
        if (meiao.quantidade == 0)
        {
            printf("Não temos meião em estoque!\n");
        }
        bermuda_estoque = fopen(BERMUDA_ESTOQUE, "r+");
        if (bermuda_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(bermuda_estoque,"%d",&bermuda.quantidade);
        if (bermuda.quantidade == 0)
        {
            printf("Não temos bermudas em estoque!\n");
        }
        camiseta_estoque = fopen(CAMISETA_ESTOQUE, "r+");
        if (camiseta_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(camiseta_estoque,"%d",&camiseta.quantidade);
        if (camiseta.quantidade == 0)
        {
            printf("Não temos camisetas em estoque!\n");
        }

        printf("Temos em estoque:\nProduto\tQuantidade\n");
        printf("Meião   \t%d\n",meiao.quantidade);
        printf("Bermudas\t%d\n",bermuda.quantidade);
        printf("Camiseta\t%d\n",camiseta.quantidade);
        break;

/*******************************************************************************************************/
         case 5:
        printf("********* Você solicitou a opção de exibição de estoque individual de mercadoria ***********\n");
        printf("Entre com 1 para Meião, 2 para Bermuda e 3 para Camiseta.\n");
        fgets(buffer,sizeof(buffer),stdin);
        sscanf(buffer,"%d",&produto_temp);
        if(produto_temp == 1)
                {
        meiao_estoque = fopen(MEIAO_ESTOQUE, "r+");
        if (meiao_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(meiao_estoque,"%d",&meiao.quantidade);
        printf("Temos em estoque:\nProduto\tQuantidade\n\n");
        printf("Meião   \t%d\n",meiao.quantidade);
        }
        else if (produto_temp == 2)
        {
             bermuda_estoque = fopen(BERMUDA_ESTOQUE, "r+");
        if (bermuda_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(bermuda_estoque,"%d",&bermuda.quantidade);
        printf("Temos em estoque:\nProduto\tQuantidade\n\n");
        printf("Bermudas\t%d\n",bermuda.quantidade);
        }
        else if (produto_temp == 3)
        {
            camiseta_estoque = fopen(CAMISETA_ESTOQUE, "r+");
        if (camiseta_estoque == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
        fscanf(camiseta_estoque,"%d",&camiseta.quantidade);
        printf("Temos em estoque:\nProduto\tQuantidade\n\n");
        printf("Camiseta\t%d\n",camiseta.quantidade);
        }
        break;

/***********************************************************************/

         case 7:

       printf("********* Você solicitou a opção de exibição de salário e volume de vendas ***********\n");
       printf("Digite o nome do vendedor que você quer saber o volume de vendas e o salário\n");
       fgets(buffer,sizeof(buffer),stdin);
       sscanf(buffer,"%s",&vendedor_temp);

       vendas_vendedores = fopen(VENDAS_VENDEDOR,"r+");
       if (vendas_vendedores == NULL)
        {
            printf("Erro ao abrir arquivo!\n");
            exit(1);
        }
       for (i = 0; i < MAX; i++) {
       n_temp = fscanf(vendas_vendedores,"%s %f",&cadastro_vendedor[i].nome,&cadastro_vendedor[i].volume_vendas);
       if (n_temp == EOF)
        {
        break;
        }
        n_vendedores += n_temp;
       }
       n_vendedores /=2;

      for (i = 0; i < n_vendedores;i++)
      {
       if (strcmp(vendedor_temp,cadastro_vendedor[i].nome) == 0)
        {
        salario_temp += cadastro_vendedor[i].volume_vendas;
        }
       }
       salario = salario_temp * 0.8;
       printf("O vendedor %s tem R$%5.2f vendidos e um salário de R$%5.2f.\n",vendedor_temp,salario_temp,salario);
        break;

/*****************************************************************************/

         default:printf("Entre com uma opção válida!\n");

    }


    return 0;


}

Edited by victor_santos
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      149287
    • Total Posts
      645679
×
×
  • Create New...