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.