Forum Pplware

Versão Completa: Ajuda por favor em programa c
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
boas tardes,

estou na licenciatura de redes no ismai e tenho programaçao que estou a dar C tivemos a fazer uma programa que é uma calculadora, ate todo bem foi fazendo.
agora quero polo a correr e fazer as opeçoes que programei i nao tenho resultado s alguem me pode ajuda?

em baixo vai o codigo.

Código:
#include <stdio.h>

int main() {
    setvbuf(stdout, NULL, _IONBF, 0); // Necessario no Eclipse

    int num1, num2;
    int fatNum1 = 1;
    int fatNum2 = 1;
    int i;
    int max;
    printf("Intruduza dois numeros:\n");
    scanf("%d", &num1);
    scanf("%d", &num2);

    unsigned int uop;
    do {
        printf("Escolha uma das seguintes opeçoes.\n");
        printf("1- soma\n");
        printf("2- subtraçao;\n");
        printf("3- mutiplicaçao\n");
        printf("4- diviçao\n");
        printf("5- Fracionario\n");
        printf("6- se é par ou impar\n");
        printf("7- sair do programa\n");
        scanf("%d", &uop);
    } while (uop != 7);

    switch (uop) {
    case 1:
        printf("%d + %d = %d\n", num1, num2, (num1 + num2));
        break;
    case 2:
        printf("%d - %d = %d\n", num1, num2, (num1 - num2));
        break;
    case 3:
        printf("%d x %d = %d\n", num1, num2, (num1 * num2));
        break;
    case 4:
        printf("%d / %d = %f\n", num1, num2, ((float) num1 / num2));
        break;
    case 5: //faturial para os dois numeros
            // faturial para num1

        for (i = num1; i > 1; --i) {
            fatNum1 *= 1;
        }
        printf("\nFatorial de %d = %d", num1, fatNum1);

        for (i = num2; i > 1; --i) {
            fatNum2 *= 1;
        }
        printf("\nFatorial de %d = %d", num2, fatNum2);
        break;
    case 6:
        max = num1 > num2 ? num1 : num2;
        break;
    case 7:
        printf("Fim de programa");
        break;
    default:
        printf("\nuop Invalida!!");

    }
    return 0;
}
Nos 'cases' dentro do switch, o que deves fazer é invocar uma função criada anteriormente. Por exemplo, crias a funcao soma:

Código:
int soma(int param1, int param2){
return param1 + param2;
}

e chamas depois no switch case assim:

Código:
case 1: scanf("%d",&num1);
scanf("%d",&num2);
int resultado = soma(num1, num2);
printf("O resultado da soma e %d\n", resultado);
break;

Isto é só um exemplo funcional, que não significa que esteja devidamente optimizado. Depois deves escrever um código mais optimizado.
ja fiquei a perceber mais uma pouco obrigado pela ajuda.

mas a ideia é no incio do programa receber os dois números e so depois escolher o que quero fazer ex. soma ou multiplicação. depois mostrar o resultado e outra vez o menu e so sai quando neste caso carregar no numero 7
Dei t as bases. Agora tens D puxar um pouco pela cabeça para poderes aprender Smile
URL's de Referência