Jump to content
Fórum Script Brasil
  • 0

Arquivos em linguagem C, Projeto peças(cadastro, alteração, consulta e vendas)


Question

Ola, alguém poderia me ajudar? Tenho que fazer um projeto onde basicamente teria que criar um arquivo em C++ para cadastro/alteração de peças, e vendas também. Mas estou travada na parte da venda. Basicamente era pra por o codigo da peca e a quantidade e ela dar baixa no estoque da peça que tinha cadastrado anteriormente mas não vai. Vou por a baixo ate onde foi feito e anexar de imagem o que é pedido, se alguém puder me ajuda em ficaria muito agradecida.

 

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

struct pecas
 {
     char nome[34];
     int codigo;
     float valor;
     int e;
     int quantidade;
 } f;

ARQUIVO * fptr;

 void cadastro();
 void consulta();
 void alteracao();
 void vendas();
 void exclusao_logica();
 void exclusao_fisica();
 void ordenacao();
 void busca_binaria();

int main ()
{
  char opc;

  do
  {system ("cls");
      printf ("\ n 1 - Cadastro de peça");
      printf ("\ n 2 - Consultar pecas");
      printf ("\ n 3 - Alteração de peças");
      printf ("\ n 4 - Vendas");
      printf ("\ n 5 - Exclusão Lógica");
      printf ("\ n 6 - Exclusão física");
      printf ("\ n 7 - Ordenação pelo nome");
      printf ("\ n 8 - Busca Binaria");
      printf ("\ n 9 - Sair");
      printf ("\ n Opcao:");
      opc = getche ();
      switch (opc)
        {
            case '1': cadastro ();
                       pausa;
            caso '2': consulta ();
                       pausa;
            caso '3': alteracao ();
                       pausa;
            caso '4': vendas ();
                       pausa;
            caso '5': exclusao_logica ();
                       pausa;
            caso '6': exclusao_fisica ();
                       pausa;
            caso '7': ordenação ();
                       pausa;
            case '8': busca_binaria ();
                       pausa;
            case '9': printf ("\ n \ nSaindo ... \ n");
                       pausa;
            padrão: printf ("\ n Opcao% c invalida", opc);
                       getch ();
                       pausa;

  } while (opc! = '9');
retornar 0;
}

/ ************************************************* ********************** /
void cadastro ()
  {char op;
    if ((fptr = fopen ("pecas.dados", "rb +")) == NULL)
        {if ((fptr = fopen ("pecas.dados", "wb")) == NULL)
            {printf ("\ n Erro ");
                saída (1);
            }
        }
    do
    {
        printf ("\ n Entre com os dados para o cadastro de peças \ n");
        printf ("\ n Nome:");
        setbuf (stdin, NULL);
        scanf ("% [^ \ n]", f.nome);
        printf ("\ n Codigo:");
        scanf ("% d", & f.codigo);
        printf ("\ n Valor:");

        printf("\n Quantidade: ");
        scanf("%d", &f.quantidade);
        f.e=0;
        fseek(fptr,0,2);
        fwrite(&f,sizeof(f),1,fptr);
        printf("\n Deseja cadastrar outro (S/N): ");
        op=getche();

    } while ((op! = 'n') && (op! = 'n')); ((op == 'S') || (op == 's'));
    fclose (fptr);
  }

  / ************************************************* ************************************* /
 void consulta ()
  {if (((fptr = fopen ( "pecas.dados", "rb")) == NULL)
            {printf ("\ n Erro");
                saída (1);
            }
        printf ("\ n Consulta de todos como partes \ n");

        while (fread (& f, sizeof (f), 1, fptr))
        {if (fe == 0)
               {printf ("\ n \ n Nome:% s", f.nome);
                printf ("\ n Codigo:% d", f.codigo);
                printf ("\ n Valor:% .2f", f.valor);
                printf ("\ n Quantidade:% d", f.quantidade);
               }
        }
        GETCH ();
        fclose (fptr);
  }

  / ************************************************* ************************************* /
 alteração nula ()
  {char nome [34];
      if ((fptr = fopen ("pecas.dados", "rb +")) == NULL)
            {printf ("\ n Erro");
                saída (1);
            }
        printf ("\ n Entre com o nome da ervilha alterado no valor \ n");
        setbuf (stdin, NULL);
        scanf ("% [^ \ n]", nome);

        Enquanto (fread (& f, sizeof (f), 1, fptr))
        {if (strcmp (f.nome, nome) == 0)
             if (fe == 0)
               {fseek (fptr, ftell (fptr) -sizeof ( f) 0); // fseek (fptr, -sizeof (fptr), 1);
                printf ("\ nNovo Valor");
                scanf ("% f", & f.valor);
                fwrite (& f, tamanhoof (f), 1, fptr);
                fseek (fptr, 0,2);
               }
        }
        Fclose (fptr);
  }
  / ************************************************** ****** /
  void vendas ()
  {int codigovendas, quant;
    {if ((fptr = fopen ("pecas.dados", "rb")) == NULL)
            {printf ("\ n Erro");
                saída (1);
            }
        }
             printf("\n Vendas de pecas cadastradas \n");
             printf("\n Digite o nome da peca que vai ser vendida \n");
             scanf("%d", &codigovendas);
             printf("\n Digite a quantidade de pecas que serão vendidas");
             scanf("%d", quant);


               if(codigovendas == f.codigo){
                printf("\n venda concluida");
                f.quantidade = f.quantidade-quant;
               }
               else
               printf("\n codigo n cadastrado");

        getch ();
        fclose (fptr);

  }

  / ************************************************* ************************************* /
 void exclusao_logica ()
  {char nome [34 ];
      if ((fptr = fopen ("pecas.dados", "rb +")) == NULL)
            {printf ("\ n Erro");
                saída (1);
            }
        printf ("\ n Entre com o nome da peça excluído logicamente \ n");
        setbuf (stdin, NULL);
        scanf ("% [^ \ n]", nome);

        Enquanto (fread (& f, sizeof (f), 1, fptr))
        {if (strcmp (f.nome, nome) == 0)
             if (fe == 0)
               {
                fseek (fptr, ftell (fptr) -sizeof ( f) 0);
                fe = 1;
                fwrite (& f, tamanho de (f), 1, fptr);
                fseek (fptr, 0,2);
               }
        }
        GETCH ();
        fclose (fptr);

  }


  /**************************************************************************************/
 void exclusao_fisica()
  {

  }


  /**************************************************************************************/
 void ordenacao()
  {

  }

  /**************************************************************************************/
 void busca_binaria()
  {

  }

a.png

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.



  • Forum Statistics

    • Total Topics
      148887
    • Total Posts
      644948
×
×
  • Create New...