/*Blas Gómez Mora*/ /* Calculadora en C*/ #include#include /*Definición de funciones*/ int menu(); void leeOperadores(int *a,int *b); int suma(int a, int b); int resta(int a, int b); void multiplicacion(int a, int b, float*resultado); float division(int a, int b); float potencia(int a, int b); int factorial(int a); int coeficientebinomial(int n, int k); /*función menú*/ int menu(){ int opcion; printf( "1.Suma\n" "2.Resta\n" "3.Multiplicacion\n" "4.Division\n" "5.Potencia\n" "6.Factorial\n" "7.Coeficiente Binomial\n" "0.Salir\n" "Elige una opcion:\n"); scanf("%d",&opcion); return(opcion); } /*función que lee los valores con los que voy a operar*/ void leeOperadores(int *a,int *b){ printf("dame el valor de a:\n"); /*No necesito & porque a es una dirección de memoria *(*a) que es lo que yo le daba con el ampersan*/ scanf("%d",a); printf("dame el valor de b:\n"); scanf("%d",b); } /*función suma*/ int suma(int a, int b){ int suma; suma=a+b; return(suma); } /*función resta*/ int resta(int a, int b){ int resta; resta=a-b; return(resta); } /*función multiplicación*/ void multiplicacion(int a, int b, float *resultado){ *resultado=a*b; } /*función división*/ float division(int a, int b){ float division; division=(float)a/b; return(division); } /*función potencia*/ float potencia(int a, int b){ float resultado; if(b==0){ return(1); } resultado=(float)a*potencia(a,b-1); return(resultado); } /*funcion factorial*/ int factorial(int a){ int resultado; if(a==1){ return(1); } resultado=a*factorial(a-1); return(resultado); } /*función que calcula el coeficiente Binomial*/ int coeficientebinomial(int n, int k){ int numerador=factorial(n); int denominador; denominador=k; return (numerador/denominador); } /*función principal*/ int main(void){ /*Definición de variables*/ float resultado,d,p; int v,s,r,m,a,b,f,cb; v=menu(); //Asigno la opción que devuelve el menú a v /*la variable v que almacena el valor que devuelve la función menú la usaré para elegir la constante que determinará el caso que elige el switch. Además añado de nuevo la asignación dentro de cada caso del switch para que no termine el programa hasta que no elijamos la opción salir, lo cual rompería la condición del while y saldría del bucle*/ while(v!=0){ switch(v){ case 1 :{ leeOperadores(&a,&b); //Ejecuto la funcion que lee los operadores s=suma(a,b); printf("%d+%d=%d\n\n",a,b,s); v=menu(); } case 2 :{ leeOperadores(&a,&b); r=resta(a,b); printf("%d-%d=%d\n",a,b,r); v=menu(); } case 3 :{ leeOperadores(&a,&b); multiplicacion(a,b,&resultado); printf("%d*%d=%f\n",a,b,resultado); v=menu(); } case 4 :{ leeOperadores(&a,&b); d=division(a,b); printf("%d:%d=%f\n",a,b,d); v=menu(); } case 5 :{ leeOperadores(&a,&b); p=potencia(a,b); printf("%d^%d=%f\n",a,b,p); v=menu(); } case 6 :{ printf("Introduce un valor:\n"); scanf("%d",&a); f=factorial(a); printf("%d!=%d\n",a,f); v=menu(); } case 7 :{ leeOperadores(&a,&b); cb=coeficientebinomial(a,b); printf("%d\n\n",cb); v=menu(); } default : printf("opcion incorrecta\n"); v=menu(); } } printf("Hasta pronto!"); } /* Esta es otra opción para hacer lo mismo que en el switch. while(v!=0){ if(v==1){ leeOperadores(&a,&b); //Ejecuto la funcion que lee los operadores s=suma(a,b); printf("%d+%d=%d\n",a,b,s); }else if(v==2){ leeOperadores(&a,&b); r=resta(a,b); printf("%d-%d=%d\n",a,b,r); }else if(v==3){ leeOperadores(&a,&b); multiplicacion(a,b,&resultado); printf("%d*%d=%f\n",a,b,resultado); }else if(v==4){ leeOperadores(&a,&b); d=division(a,b); printf("%d:%d=%f\n",a,b,d); }else if(v==5){ leeOperadores(&a,&b); p=potencia(a,b); printf("%d^%d=%f\n",a,b,p); }else if(v==6){ printf("Introduce un valor:\n"); scanf("%d",&a); f=factorial(a); printf("%d!=%d\n",a,f); } }*/
SketchUp
Empujar y tirar, rectángulo, arco, círculo, guía, crear grupo, pintar
SketchUp
cambiar opacidad
AutoCAD: Practica 7
Círculo, polígono circunscrito, LTScale
AutoCAD: Practica 8
Circunferencia TTR, tangente, recorar
AutoCAD: Práctica 4
SNAPANG
sábado, 22 de noviembre de 2014
Definición y llamada de funciones: Calculadora en C.
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario