Questão:
Dúvida sobre DEV C++?
2012-06-03 14:41:08 UTC
O Programa é simples, tenho q cadastrar produtos em um arquivo. Os dados do produto sao código, nome do produto e preço do produto. O Programa deve possibilitar:
A) Incluir novos produtos;
B) Listar todos os produtos cadastrados;
C) Listar todos os produtos que custam menos que um determinado valor inserido pelo usuario.
Utilizar struct;
Pode ser incluido no maximo 20 produtos;


// Segue abaixo o PGM:

#include
#include
#define MAX 20

struct cadastro
{
int Codigo_Produto[10];
char Nome_Produto[100];
float Preco_Produto;
};

main()
{
struct cadastro cad[ MAX ];
int op, i = 0, j, x = 0;
do
{
printf("Menu de Opcoes: \n");
printf("\n1 - Incluir Novos Produtos");
printf("\n2 - Listar Todos os Produtos Cadastrados");
printf("\n3 - Listar Todos os Produtos que cunstam menos que um determinado valor");
printf("\n4 - Sair");
printf("\n \n Digite a Opcao Desejada: ");
scanf("%d", &op);
getchar();
if(op != 4)
{
if((op < 1) || (op > 4))
{
printf("Opcao Invalida!\n\n\n");
system("pause");
}
else
{ int b;
switch(op)
{
case 1:
printf("\n-------------------------Cadastro de Produtos-------------------------");
printf("\nCodigo do Produto.: ");
fflush(stdin);
scanf("%d", &cad[ i ].Codigo_Produto);
printf("\nNome do Produto.........: ");
gets(cad[ i ].Nome_Produto);
getchar();
printf("\nPreco do Produto.................: ");
fflush(stdin);
scanf("%f", &cad[ i ].Preco_Produto);
printf("\n-----------------------------------------------------------------\n");
i++;
break;
case 2:
for(j = 0; j < i; j++)
{
printf("\n-------------------------Consulta de Produtos-------------------------");
printf("\nCodigo do Produto.: %d", cad[ j ].Codigo_Produto);
printf("\nNome do Produto.........: %s", cad[ j ].Nome_Produto);
printf("\nPreco do Produto...............: %0.2f", cad[ j ].Preco_Produto);
printf("\n-----------------------------------------------------------------");
}
break;
case 3:
printf("Digite um Valor: \n");
fflush(stdin);
scanf("%d", &x);
for(j = 0; j < i; j++)
{
if(cad[ j ].Preco_Produto < x)
printf("\n-------------------------Consulta de Produtos-------------------------");
printf("\nCodigo do Produto.: %d", cad[ j ].Codigo_Produto);
printf("\nNome do Produto.........: %s", cad[ j ].Nome_Produto);
printf("\nPreco do Produto...............: %0.2f", cad[ j ].Preco_Produto);
printf("\n-----------------------------------------------------------------");
}
break;
}
Trzy respostas:
?
2012-06-03 14:59:19 UTC
Mas qual é sua dúvida?
?
2012-06-04 01:08:22 UTC
Não tem porque você declarar Codigo_Produto como um vetor de inteiros.



Neste if faltou você definir um bloco:

if(cad[ j ].Preco_Produto < x) {

printf("\n-------------------------Consu… de Produtos-------------------------");

printf("\nCodigo do Produto.: %d", cad[ j ].Codigo_Produto);

printf("\nNome do Produto.........: %s", cad[ j ].Nome_Produto);

printf("\nPreco do Produto...............: %0.2f", cad[ j ].Preco_Produto);

printf("\n------------------------------…

}



Faltam alguns comandos no final.
Silas
2012-06-04 20:49:50 UTC
vc zerou o "i" a cada menu?

acho q vc so zerou no inicio


Este conteúdo foi postado originalmente no Y! Answers, um site de perguntas e respostas que foi encerrado em 2021.
Loading...