Ruka284 Posted April 4, 2013 at 01:40 PM Report #501601 Posted April 4, 2013 at 01:40 PM (edited) O que acham que esta mal? Podem assinalar os erros. #include<stdio.h> #include <stdlib.h> int main () { int num1,num2,resultado=0; int op,resp; int i=0; printf("o menu abaixo indicado com as operacoes \n"); printf("So existem duas operacoes a 1 e a 2 \n"); printf("1 para somar \n"); printf("2 para subtrair \n"); scanf("%d",&op); printf ("introduza o numero \n"); scanf("%d",&num1); printf ("introduza o numero \n"); scanf("%d",&num2); switch(op) { case (1): for (i=0;i<num1;i++){ resultado=resultado+num2; printf("\n O resultado e: %d \n",resultado); } break; case (2):do { resultado=resultado-num2; i--; printf("\n O resultado e: %d \n",resultado); } while (i > num1); break; default:printf("opcao invalida\n"); exit(EXIT_FAILURE); break; } getchar (); } Edited April 4, 2013 at 01:56 PM by Ruka284
pmg Posted April 4, 2013 at 05:32 PM Report #501676 Posted April 4, 2013 at 05:32 PM O teu programa nao tem erros de sintaxe (ou seja: compila correctamente e nao tem construcoes ilegais que o facam terminar quando corre). O que perguntaste, simplificando, é mais ou menos que perguntar se o codigo a seguir esta correcto a = 0; Obviamente que o codigo acima nao tem erros de sintaxe ... mas é preciso saber o que era suposto fazer para saber se esta correcto. Se fosse para "meter a idade do programador na variavel a" quase de certeza que estava incorrecto (programadores novinhos!!!). Tirando erros de sintaxe, o codigo que apresentaste nao é coerente no espacamento usado para indentacao; usa parentesis redundantes nos cases, nao define os parametros da funcao main, define a variavel resp que nunca usa. Alem disso, no case 2 faz um ciclo que, segundo tudo leva a crer, nao é o desejado (mas sem saber qual é o comportamento desejado ...) 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!
Ruka284 Posted April 4, 2013 at 05:45 PM Author Report #501683 Posted April 4, 2013 at 05:45 PM o problema e este . Construa um programa em C que por opção do utilizador permita calcular// //o produto entre 2 nuneros inteiros positivos, sem utilizar a operação de multiplicação// //o resultado da divisão entre 2 nuumeros inteiros positivos. Não pode utilizar os operadores "/ " e " * "// //Deve utilizar o mecanisno relativo switch.
pmg Posted April 4, 2013 at 05:51 PM Report #501685 Posted April 4, 2013 at 05:51 PM Os prints dentro dos loops nao sao nada simpaticos. Tu compilaste e correste o programa? Que numeros experimentaste? Qual foi o resultado? Experimenta dividir 18 por 6 ---> o resultado deve dar 3; e nao um numero negativo 🙂 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!
Ruka284 Posted April 4, 2013 at 06:07 PM Author Report #501689 Posted April 4, 2013 at 06:07 PM Na parte da soma, não detectei nenhum erro , na subtracção acho que ha erro
pmg Posted April 4, 2013 at 06:42 PM Report #501699 Posted April 4, 2013 at 06:42 PM Hmmm ... se eu pedir a um programa para me dizer a multiplicacao de 14 por 5 espero qualquer coisa como o primeiro resultado, e nada como o segundo O resultado e 70. O resultado e: 14 O resultado e: 28 O resultado e: 42 O resultado e: 56 O resultado e: 70 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!
Ruka284 Posted April 4, 2013 at 06:53 PM Author Report #501700 Posted April 4, 2013 at 06:53 PM Hmmm ... se eu pedir a um programa para me dizer a multiplicacao de 14 por 5 espero qualquer coisa como o primeiro resultado, e nada como o segundo O resultado e 70. O resultado e: 14 O resultado e: 28 O resultado e: 42 O resultado e: 56 O resultado e: 70 Achas que esta mal ?
pmg Posted April 4, 2013 at 07:11 PM Report #501703 Posted April 4, 2013 at 07:11 PM Como resultado final, para apresentar ao professor, acho que esta mal. Como resultado intermedio, se o usaste para verificar se o programa se estava a portar bem, nao esta mal. Podes usar a mesma tecnica para averiguar o que se passa no case 2. Imprime tambem o valor intermedio da variavel i case (2):do { resultado=resultado-num2; i--; printf("\n O resultado e: %d \n",resultado); printf("O valor de i e: %d\n", i); } while (i > num1); break; 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!
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