Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
gutoeto_26

Problema ao gerar e exibir relatorio de prod.cadastrados e C++!

Recommended Posts

Olá rapaziada do forum GHD !

Bom é o seguinte galera,to fazendo um trabalho da faculdade,que consiste hem:

desenvolver um programa que:

cadastre prod.

altere prod.cadast.

gere um relatorio na tela.

faça backup.

tudo isso usando procedimentos , e *arquivos.

estou tendo dificuldades em gerar o relatorio,pois não importa o nº de produtos q cadastro,toda vez q peço pra mostrar o relatorio o programa só me mostra o ÚLTIMO prod.que cadastrei e não todos os prod.com deveria mostrar.

vou colocar o codigo aqui pra rapaziada dar uma olhada, e se possível indicar onde estou errando.

quem puder dar uma força, eu agradeço!!!

#include <stdio.h>

#include <string.h>

#include <conio.h>

#include <stdlib.h>

struct produto{

char nome[10];

int codigo;

int quantidade;

float preco_unitario;

}p1[10];

void proc_menu(){

printf("------------------------- PROGRAMA CONTROLE E ESTOQUE -------------------------\n\n\n");

printf(" MENU:\n");

printf("\n [1] - CADASTRAR PRODUTOS\n [2] - ALTERAR PRODUTOSn [3] - RELATORIO DE PRODUTOS");

printf("\n [4] - FAZER BACKUP\n [0] - SAIR\n\n DIGITE SUA OPCAO: ");

}

void proc_menu_cad_prod(){

printf("\n [0] - VOLTAR AO MENU INICIAL\n [1] - CADASTRAR PRODUTOS\n\n OPCAO: ");

}

void proc_menu_alt_prod(){

printf("\n --ALTERAR PRODUTOS!--\n\n\n");

printf("\n [0] - VOLTAR AO MENU INICIAL\n [1] - ALTERA PRODUTOS\n\n OPCAO: ");

}

void proc_menu_relatorio(){

printf("\n --RELATORIO DE PRODUTOS!--\n\n\n");

printf("\n [0] - VOLTAR AO MENU INICIAL\n [1] - MOSTRA RELATORIO\n\n OPCAO: ");

}

int main(){

system("color 1E");

int i,j;

int menu;

int menu_cad_prod;

int menu_alt_prod;

int menu_relatorio;

FILE *prod;

p1.codigo=0;

while(true){

system("cls");

proc_menu();

scanf("%d",&menu);

if(menu==0){

break;

}

if (menu==1){

while(true){

system("cls");

proc_menu_cad_prod();

scanf("%d",&menu_cad_prod);

if(menu_cad_prod ==0){

break;

}

if(menu_cad_prod ==1){

for(i=0;i<1;i++){

system("cls");

p1.codigo=p1.codigo+1;

printf("\n --CADASTRO DE PRODUTOS!--\n\n\n");

printf("\n CODIGO : %d ",p1.codigo);

printf("\n PRODUTO : ");

scanf("%s",&p1.nome);

printf("\n QUANTIDADE DISPONIVEL DO PRODUTO : ");

scanf("%d",&p1.quantidade);

printf("\n PRECO UNITARIO : ");

scanf("%f",&p1.preco_unitario);

prod=fopen("produt.txt","ab");

fwrite(&p1, sizeof (struct produto), 1, prod);

}

}

}

}

if(menu == 3){

while(true){

system("cls");

proc_menu_relatorio();

scanf("%d",&menu_relatorio);

if(menu_relatorio == 0){

break;

}

if(menu_relatorio == 1){

for(i=0;i<1;i++){

prod=fopen("produt.txt","rb");

fread(&p1,sizeof(struct produto),1,prod);

printf("\n --RELATORIO DE PRODUTOS!--\n\n\n");

printf("\n CODIGO : %d ",p1.codigo);

printf("\n PRODUTO : %s", p1.nome);

printf("\n QUANTIDADE DISPONIVEL DO PRODUTO : %d", p1.quantidade);

printf("\n PRECO UNITARIO : R$ %.2f",p1.preco_unitario);

fclose(prod);

getch();

}

}

}

}

}

}

DESDE JÁ AGRADEÇO A ATENÇÃO E BOA VONTADE DE TODOS.

VALEU!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×