Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

1. Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 15:47h

#include <stdio.h>

int main(void)
{
int escolha;
float um, dois, resultado;
puts("Esta é uma calculadora básica");
puts("Nós temos algumas funções");
puts("Digite: 1 para somar, 2 para subtrair, 3 para multiplicar, 4 para dividir.");
scanf("%i", &escolha);
switch( escolha ){
case 1:
puts("Digite os dois numeros que vão ser somados");
scanf("%f %f", &um, &dois);
resultado = um+dois;
printf("O resultado é: %lf", resultado);
return 0;
case 2:
puts("Digite os dois numeros que vao realizar a conta de subtraçao :");
scanf("%f %f", &um, &dois);
resultado = um-dois;
printf("O resultado é: %lf", resultado);
return 0;
case 3:
puts("Digite os dois numeros que serao multiplicados: ");
scanf("%f %f", &um, &dois);
resultado = um*dois;
printf("O resultado é: %lf", resultado);
return 0;
case 4:
puts("Digite o dividendo e o disisor: ");
scanf("%f %f", &um, &dois);
resultado = um/dois;
printf("O resultado é: %lf", resultado);
return 0;
}
}

Fiz uma calculadora e quero salvar as saidas em um txt, como?


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 21/12/2016 - 10:13h

O problema é o modo de abertura selecionado em fopen(). O modo "w" sempre zera o conteúdo do arquivo.

Se você quiser sempre acrescentar novas informações ao final do arquivo, possivelmente você vai querer usar o modo "a".

3. resposta

gustavo borges souza marques
xupu19

(usa Kali)

Enviado em 20/12/2016 - 16:19h

depende da ferramenta que você esta usando,
se for o VIM -> aperta "ESC" e digita -> !wq ( w = salvar e q = sair) ....
se tiver usando o nano -> é "Ctrl + X" ....
se for um BLOCO DE NOTAS ou ZPAD ou algum do tipo ai tem a opção mano, poq eles temk interface grafica bem facil ....
obs: sem as aspas e quando salvar coloque o nome com .txt no final




4. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 16:20h

xupu19 escreveu:

depende da ferramenta que você esta usando,
se for o VIM -> aperta "ESC" e digita -> !wq ( w = salvar e q = sair) ....
se tiver usando o nano -> é "Ctrl + X" ....
se for um BLOCO DE NOTAS ou ZPAD ou algum do tipo ai tem a opção mano, poq eles temk interface grafica bem facil ....
obs: sem as aspas e quando salvar coloque o nome com .txt no final



Desculpa, mas releia a pergunta

"Talk is cheap, show me the code"



5. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 16:29h

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *f = fopen("file.txt", "w");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
int escolha;
float um, dois, resultado;
puts("Esta é uma calculadora básica");
puts("Nós temos algumas funções");
puts("Digite: 1 para somar, 2 para subtrair, 3 para multiplicar, 4 para dividir.");
scanf("%i", &escolha);
switch( escolha ){
case 1:
puts("Digite os dois numeros que vão ser somados");
scanf("%f %f", &um, &dois);
resultado = um+dois;
fprintf(f ,"O resultado é: %lf", resultado);
printf("O resultado é: %lf", resultado);
return 0;
case 2:
puts("Digite os dois numeros que vao realizar a conta de subtraçao :");
scanf("%f %f", &um, &dois);
resultado = um-dois;
fprintf(f ,"O resultado é: %lf", resultado);
printf("O resultado é: %lf", resultado);
return 0;
case 3:
puts("Digite os dois numeros que serao multiplicados: ");
scanf("%f %f", &um, &dois);
resultado = um*dois;
fprintf(f ,"O resultado é: %lf", resultado);
printf("O resultado é: %lf", resultado);
return 0;
case 4:
puts("Digite o dividendo e o disisor: ");
scanf("%f %f", &um, &dois);
resultado = um/dois;
fprintf(f ,"O resultado é: %lf", resultado);
printf("O resultado é: %lf", resultado);
return 0;
}
fclose(f);
}

Eu consegui fazer ele criar o txt e salvar o resultado mas quando refaço, ele apaga o resultado antigo.
"Talk is cheap, show me the code"



6. foi maus

gustavo borges souza marques
xupu19

(usa Kali)

Enviado em 20/12/2016 - 16:30h

pra salvar cria um .post e coloca o arquivo destino !!! ae tudo q digitarem vai pra vc !!! é isso ?
se num for desisto !!!


7. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 16:32h

xupu19 escreveu:

pra salvar cria um .post e coloca o arquivo destino !!! ae tudo q digitarem vai pra vc !!! é isso ?
se num for desisto !!!


Obrigado, amigo, mas nao é isso, isso aqui é um programa em C ,um calculadora, oque quero é que ele salve os resultados sem apagar os anteriores.

"Talk is cheap, show me the code"



8. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 17:05h

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int estado;
estado = 1;
FILE *f = fopen("file.txt", "w");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
while( estado == 1 ){
int escolha;
float um, dois, resultado;
puts("Esta é uma calculadora básica");
puts("Nós temos algumas funções");
puts("Digite: 1 para somar, 2 para subtrair, 3 para multiplicar, 4 para dividir, 5 para sair.");
scanf("%i", &escolha);
switch( escolha ){
case 1:
puts("Digite os dois numeros que vão ser somados");
scanf("%f %f", &um, &dois);
resultado = um+dois;
fprintf(f ,"O resultado é: %lf \n", resultado);
printf("O resultado é: %lf \n\n\n\n\n", resultado);
break;
case 2:
puts("Digite os dois numeros que vao realizar a conta de subtraçao :");
scanf("%f %f", &um, &dois);
resultado = um-dois;
fprintf(f ,"O resultado é: %lf \n", resultado);
printf("O resultado é: %lf \n\n\n\n\n", resultado);
break;
case 3:
puts("Digite os dois numeros que serao multiplicados: ");
scanf("%f %f", &um, &dois);
resultado = um*dois;
fprintf(f ,"O resultado é: %lf \n", resultado);
printf("O resultado é: %lf \n\n\n\n\n", resultado);
break;
case 4:
puts("Digite o dividendo e o disisor: ");
scanf("%f %f", &um, &dois);
resultado = um/dois;
fprintf(f ,"O resultado é: %lf \n", resultado);
printf("O resultado é: %lf \n\n\n\n\n", resultado);
break;
case 5:
puts("Saindo...");
fclose(f);
return 0;

}
}

}

Fiz uma mudança agora consigo salvar mais dados mas nao consigo guardar os anteriores
"Talk is cheap, show me the code"



9. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 20/12/2016 - 18:43h

Up, ainda não resovi.
"Talk is cheap, show me the code"



10. Re: Como salvar as operaçoes feitas em um .txt? Sem apagar as anteriores [RESOLVIDO]

Marcos Souza
IUseLinux

(usa Slackware)

Enviado em 21/12/2016 - 10:38h

paulo1205 escreveu:

O problema é o modo de abertura selecionado em fopen(). O modo "w" sempre zera o conteúdo do arquivo.

Se você quiser sempre acrescentar novas informações ao final do arquivo, possivelmente você vai querer usar o modo "a".


Muito obrigado, amigo,me ajudou bastante.

"Talk is cheap, show me the code"







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts