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

fpinto

[totalmente resolvido]

10 mensagens neste tópico

voltei a alteralo.




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

int main()
{
      int i,o,p,m;

      puts("o que queres faser\?");  putchar('\n'); putchar('\n');
           puts("escreve 1 para somar");  putchar('\n');
                puts("escreve 2 para subtrair");  putchar('\n');
                     puts("escreve 3 para multiplicar");  putchar('\n');
                          puts("escreve 4 para dividir");
                               puts("escreve 5 para sair");  putchar('\n');
                           putchar('\n'); putchar('\n'); putchar('\n');
                          scanf(" %i",&i);
        switch (i)
    {

    		case 1:  putchar('\n');

            printf("que numeros queres somar\?\n");
              scanf(" %d,", &o);
                scanf(" %d,", &p);
                  printf("A soma de %d com %d e' %d.\n",o,p,o+p);
                                                                   break;
      		case 2:  putchar('\n');

            printf("que numeros queres subtrair\?\n");
              scanf(" %d,", &o);
                scanf(" %d,", &p);
                  printf("A subtração de %d com %d e' %d.\n",o,p,o-p);
                                                                   break;
            case 3:  putchar('\n');

            printf("que numeros queres multiplicar\?\n");
              scanf(" %d,", &o);
                scanf(" %d,", &p);
                  printf("A multiplicação de %d com %d e' %d.\n",o,p,o*p);
                                                                   break;
            case 4:  putchar('\n');

            printf("que numeros queres dividir\?\n");
              scanf(" %d,", &o);
                scanf(" %d,", &p);
                  printf("A divisao de %d com %d e' %d.\n",o,p,o/p);
                                                                   break;
            case 5:  abort();
                                                                   break;
            /*---------------------------------------------------------*/

       	   default :  putchar('\n'); putchar('\n'); putchar('\n');
             puts("esse numero nao estava na lista");
               putchar('\n'); putchar('\n'); putchar('\n'); putchar('\n'); break;
           }
      system("PAUSE");
      return 0;
}

não da erro nenhum mas ao fazer qualquer conta da sempre: 7 + 37949 = 9 ("caso ponha 7 e 2 e claro");

agora estou mesmo confuso, já li o livro todo mas como estava de castigo não podia praticar e isso prejudicou-me bastante.

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fazer é com z;

case 1:  for( ; ; ) putchar('\7');                    break;

Assim que fazes break sais do case.. ou seja, o resto do código não é lido.

E para que queres um for a correr infinitamente a mandar para o output \7 ?!

Meteo uns { }  a fechar cada case que é melhor;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já tinha reparado nisso mas não foi esse o problema. mas deve ser da biblioteca porque system esta na stdlib e não na stdio mas... não sei bem

cumps fpinto

ps: vou por agora o codigo novo. e os erros novos. es estao assima.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah sim, o system pause requer uma lib qualquer.

Substitui o system("Pause") por isto:

char ch; scanf( "%c", &ch);

return 0;

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah sim, o system pause requer uma lib qualquer.

Substitui o system("Pause") por isto:

char ch; scanf( "%c", &ch);

return 0;

}

nunca tinha ouvido falar disso mas e capas de resultar. mas qual é a diferença?

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A única coisa que o System("Pause"); faz é esperar que insiras um caracter para fechar o programa.

Aqui é um pouco diferente, tens de inserir e premir enter, que o programa fecha, mas entretanto pudeste analisar convenientemente todo o output.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah sim, o system pause requer uma lib qualquer.

Não me parece que o system() precise de alguma lib adicional à standard C library.

Se quiseres imitar o comportamento do system("pause") podes usar as funções equivalentes ao scanf() mas para unbuffered input.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah sim, o system pause requer uma lib qualquer.

Não me parece que o system() precise de alguma lib adicional à standard C library.

Se quiseres imitar o comportamento do system("pause") podes usar as funções equivalentes ao scanf() mas para unbuffered input.

sim, o system("PAUSE"); pertence a biblioteca stdlib e não há biblioteca stdio, obrigado a todos.

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, o system("PAUSE"); pertence a biblioteca stdlib e não há biblioteca stdio, obrigado a todos.

cumps fpinto

Todos os includes a que te referes pertencem à standard C library, não são bibliotecas separadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora