Ir ao conteúdo
  • Cadastre-se

Uma pequena ajuda sobre Struct


PMiler

Posts recomendados

É o seguinte não to conseguindo fazer funcionar do modo que deveria ser,esse problema esta na função caixa,o que deveria acontecer é você digita o código do produto e ele compara se é igual ao código que tu teria cadastrado anteriormente,e printa ele depois,só que desse modo que eu fiz não ta funcionando e eu não consigo pensar em outro modo de realizar essa tarefa.Agradeço a atenção.

 

o exercício em si e o código a baixo.

 


/*Questão 2. Escreva um programa que simule uma caixa registradora: o operador digita o código do produto e a quantidade; se digitar "+", 

novo conjunto de dados (código + quantidade) deve ser lido; se digitar "=", o total deve ser fornecido.

Os produtos disponíveis, bem como seus códigos e preços, são apresentados na tabela abaixo:

Código Descrição Preço 

001 Desodorante 56,00

023 Pasta Kolynos 89,00

108 Sabonete 40,00

120 Escova dentes 90,00

OBS: Monte uma estrutura para representar esta tabela.

Crie um menu de opções as quais permitam melhor interação junto ao usuário.*/

 


 

#include <cstdio>

#include <ctype.h>

#include <iostream>  // cout, cin

#include <stdlib.h>    // rand, atof

#include <stdio.h>     // printf, scanf,

#include <conio.h>     // getch   printf

#include <string.h>    // strlen,  strcat

#include <windows.h>   // COORD

#include <cmath>       // pow

 

const int tam = 3;

int count=0,op=0,m=1,z=0;

char p[2];

struct tab

{

        int codigo;

        char descricao[30];

        float preco;

};

 

struct tab tabela[tam];

 

 

 

void monta_menu(void){

     system("cls");

     printf("\tMenu\n\n\n");

     printf("\t0-Sair\n");

     printf("\t1-Cadastrar Produtos\n");

     printf("\t2-Listar Produtos Cadastrados\n");

     printf("\t3-Caixa Registradora\n");

printf("\t\tEscolha a opcao:");

     scanf("%d",&op);

}

 

void cadastrotab(void){

for(count = 0 ; count < tam ; count++)

    {

    

        printf("\nCodigo do Produto: ");

        scanf("%d",&tabela[count].codigo);

 

        printf("Descricao do Produto: ");

        scanf("%s",tabela[count].descricao);

 

        printf("Preco do Produto: ");

        scanf("%f", &tabela[count].preco);

 

    }

}

 

void listar(){

for(int i=0;i<tam;i++){

     printf("\n\t%d\t\t%s\t\t%5.2f ",tabela.codigo,tabela.descricao, tabela.preco); 

}

}

//------------------------------------------------------------------------------------------------------------------------------

void caixa(){

for(int i = 0; i < tam;i++ )

{

printf("Digite o Codigo do Produto: ");

scanf("%d",&z);

if(tabela.codigo == z){

   printf("\n\tCodigo\t\tDescricao\tPreco");

printf("\n\t%d\t\t%s\t\t%5.2f ",tabela.codigo,tabela.descricao,tabela.preco);

printf("\n\n\nDigite + para adicionar produtos ou = para visualizar o total: ");

scanf("%s",&p);

if(p == "+"){

i++;

}

else {

system ("cls");

for(int i=0;i< tam;i++){

printf("\n\tCodigo\t\tDescricao\tPreco");

      printf("\n\t%d\t\t%s\t\t%5.2f ",tabela.codigo,tabela.descricao, tabela.preco); 

//printf("\n\t%d\t\t%s\t\t%5.2f ",tabela.codigo,tabela.descricao,tabela.preco);

    }

    break;

       }

       

}

else{

printf("\t\tNenhum Produto corresponde a esse Codigo\n\n");

 

   }

            

    }

}

 

//-----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

int main (){

monta_menu(); 

while(m){

switch(op){

case 0:

system ("cls");

m = 0;

                           break;

                           

                       case 1:

                        system ("cls");

cadastrotab();

getch();

monta_menu();

break;

 

case 2:

                                system ("cls");

printf("\n\n\t\t\tLISTA DE PRODUTOS\n\n");

printf("\n\tCodigo\t\tDescricao\tPreco");

listar(); 

getch();

monta_menu();

       break;

       

   case 3:

   system ("cls");

caixa();

   getch();

   monta_menu();

   break;

default:

                   monta_menu();

                   

    }

    }

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...