Ir ao conteúdo
  • Cadastre-se

Programa Para gravar em arquivo em C


filipimacau

Posts recomendados

Bom gente, tem esse trabalho da facul pra fazer, a matéria é programação I, e eu tenho que fazer um programa que leia 3 informações e grave num arquivo texto. Estive doente e tive que faltar 2 semanas de aula, e agora to meio perdido. Fiz um algoritmo que não deu erro de compilação, mas quando compila ele lê a primeira informação e fecha, o o arquivo texto fica vazio. Alguem sabe onde eu errei?

Olha o algoritmo:

#include <stdio.h>

//inicio do programa

main()

{ //cria estruturas

typedef struct {

char nome[10];

char descricao[41];

float inicial;

} movimentacoes;

//cria as variavéis

FILE *arq;

movimentacoes nome, descricao, inicial;

//recebe o nome da conta

printf("Digite o nome da conta:\n ");

scanf("%c", &nome.nome[10]);

//recebe a descrição da conta

printf("Digite a descrição da conta:\n ");

scanf("%c", &descricao.descricao[41]);

//recebe valor inicial da conta

printf("Digite o valor inicial da conta:\n ");

scanf("%i", &inicial.inicial);

//abre o arquivo para gravação

arq = fopen ("contas.txt", "w");

//grava os dados no arquivo

fprintf(arq,"%9s %-40s %8.2f\n", nome.nome, descricao.descricao, inicial.inicial);

//fecha o arquivo

fclose (arq);

}

qualquer ajuda será muito bem vinda.

obrigado.

Link para o comentário
Compartilhar em outros sites

Tá ai :P

#include <stdio.h>

//inicio do programa
main()
{ //cria estruturas
typedef struct {
char nome[10];
char descricao[41];
float inicial;
} movimentacoes;

//cria as variavéis
FILE *arq;
movimentacoes nome, descricao, inicial;

//recebe o nome da conta
printf("Digite o nome da conta:\n ");
gets(nome.nome);

//recebe a descrição da conta
printf("Digite a descrição da conta:\n ");
gets(descricao.descricao);

//recebe valor inicial da conta
printf("Digite o valor inicial da conta:\n ");
scanf("%f", &inicial.inicial);

//abre o arquivo para gravação
arq = fopen ("contas.txt", "a");

//grava os dados no arquivo
fprintf(arq,"%9s %-40s %8.2f\n", nome.nome, descricao.descricao, inicial.inicial);

//fecha o arquivo
fclose (arq);

}

O problema estava na forma q você estava pegando os nomes, com o scanf(), agora acho q vai funciona :-BEER

flow :joia:

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!