Petter Blackd Posted December 19, 2009 at 01:10 PM Report Share #301396 Posted December 19, 2009 at 01:10 PM 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 More sharing options...
TheDark Posted December 19, 2009 at 02:01 PM Report Share #301403 Posted December 19, 2009 at 02:01 PM Podias mostrar um pouco mais de código, para podermos ver o que já tens feito e te podermos ajudar melhor. Desaparecido. Link to comment Share on other sites More sharing options...
Petter Blackd Posted December 19, 2009 at 02:30 PM Author Report Share #301411 Posted December 19, 2009 at 02:30 PM 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 More sharing options...
Baderous Posted December 19, 2009 at 03:27 PM Report Share #301422 Posted December 19, 2009 at 03:27 PM Para reconhecer o exit tens de fazer #include <stdlib.h>. Essa invocação da main() aí no meio está errada, a main não se invoca em nenhuma função, ela é o ponto de entrada na execução do programa, apenas o SO a invoca, mais ninguém. Link to comment Share on other sites More sharing options...
Petter Blackd Posted December 20, 2009 at 12:08 PM Author Report Share #301508 Posted December 20, 2009 at 12:08 PM mas uma das especificações do trabalho que tenho de fazer é, depois de realizar todas as tarefas ele volte ao inicio. Durante as minhas aulas, foi a unica maneira que aprendi. Entao, como posso fazer para voltar ao inicio Link to comment Share on other sites More sharing options...
TheDark Posted December 20, 2009 at 12:27 PM Report Share #301510 Posted December 20, 2009 at 12:27 PM 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 More sharing options...
Petter Blackd Posted December 20, 2009 at 01:03 PM Author Report Share #301512 Posted December 20, 2009 at 01:03 PM 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 More sharing options...
TheDark Posted December 20, 2009 at 03:30 PM Report Share #301527 Posted December 20, 2009 at 03:30 PM mostrar_valores será o nome da função que contém o código que puseste aí. Sem ver como tens isso estruturado é difícil ser mais específico. Desaparecido. Link to comment Share on other sites More sharing options...
Petter Blackd Posted December 21, 2009 at 03:24 PM Author Report Share #301681 Posted December 21, 2009 at 03:24 PM #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 More sharing options...
TheDark Posted December 21, 2009 at 11:36 PM Report Share #301772 Posted December 21, 2009 at 11:36 PM Se meteres tudo o que está a seguir à linha do fopen dentro de um while (true) { ... }, e removeres a chamada à função main, deves obter o que pretendes. Desaparecido. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now