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

Entrada de dados formatada ( AJUDA)


luketeiro

Pergunta

Sou iniciante e estou com dificuldades para criar um programa que leia uma lista de compras.txt com as seguintes caracteristicas, Nome, Tipo de alimento ( L ou F) e preço.

Apos dar entrada nesse arquivo o programa deve ser capaz de descrever o total gasto com Legumes o total gasto com Frutas.

Modelo de lista

F Banana 3,00

L Tomate 2,15

L Batata 1,35

Total com frutas afoi 3,00.

Total com legumes foi 3,50.

Minha duvida é como programar essa leitura do arquivo.txt dividindo os precos.

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá,

Fiz um programa bem simples pra ajudar você.

Espero que você estude ele e pergunte se tiver dúvidas.

Pra funcionar você precisa fazer o seguinte

- GRAVAR AS QUATRO LINHAS ABAIXO NUM ARQUIVO COM NOME DE COMPRAS.TXT

- ESSE ARQUIVO DEVE ESTAR NA MESMA PASTA QUE O EXECUTAVEL.

- A PRIMEIRA LINHA é O HEADER QUE INDICA AS POSICOES ONDE OS CAMPOS

DEVE SER POSICIONADOS

- OS VALORES DEVEM SER SEPARADOS POR . (ponto) E não VIRGULA PARA FACILITAR

A CONVERSAO.

Abs


+ + +
F Banana 3.00
L Tomate 2.15
L Batata 1.35
[/codebox]

[codebox]
#include <stdio.h>
#include <math.h>
#include <conio.h>

void main(void)
{
char registro[36];
float totalFrutas, totalLegumes;
int ignoraHeader = 1;
FILE *fp = fopen("compras.txt", "r+t");
if (fp == NULL)
{
puts("Erro - Arquivo invalido");
return;
}

totalFrutas = totalLegumes = 0.00;
while (1)
{
if (fgets(registro, 35, fp) == NULL)
break;
if (ignoraHeader)
{
ignoraHeader = 0;
continue;
}
printf("%s", registro);
if (registro[0] == 'F')
totalFrutas += atof(registro+27);
else if (registro[0] == 'L')
totalLegumes += atof(registro+27);
}
printf("------------------------------\n");
printf("Total de Frutas.: %6.2f\n", totalFrutas);
printf("Total de Legumes: %6.2f\n", totalLegumes);
printf("------------------------------\n");

getch();
}

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...