Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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

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

×