Ir para conteúdo
Fórum Script Brasil

AmandaEstella

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre AmandaEstella

AmandaEstella's Achievements

0

Reputação

  1. 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() { }
×
×
  • Criar Novo...