Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Telmo_silva

Criação de ficheiros em .txt

Recommended Posts

Telmo_silva

Boa Noite pessoal programador!!!

Estou aqui com um pequeno problema, ou melhor grande ;) para a semana vou ter de entregar um trabalho que no qual quero implementar esta situação é gerar um numero aleatório num intervalo de 0 a 100, que que o utilizador tenta adivinha o numero.

    -o meu resultado final é:

                    O numero correto é o X, quantidade de tentativas X

                    O tempo que demorou a acertar no numero foi X

ou seja eu queria que esta informação fica-se guardada num txt em vez de se ver só na consola. :wallbash:

o meu compilador é o Dev-C++

Help!!!

Share this post


Link to post
Share on other sites
pmg

Abres o tal do txt com a funcao fopen(). Depois, logo a seguir ao(s) printf(s) do teu resultado final acrescentas um(s) fprintf()s similar(es). Nao te esquecas dum fclose() no fim de escreveres todas as informacoes.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
jagsilva

Pode ser qualquer coisa assim: Recebe a string e escreve num ficheiro.

#include <stdio.h>
void regista(char* mensagem) 
{ 
   FILE *file;                  /* apontador para ficheiro */

  /* Abre o ficheiro para adicionar informação. Se o ficheiro não existir cria um novo */ 
  file = fopen("log.txt","a+"); 

  /* Escreve a mensagem */
  fprintf(file,"%s\n", mensagem);

  fclose(file);
}

jagsilva

Share this post


Link to post
Share on other sites
Flinger

Esse exercício costuma ser dos primeiros que o pessoal faz, ao aprender. Também me parece que estás a pôr a carroça à frente dos bois. Entendo que estejas impaciente para começar a fazer algumas coisas um bocadito mais avançadas, mas para isso precisas de conhecimento que, provavelmente, ainda não tens.

Share this post


Link to post
Share on other sites
KTachyon

Tecnicamente, escrever num ficheiro em vez de escrever na consola é apenas um pequeno passo.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
Telmo_silva

Boas!!!

Pois, estou de acordo, mas se todos estivermos á espera que o Prof de a matéria para fazer o exercício estávamos bem lixados ;).... Por isso é que se chama pessoas autónomas, e com uma flexibilidade social, para explicar a situação das pessoas que querem fazer algo de novo, no qual o prof ja referiu que é muito valorizado a autonomia de cada um, e não fazer um programa rude, que está já feito logo na primeira pagina do Google. As pessoas que não procuram um pouco mais para melhorar o programa que vai ser avaliado e apresentado á turma, são pessoas que não se querem esforçar em nada.. enfim  :wallbash: .

Quero agradecer a todos os que me responderam e muito obrigado pelas dicas, ja está a funcionar nas perfeitas condições.

Tenho outra questão, já vi que á aqui gente da minha turma também a traz de coisas, pois já á pessoas que já fizeram o mesmo que eu, ou seja, já guardam a informação em TXT, como eu sou mais original do que isso, gostava de uma dica para CSV :)

Share this post


Link to post
Share on other sites
Flinger

Ser empreendedor é um qualidade. Concordo contigo, e acho muito bem que não te limites ao que o professor ensina. Mas não vejo grande vantagem em começares a saltar passos, e tentar fazer algo que ainda não sabes. Se queres mesmo aprender mais, arranja um bom livro de c e começa a estudá-lo. Assim vais aprendendo ao teu ritmo, mas de maneira organizada.

Tenho outra questão, já vi que á aqui gente da minha turma também a traz de coisas, pois já á pessoas que já fizeram o mesmo que eu, ou seja, já guardam a informação em TXT, como eu sou mais original do que isso, gostava de uma dica para CSV :)

Isto é um exemplo perfeito :) Se tivesses percebido o que estavas a fazer, com a escrita do ficheiro, já sabias a resposta para isso ;)

O CSV é um implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores.

De qualquer forma, não gosto de passar por velho rezingão :D

#include <stdio.h>
void regista(char* mensagem) 
{ 
   FILE *file;                  /* apontador para ficheiro */

  /* Abre o ficheiro para adicionar informação. Se o ficheiro não existir cria um novo */ 
  file = fopen("log.txt","a+"); 

  /* Escreve a mensagem */
  fprintf(file,"%s\n", mensagem);

  fclose(file);
}

Se a tua função de escrita é baseada nisto, então basta que passes a mensagem bem formatada para o ficheiro ser guardado como cvs. O CVS é/foi usado para guardar dados em forma de texto, não frases compostas como estavas a fazer anteriormente, por isso o melhor formato seria:

2,7,50

Ou seja, o número era o 2, com 7 tentativas, em 50 segundos. Para formatares a mensagem, presumo que já tenhas visto o sprintf(). Lembra-te de pôr o \n no fim de cada mensagem.

Share this post


Link to post
Share on other sites
Telmo_silva

Peço desculpa, estive ausente, como foi época natalícia não estive no pc.

espero que todos tenham tido um bom natal.

sim o problema ficou resolvido...

muito obrigado ;)

Share this post


Link to post
Share on other sites
Marc silva

ok amigo eu também estive ausente caro colega programador, andei a azeitona mas não foi por isso que deixei de programar :confused:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.