Jump to content

Criação de ficheiros e Console exit


Petter Blackd
 Share

Recommended Posts

Boa tarde.

Bem eu criei um programa que me realiza determinados cálculos matematicos.

Bem, uma das especificações que queria colocar era escrever o output num ficheiro .txt.

Como usei um switch, com 3 cases distintos, queria saber como posso colocar os codigos para escrever os valores no documento e quais os codigos que preciso. Por exemplo, o programa exe diz "o valor é xxx" "o outro é yyy" e queria que todos esses print f's que coloquei ficassem escritos no documento.

Como é que isso se faz?

Uma outra duvida, eu queria que, no case 3 o programa fechasse.

Antes de iniciar o ciclo swirtch criei um print f a perguntar a opçao do menu e o respectivo scan f para fixar a opçao. (as opçao sao numeros). Caso o numero marcado seja 3, fechar programa.

Utilizando o código,

case 3:

exit (0);

break;

o compilador (VS 2008) diz que nao reconhece o exit.

Alguem me pode dar uma ajuda?

Link to comment
Share on other sites

printf ("\nIndique a sua escolha:");

scanf_s ("%d", &escolha);

switch (escolha)

{

  case 1:

  printf ("\n\n\nVALORES DO grau");

  printf ("\nValor exacto =");

  printf ("\nValor aproximado =");

 

  printf ("\n\n\nVALORES DO angulo",n);

  printf ("\nValor exacto  = ");

  printf ("\nValor aproximado  =");

 

  main ();

  break;

  case 3:  

  return 0;// mas nao fecha o programa :S

}

}

aqui esta parte do codigo.

espero que ajude

@TheDark

estudas no isel?

Link to comment
Share on other sites

uau. Algo de errado se passa com essas aulas, se te ensinaram a chamar a função main a partir de outras funções... Diz-me por favor que não te ensinaram isso no ISEL :🙂 era caso para fazer um report ao Eng. Pedro Pereira. E sim, estudo lá 🙂 conto terminar este ano.

Para voltares ao início, a maneira habitual é meteres o código dentro de um ciclo. Por exemplo, se esse código que mostraste estiver dentro de uma função, é fazer algo do tipo

while (true) {
    mostrar_valores();
}

Desaparecido.

Link to comment
Share on other sites

o problema é que nao estou em nenhum curso de informatica e nunca tive programação na vida. :s

Tipo, coloquei a minha função main, e dentro dessa coloquei um ciclo switch. Mas o que meto nesse codigo para me voltar ao main? Ja tentei substituir o mostrar_valores por int main mas nao resulta xD Provavelmente nao e assim haha

Link to comment
Share on other sites

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main ()
{
   int x,p,t,o;
   
FILE *trabalho;
trabalho = fopen ("c:\\Documents and Settings\\Trabalho.txt","w+");

(uns qnts print f para o menu)

printf ("\nIndique a sua escolha:");
      scanf_s ("%d", &escolha);
      
      switch (escolha)
      {
         case 1:

        fprintf (trabalho, "1234 lalala");
         
            printf ("\n\n\n valores do grau");

            printf ("\nValor exacto =");
            printf ("\nValor aredondado =");
          

                  
            main ();
         break;

case 3:
return 0;
}
}

Basicamente é isto que tenho. Um dos problemas que agora estou a deparar-me é que o programa cria o ficheiro txt. mas não lhe escreve absolutamente nada. Ja reparei que o problema é por estar dentro do switch, mas preciso de colocar os valores e as respectivas msg do case 1 num documento txt.  Ja andei a ler montes de coisas mas nao consigo.

O caso 3 é o suposto close console.

O codigo esta ai postado quase na sua integra, somente fiz a remoçao de alguns print's para poupar espaço.

Link to comment
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
 Share

×
×
  • Create New...

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.