Advertisement
d1cor

calculadora.c

Mar 29th, 2017
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. /**
  2.  * @File: calculadora.c
  3.  * @Created: 07 nov 2016
  4.  * @Author: @d1cor - Diego Cordoba / juncotic.com
  5.  * @Descr: Ejemplo de calculadora monolitica
  6.  * @Modified: 28 mar 2018
  7.  */
  8.  
  9.  
  10. #include<stdlib.h>
  11. #include<stdio.h>
  12.  
  13. float suma(float,float);
  14. float resta(float,float);
  15. float mult(float,float);
  16. float division(float,float);
  17. char datos(float*,float*);
  18.  
  19.  
  20. int main(int argc, char** argv) {
  21.  
  22.     float num1,num2, resultado;
  23.     char op;
  24.  
  25.     op=datos(&num1,&num2);
  26.  
  27.     switch(op){
  28.     case '+':
  29.         resultado=suma(num1,num2);
  30.         break;
  31.     case '-':
  32.         resultado=resta(num1,num2);
  33.         break;
  34.     case '*':
  35.         resultado=mult(num1,num2);
  36.         break;
  37.     case '/':
  38.         resultado=division(num1,num2);
  39.         break;
  40.     default:
  41.         printf("Opcion incorrecta\n");
  42.         goto no_result;
  43.     }
  44.  
  45.     printf("Resultado: %.2f\n",resultado);
  46.  
  47. no_result:
  48.  
  49.     return 0;
  50. }
  51.  
  52.  
  53. float suma(float n1,float n2){
  54.     return n1+n2;
  55. }
  56.  
  57.  
  58. float resta(float n1,float n2){
  59.     return n1-n2;
  60. }
  61.  
  62.  
  63. float mult(float n1,float n2){
  64.     return n1*n2;
  65. }
  66.  
  67.  
  68. float division(float n1,float n2){
  69.     return n1/n2;
  70. }
  71.  
  72.  
  73. char datos(float *num1, float *num2){
  74.     printf("Introduzca valor 1: ");
  75.     scanf("%f",num1);
  76.  
  77.     printf("Introduzca valor 2: ");
  78.     scanf("%f",num2);
  79.  
  80.     printf("Introduzca a operacion: (+ - * /) ");
  81.     getchar();
  82.     return getchar();
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement