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

Programa de sorveteria

Recommended Posts

Olá, tenho um trabalho de programação na faculdade pra fazer, meu grupo está criando um programa de sorveteria.

No entanto, o programa tem uma funcionalidade que é cadastrar clientes e armazenar o gasto dos mesmos.

Eu queria saber como faço para o programa ler o gasto de uma das pessoas escolhidas dentro do arquivo e adicionar mais gasto de acordo com o que esta pessoa comprar.

O arquivo está escrito da seguinte maneira:

"NOME1" : "GASTO1"

"NOME2" : "GASTO2"

"NOME3" : "GASTO3:

 

Ou seja, o programa deve perguntar se a pessoa já está cadastrada no sistema. Caso sim, deve-se digitar o nome de pessoa no programa , ler o respectivo gasto e somar com o novo gasto desta pessoa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado,

 

Seja bem-vindo ao Fórum do Clube do Hardware; obrigado por sua participação! :)

 

Quanto à sua dúvida, para podermos lhe ajudar, nós precisamos de mais alguns detalhes, tais como:

 

  • parte do código que já foi feito;
  • caso não tenha um código feito, qual o algoritmo que você pretende usar para resolver o problema;
  • você tem experiência com esta linguagem de programação?

 

Por favor, não leve para o lado pessoal, mas o nosso objetivo principal aqui é ajudar você a resolver o problema, se simplesmente postássemos um código já pronto, você nunca aprenderia de fato... ;)

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, obrigado por responder
Quanto ao algoritimo, você se refere a linguagem de programação que eu pretendo utilizar? Se sim, pretendo usar em C.

Tenho experiência razoável em linguaguem C.

 

Aqui está o código:

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main()

{
    float lucro = 0;

    FILE *p;
    p = fopen("Lucro_Bruto.txt", "r");
    if( p != NULL) fscanf(p,"Lucro Bruto: %f", &lucro);
    fclose(p);

int qtd, cod,;
char extra, resp1,resp2;
float vt=0,troco,vr;

      printf("\nBem vindo a Sorveteria\n\n");
      printf("Lista de sorvetes\n\n Sorvete                 Codigo      Preco\n\n Casquinha chocolate       0        1,20\n Casquinha Baunilha        1        1,20\n Casquinha Mista           2        1,20\n");
      printf(" Cascao chocolate          3        2,00\n Cascao Baunilha           4        2,00\n Cascao Misto              5        2,00\n");

      struct cadastro
      {
         char nome[50];
         float gasto;
      }c;

      printf("\n\n O cliente tem cadastro?(s ou n)\n");
      scanf("%c", &resp1);
      if(resp1 == 'n')
      {
          printf("O cliente deseja fazer o cadastro?(s ou n)\n");
          fflush(stdin);
          scanf("%c", &resp2);
          if(resp2 =='s')
          {
              printf("Digite o nome do cliente\n");
              fflush(stdin);
              gets(c.nome);

              FILE *p;
              p = fopen("cadastro.txt", "a");
              fprintf(p,"%s : ", c.nome);
              fclose(p);
              printf("Cliente cadastrado com sucesso\n");

          }

      }

do{   printf("\nDigite o Codigo do sorvete\n");
      scanf("%d",&cod);
      printf("\nQuantos ?\n");
      scanf("%d",&qtd);
     switch (cod)
        {
           case 0:
                   vt+=qtd*1.20;
           break;
           case 1:
                   vt+=qtd*1.20;
           break;
           case 2:
                   vt+=qtd*1.20;
           break;
           case 3:
                   vt+=qtd*2.00;
           break;
           case 4:
                   vt+=qtd*2.00;
           break;
           case 5:
                   vt+=qtd*2.00;
           break;
           default:
                   printf ("\n\nEste iten Nao consta no menu.\n");
        }
           printf("\nAlgo mais? s ou n(sim ou nao)\n");
           getchar();
           scanf("%c", &extra);
  }
    while(extra =='s');

    printf("\nO valor é: %.2f\n\n", vt);

    printf("Insira o valor recebido do cliente\n");

    scanf("%f", &vr);

    troco = vr - vt;

    if(troco>0)printf("\nO troco é : %.2f\n", troco);
    if(troco==0)printf("\nNao ha troco\n");
    if(troco<0)printf("\nO valor recebido é insuficiente\n");

    lucro = lucro + vt;

    p = fopen("Lucro_Bruto.txt", "w");

    fprintf(p,"Lucro Bruto: %.2f", lucro);

    fclose(p);

    if(resp2 == 's')
    {
       FILE *p;
       p = fopen("cadastro.txt","a");
       fprintf(p,"%.2f\n", vt);
       fclose(p);
    }

}

 

Como pode-se perceber, o programa consegue,atualmente, cadastrar novos clientes e armazenar seu primeiro gasto.

Entretanto, se o cliente já for cadastrado(resp1=='s'), não sei como posso ler o gasto que esse cliente já fez e somar com o novo gasto.
 

Editado por DiF
Não colocar o texto em NEGRITO.
  • Curtir 1

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

×