Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problema com Dev c++


Aislan Macedo

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
Se possível poste o código, por favor.

Abraços.

/* 
crie uma estrutura produtos com os segintes campos

    codigo
    nome-produto
    descricao
    quantidade
    preço

faça um proframa com as seguinte funcionabilidades:

    cadastrar produtos
    listar produtos
    localizar produtos por codigos
    localizar produtos por nome

*/
# include <stdlib.h>
# include <stdio.h>
# include <string.h> 
main (){
     int escolha,n,i,status=0,bc=0;
     struct {
            int cod;
            char nome[50];
            char desc[50];
            int quant;
            float preço;
            char bn[50];
            }cadas[n];
     
do {
     printf("\n\t\t\t+--------------------------------+");
     printf("\n\t\t\t|              MENU              |");
     printf("\n\t\t\t+--------------------------------+");
     printf("\n\t\t\t|1- CADASTRAR PRODUTOS           |");
     printf("\n\t\t\t|2- LISTAR PRODUTOS              |");
     printf("\n\t\t\t|3- LOCALIZAR PRODUTOS POR CODIGO|");
     printf("\n\t\t\t|4- LOCALIZAR PRODUTOS POR NOME  |");
     printf("\n\t\t\t|5- SAIR                         |");
     printf("\n\t\t\t+--------------------------------+\n");
     printf("\n\t\t\tOPCAO: ");
     scanf("%d",&escolha);
     system ("cls");
     
//------------------------------------------------------------

     switch (escolha){
            case 1:
                 printf("QUANTOS PRODUTOS A CADASTRAR: ");
                 scanf("%d",&n);
                 system("cls");
                     for (i=0;i<n;i++){// entrada de dados 
                   printf("CODIGO : ");
                   scanf("%d",&cadas[i].cod);
                   printf("\nNOME: ");
                   fflush(stdin);
                   gets(cadas[i].nome);
                   printf("\nDESCRICAO: ");
                   fflush(stdin);
                   gets(cadas[i].desc);
                   printf("\nQUANTIDADE:  ");
                   scanf("%d",&cadas[i].quant);
                   printf("\nPRECO: ");
                   scanf("%f",&cadas[i].preço);
                   system ("cls"); 
                   status=1;                  
                   }
                    break;
                    
                    
              case 2://listar produtos
                   if(status>0){ 
                      for (i=0;i<n;i++){
                         printf ("CODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f \t",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);           
                         printf("\n+-----------------------------------------------------------------------------+\n");
                      }//FECHA O FOR
                   }//FECHA IF
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
              break;
              
              
              
              
              case 3://localizar produtos por cod
                   
                   if(status>0){
                      system ("cls");
                      printf("Digite o CODIGO DO PRODUTO: ");
                      scanf("%d",&bc);
                          for(i=0;i<n;i++){      
                              if (bc==cadas[i].cod)
                              printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);                      
                              else{
                              system("cls");
                              printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
                              }
                              }//fecha for
                   }// fecha if
                   
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
                   
                   break;
                        
             case 4://localizar produtos por nome
                   if(status>0){
                      system ("cls");
                      printf("Digite o NOME DO PRODUTO: ");
                      fflush(stdin);
                      gets(cadas[1].bn);
                          for(i=0;i<n;i++){      
                              if (strcmp(cadas[1].bn,cadas[i].nome)==0)
                              printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);                      
                              
                              else{
                              system("cls");
                              printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
                              }
                              }//fecha for
                   }// fecha if
                   
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
              break;
            
              default:
                      printf("\n\n\n\t!OPCAO INVALIDA, POR FAVOR ENTRE COM UMA OPCAO VALIDA!\n\n\n");
            }//FEHA SWITCH
            
            
            
        }while (escolha != 5);
     }

Link para o comentário
Compartilhar em outros sites

  • 0

int escolha,n,i,status=0,bc=0;
     struct {
            int cod;
            char nome[50];
            char desc[50];
            int quant;
            float preço;
            char bn[50];
            }cadas[n];

Você não deveria estar inicializando n para algum valor?

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, pelo que testei aqui no meu computador.

Troquei todos os que preços pelo preço [sem cedilha] e funcionou.

Se possível poste o código, por favor.

