Ejercicio 2, Tema 5 #include <stdio.h> void leer_valores(unsigned &,unsigned &,char &); int calcula_operacion(unsigned, unsigned, char); int main() { int num1,num2; int resultado; char car='s', op; do{ leer_valores(num1,num2,op); resultado = calcula_operacion(num1,num2,op); printf("\n%u %u %c",num1,num2,op); printf("\nEl resultado de la operacion es %d",resultado); printf("\n¿desea realizar otra operacion (s/n)?:"); scanf(" %c",&car); }while(car=='s'); return 0; } void leer_valores(unsigned &a ,unsigned &b ,char &c) { printf("\nIntroduce operando :"); scanf("%u",&a); printf("\nIntroduce operando :"); scanf("%u",&b); printf("\nIntroduce operador :"); scanf(" %c",&c); } int calcula_operacion(unsigned a ,unsigned b ,char c) { int resultado; switch (c) { case '+': resultado=(int)(a+b); break; case '-': resultado=(int)(a-b); break; case '*': resultado=(int)(a*b); break; case '/': resultado=(int)(a/b); break; } return resultado; } Ejercicio 3, Tema 5. /*Si la letra siguiente es menor o igual que la anterior entonces se suman. En otro caso se le resta el valor anterior y se suma la resta del actual con el anterior*/ #include <stdio.h> #include <conio.h> int valor_arabigo(char); void main() { int valor_act,valor_ant=0,suma=0; char car; printf("\nIntroduce un numero arabigo correcto "); printf("y pulsa enter :"); scanf("%c",&car); while (car!='\n') { valor_act=valor_arabigo(car); if (valor_act>valor_ant) { suma -= valor_ant; suma += valor_act-valor_ant; } else suma += valor_act; valor_ant = valor_act; scanf("%c",&car); } printf("\nEl equivalente arabigo es %d ",suma); getch(); return 0; } int valor_arabigo(char car) { int v; switch (car) { case 'I': v=1; break; case 'V': v=5; break; case 'X': v=10; break; case 'L': v=50; break; case 'C': v=100; break; case 'D': v=500; break; case 'M': v=1000; break; default : v=0; } return v; }