Abraços.

/* 
crie uma estrutura produtos com os segintes campos

    codigo
    nome-produto
    descricao
    quantidade
    preço

faça um proframa com as seguinte funcionabilidades:

    cadastrar produtos
    listar produtos
    localizar produtos por codigos
    localizar produtos por nome

*/
# include <stdlib.h>
# include <stdio.h>
# include <string.h> 
main (){
     int escolha,n,i,status=0,bc=0;
     struct {
            int cod;
            char nome[50];
            char desc[50];
            int quant;
            float preço;
            char bn[50];
            }cadas[n];
     
do {
     printf("\n\t\t\t+--------------------------------+");
     printf("\n\t\t\t|              MENU              |");
     printf("\n\t\t\t+--------------------------------+");
     printf("\n\t\t\t|1- CADASTRAR PRODUTOS           |");
     printf("\n\t\t\t|2- LISTAR PRODUTOS              |");
     printf("\n\t\t\t|3- LOCALIZAR PRODUTOS POR CODIGO|");
     printf("\n\t\t\t|4- LOCALIZAR PRODUTOS POR NOME  |");
     printf("\n\t\t\t|5- SAIR                         |");
     printf("\n\t\t\t+--------------------------------+\n");
     printf("\n\t\t\tOPCAO: ");
     scanf("%d",&escolha);
     system ("cls");
     
//------------------------------------------------------------

     switch (escolha){
            case 1:
                 printf("QUANTOS PRODUTOS A CADASTRAR: ");
                 scanf("%d",&n);
                 system("cls");
                     for (i=0;i<n;i++){// entrada de dados 
                   printf("CODIGO : ");
                   scanf("%d",&cadas[i].cod);
                   printf("\nNOME: ");
                   fflush(stdin);
                   gets(cadas[i].nome);
                   printf("\nDESCRICAO: ");
                   fflush(stdin);
                   gets(cadas[i].desc);
                   printf("\nQUANTIDADE:  ");
                   scanf("%d",&cadas[i].quant);
                   printf("\nPRECO: ");
                   scanf("%f",&cadas[i].preço);
                   system ("cls"); 
                   status=1;                  
                   }
                    break;
                    
                    
              case 2://listar produtos
                   if(status>0){ 
                      for (i=0;i<n;i++){
                         printf ("CODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f \t",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);           
                         printf("\n+-----------------------------------------------------------------------------+\n");
                      }//FECHA O FOR
                   }//FECHA IF
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
              break;
              
              
              
              
              case 3://localizar produtos por cod
                   
                   if(status>0){
                      system ("cls");
                      printf("Digite o CODIGO DO PRODUTO: ");
                      scanf("%d",&bc);
                          for(i=0;i<n;i++){      
                              if (bc==cadas[i].cod)
                              printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);                      
                              else{
                              system("cls");
                              printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
                              }
                              }//fecha for
                   }// fecha if
                   
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
                   
                   break;
                        
             case 4://localizar produtos por nome
                   if(status>0){
                      system ("cls");
                      printf("Digite o NOME DO PRODUTO: ");
                      fflush(stdin);
                      gets(cadas[1].bn);
                          for(i=0;i<n;i++){      
                              if (strcmp(cadas[1].bn,cadas[i].nome)==0)
                              printf ("\n\nCODIGO: %d \nNOME: %s \nDESCRICAO: %s \nQUANTIDADE: %d \nPRECO: %0.2f\n\n\n\n",cadas[i].cod,cadas[i].nome,cadas[i].desc,cadas[i].quant,cadas[i].preço);                      
                              
                              else{
                              system("cls");
                              printf("\n\n\t!PRODUTO não ENCONTRADO!\n\n");
                              }
                              }//fecha for
                   }// fecha if
                   
                   else 
                        printf("\n\n\a\t!!ERRO [171] !não há PRODUTOS CADASTRADOS || CADASTRAR PRODUTOS!\n\n");
              break;
            
              default:
                      printf("\n\n\n\t!OPCAO INVALIDA, POR FAVOR ENTRE COM UMA OPCAO VALIDA!\n\n\n");
            }//FEHA SWITCH
            
            
            
        }while (escolha != 5);
     }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...