Advertisement
Guest User

Calc Don v0.7

a guest
Oct 20th, 2012
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 48.66 KB | None | 0 0
  1. #ifdef __unix__                    
  2.   #include<unistd.h>
  3.   #define limpiar system("clear")
  4.   #define parar sleep(2)
  5. #elif defined _WIN32               
  6.   #include<windows.h>
  7.   #define limpiar system("cls")
  8.   #define parar Sleep(2500)
  9. #endif
  10. #define PI 3.14159265
  11. #include<math.h>
  12. #include<stdio.h>  
  13.  
  14. main(){
  15.      //Variables principales de uso general
  16.     double numero1, numero2, numero3, numero4, numero5, res;
  17.     long long int opc1, opc2, opc3, opcioniva, num1, num2, num3, num4, num5, devuelve;
  18.     char producto[25];  
  19.     //Nombre del programa - Windows
  20.     HWND ocultar;
  21.     ocultar=GetForegroundWindow();
  22.     SetWindowText(ocultar,"Calc Don v0.7");
  23.     //Archivo de texto generado
  24.     FILE *log;
  25.  do{   
  26.     limpiar;
  27.                                                                                    
  28.     printf("   ______    _______    _         ______         ______    ______    _     _  \n");
  29.     printf("  |  ____|  |  ___  |  | |       |  ____|       |  __  \\  |  __  |  | \\   | | \n");
  30.     printf("  | |       | |   | |  | |       | |            | |   \\ | | |  | |  |  \\  | | \n");
  31.     printf("  | |       | |___| |  | |       | |            | |   | | | |  | |  |   \\ | | \n");  
  32.     printf("  | |____   | |   | |  | |____   | |____        | |_ / /  | |__| |  | |\\ \\| | \n");
  33.     printf("  |______|  |_|   |_|  |______|  |______|       |_____/   |______|  |_| \\___| \n\n");
  34.     printf(" ==============================================================================\n\n");
  35.    
  36.     printf("\t\t\t###############################\n");
  37.     printf("\t\t\t#                             #\n");    
  38.     printf("\t\t\t# Selecciona una categor%ca:   #\n",161);
  39.     printf("\t\t\t#                             #\n");
  40.     printf("\t\t\t# (1)  B%csico                #\n",160);
  41.     printf("\t\t\t# (2)  Trigonometr%ca         #\n",161);
  42.     printf("\t\t\t# (3)  Avanzado              #\n");
  43.     printf("\t\t\t# (4)  Opciones              #\n");
  44.     printf("\t\t\t# (5)  Acerca de...          #\n");
  45.     printf("\t\t\t# (6)  Salir                 #\n");
  46.     printf("\t\t\t#                Versi%cn 0.7  #\n",162);
  47.     printf("\t\t\t#                       #\n");
  48.     printf("\t\t\t###############################\n");
  49.     //Animacion de transiccion
  50.     for(int i=0; i<=79; i++)
  51.         printf("_");
  52.     for(int i=0; i<=79; i++){
  53.         printf("=");
  54.         Sleep(1000/80);
  55.     }
  56.              printf(">>> ");
  57.              //Evita error de ingreso de carácter en var numérica
  58.              devuelve = scanf("%lld", &opc1);
  59.              limpiar;      
  60.              while(devuelve!=1){
  61.                 limpiar;            
  62.                 printf("   ______    _______    _         ______         ______    ______    _     _  \n");
  63.                 printf("  |  ____|  |  ___  |  | |       |  ____|       |  __  \\  |  __  |  | \\   | | \n");
  64.                 printf("  | |       | |   | |  | |       | |            | |   \\ | | |  | |  |  \\  | | \n");
  65.                 printf("  | |       | |___| |  | |       | |            | |   | | | |  | |  |   \\ | | \n");  
  66.                 printf("  | |____   | |   | |  | |____   | |____        | |_ / /  | |__| |  | |\\ \\| | \n");
  67.                 printf("  |______|  |_|   |_|  |______|  |______|       |_____/   |______|  |_| \\___| \n\n");
  68.                 printf(" ==============================================================================\n\n");
  69.    
  70.                 printf("\t\t\t###############################\n");
  71.                 printf("\t\t\t#                             #\n");    
  72.                 printf("\t\t\t# Selecciona una categor%ca:   #\n",161);
  73.                 printf("\t\t\t#                             #\n");
  74.                 printf("\t\t\t# (1)  B%csico                #\n",160);
  75.                 printf("\t\t\t# (2)  Trigonometr%ca         #\n",161);
  76.                 printf("\t\t\t# (3)  Avanzado              #\n");
  77.                 printf("\t\t\t# (4)  Opciones              #\n");
  78.                 printf("\t\t\t# (5)  Acerca de...          #\n");
  79.                 printf("\t\t\t# (6)  Salir                 #\n");
  80.                 printf("\t\t\t#                Versi%cn 0.7  #\n",162);
  81.                 printf("\t\t\t#                       #\n");
  82.                 printf("\t\t\t###############################\n");
  83.                 printf("________________________________________________________________________________");
  84.                 printf("================================================================================");
  85.                 printf(">>> ");        
  86.                 getchar();
  87.                 devuelve=scanf("%lld",&opc1);
  88.             }
  89.              
  90.              switch(opc1){                          
  91.                 case 1:  //Basico
  92.                 do{
  93.                   limpiar;
  94.                   printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t    Volver(0)",162);
  95.                   printf("\n -------------------------------\n\n");
  96.                   printf(" ####################################\n");
  97.                   printf(" #                    #\n");
  98.                   printf(" # 1-Suma\t\t5-Ra%cz      #\n",161);
  99.                   printf(" # 2-Resta\t\t6-Potencia  #\n");
  100.                   printf(" # 3-Multiplicaci%cn\t7-Logaritmo #\n",162);
  101.                   printf(" # 4-Divisi%cn\t\t8-Factorial #\n",162);
  102.                   printf(" #                    #\n");
  103.                   printf(" ####################################\n\n");
  104.                   printf(" Elecci%cn>>> ",162);
  105.                   scanf("%lld", &opc2);
  106.                   limpiar;                
  107.                     switch(opc2){
  108.                                        
  109.                          case 1:      
  110.                           printf("\nIntroduce el primer n%cmero a sumar:\t",163);
  111.                           scanf("%lf",&numero1);
  112.                           printf("Introduce el segundo n%cmero a sumar:\t",163);
  113.                           scanf("%lf",&numero2);                                         
  114.                           printf("\nEl resultado es:  %lf",numero1+numero2);
  115.                           log=fopen("Resultado.log","a");
  116.                           fprintf(log,"Suma\n");
  117.                           fprintf(log,"---------\n\n");
  118.                           fprintf(log,"%lf + %lf = %lf\n\n",numero1,numero2,numero1+numero2);
  119.                           fclose(log);   
  120.                           getchar();  
  121.                           break;
  122.                       case 2:
  123.                           printf("\nIntroduce el primer n%cmero a restar:\t",163);
  124.                           scanf("%lf",&numero1);
  125.                           printf("Introduce el segundo n%cmero a restar:\t",163);
  126.                           scanf("%lf",&numero2);  
  127.                           printf("\nEl resultado es:  %lf",numero1-numero2);
  128.                           log=fopen("Resultado.log","a");
  129.                           fprintf(log,"Resta\n");
  130.                           fprintf(log,"---------\n\n");
  131.                           fprintf(log,"%lf - %lf = %lf\n\n",numero1,numero2,numero1-numero2);
  132.                           fclose(log);   
  133.                           getchar();
  134.                           break;
  135.                       case 3:
  136.                           printf("\nIntroduce el primer multiplicante:\t");
  137.                           scanf("%lf",&numero1);
  138.                           printf("Introduce el segundo multiplicante :\t");
  139.                           scanf("%lf",&numero2);  
  140.                           printf("\nEl resultado es:  %lf",numero1*numero2);
  141.                           log=fopen("Resultado.log","a");
  142.                           fprintf(log,"Multiplicación\n");
  143.                           fprintf(log,"---------------------\n\n");
  144.                           fprintf(log,"%lf x %lf = %lf\n\n",numero1,numero2,numero1*numero2);
  145.                           fclose(log);
  146.                           getchar();
  147.                           break;
  148.                       case 4:
  149.                           printf("\nIntroduce el dividendo(numero entero):\t"); //Dividendo=num1   Divisor=num2   Cociente=num3   Resto=num4    
  150.                           scanf("%lld",&num1);
  151.                           printf("Introduce el divisor(numero entero):\t");
  152.                           scanf("%lld",&num2);
  153.                           num3=num1/num2;            //cociente=dividendo/divisor;    
  154.                           num4=num1-(num3*num2);  //resto=dividendo-(cociente*divisor);
  155.                           printf("\nEl cociente es: %lld\nEl resto es: %lld",num3,num4);
  156.                           log=fopen("Resultado.log","a");
  157.                           fprintf(log,"División\n");
  158.                           fprintf(log,"------------\n\n");
  159.                           fprintf(log,"%lld / %lld = %lld\n",num1,num2,num1/num2);
  160.                           fprintf(log,"Dividendo: %lld\nDivisor: %lld\nCociente: %lld\nResto: %lld\n\n",num1,num2,num3,num4);
  161.                           fclose(log);
  162.                           getchar();                                               
  163.                           break;
  164.                       case 5:
  165.                           printf("\nIntroduce el n%cmero del cual deseas sacar la ra%cz:\t",163,161);
  166.                           scanf("%lf",&numero1);        
  167.                           printf("\nEl resultado es:  %lf", sqrt(numero1));  
  168.                           log=fopen("Resultado.log","a");
  169.                           fprintf(log,"Raíz\n");
  170.                           fprintf(log,"-------\n\n");
  171.                           fprintf(log,"La raíz cuadrada de %lf es %lf\n\n",numero1,sqrt(numero1));
  172.                           fclose(log);        
  173.                           getchar();      
  174.                           break;
  175.                       case 6:
  176.                           printf("\nIntroduce la base:\t");
  177.                           scanf("%lf",&numero1);
  178.                           printf("Introduce el exponente:\t");
  179.                           scanf("%lf",&numero2);
  180.                           printf("\nEl resultado es:  %lf",pow(numero1,numero2));    
  181.                           log=fopen("Resultado.log","a");
  182.                           fprintf(log,"Potencia\n");
  183.                           fprintf(log,"-------------\n\n");
  184.                           fprintf(log,"El numero %lf elevado a %lf es %lf\n\n",numero1,numero2,pow(numero1,numero2));
  185.                           fclose(log);      
  186.                           getchar();                    
  187.                           break;
  188.                       case 7:
  189.                           printf("\nIntroduce el n%cmero (base 10 por defecto):\t",163);
  190.                           scanf("%lf",&numero1);                        
  191.                           printf("\nEl resultado es:  %lf",log10(numero1));
  192.                           log=fopen("Resultado.log","a");
  193.                           fprintf(log,"Logaritmo\n");
  194.                           fprintf(log,"---------------\n\n");
  195.                           fprintf(log,"El logaritmo de %lf en base 10 es %lf\n\n",numero1,log10(numero1));
  196.                           fclose(log);
  197.                           getchar();                        
  198.                           break;
  199.                       case 8:          
  200.                           long long int fact=1;
  201.                           printf("Introduce un n%cmero:\t",163); scanf("%lld",&num1);
  202.                           log=fopen("Resultado.log","a");
  203.                           fprintf(log,"Factorial\n");
  204.                           fprintf(log,"--------------\n\n");
  205.                             for(int i=2; i<=num1; i++){
  206.                               fact = fact * i;
  207.                             }
  208.                           printf("Su factorial es:\t%lld ",fact);
  209.                           fprintf(log,"El factorial de %lld es %lld\n\n",num1,fact);
  210.                           fclose(log);
  211.                           getchar();                    
  212.                           break;                                           
  213.                         }
  214.                         while(getchar() !='\n');                                                         
  215.                     }while(opc2!=0);   
  216.                         break;     
  217.                                                                
  218.                 case 2:  //Trigonometria
  219.                 do{
  220.                   limpiar;
  221.                   printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t    Volver(0)",162);
  222.                   printf("\n -------------------------------\n\n");
  223.                   printf(" ##########################################################\n");
  224.                   printf(" #                                  #\n");
  225.                   printf(" # 1-Seno\t4-Cosecante\t7-Area de un triangulo      #\n",161);
  226.                   printf(" # 2-Coseno\t5-Secante\t8-Angulos de un triangulo #\n");
  227.                   printf(" # 3-Tangente\t6-Cotangente                 #\n",162);
  228.                   printf(" #                                  #\n");
  229.                   printf(" ##########################################################\n\n");
  230.                   printf(" Elecci%cn>>> ",162);
  231.                   scanf("%lld", &opc2);
  232.                   limpiar;
  233.                     switch(opc2){
  234.                        
  235.                       case 1:
  236.                           printf("\nIntroduce el n%cmero a hallar el seno:\t",163);
  237.                           scanf("%lf",&numero1);                        
  238.                           printf("\nEl resultado es:  %lf",sin(numero1));
  239.                           log=fopen("Resultado.log","a");
  240.                           fprintf(log,"Seno\n");
  241.                           fprintf(log,"--------\n\n");
  242.                           fprintf(log,"El seno de %lf es %lf\n\n",numero1,sin(numero1));
  243.                           fclose(log);
  244.                           getchar();                        
  245.                           break;
  246.                       case 2:
  247.                           printf("\nIntroduce el n%cmero a hallar el coseno:\t",163);
  248.                           scanf("%lf",&numero1);                    
  249.                           printf("\nEl resultado es:  %lf",cos(numero1));
  250.                           log=fopen("Resultado.log","a");
  251.                           fprintf(log,"Coseno\n");
  252.                           fprintf(log,"-----------\n\n");
  253.                           fprintf(log,"El coseno de %lf es %lf\n\n",numero1,cos(numero1));
  254.                           fclose(log);      
  255.                           getchar();                
  256.                           break;
  257.                       case 3:
  258.                           printf("\nIntroduce el n%cmero a hallar la tangente:\t",163);
  259.                           scanf("%lf",&numero1);
  260.                           printf("\nEl resultado es:  %lf",tan(numero1));  
  261.                           log=fopen("Resultado.log","a");
  262.                           fprintf(log,"Tangente\n");
  263.                           fprintf(log,"--------------\n\n");
  264.                           fprintf(log,"La tangente de %lf es %lf\n\n",numero1,tan(numero1));
  265.                           fclose(log);    
  266.                           getchar();                      
  267.                           break;                                          
  268.                       case 4:
  269.                           printf("\nIntroduce el n%cmero a hallar el cosecante:\t",163);
  270.                           scanf("%lf",&numero1);
  271.                           printf("\nEl resultado es:  %lf",asin(numero1));
  272.                           log=fopen("Resultado.log","a");
  273.                           fprintf(log,"Cosecante\n");
  274.                           fprintf(log,"----------------\n\n");
  275.                           fprintf(log,"La cosecante de %lf es %lf\n\n",numero1,asin(numero1));
  276.                           fclose(log);  
  277.                           getchar();                        
  278.                           break;
  279.                       case 5:
  280.                           printf("\nIntroduce el n%cmero a hallar el secante:\t",163);
  281.                           scanf("%lf",&numero1);
  282.                           printf("\nEl resultado es:  %lf",acos(numero1));
  283.                           log=fopen("Resultado.log","a");
  284.                           fprintf(log,"Secante\n");
  285.                           fprintf(log,"-------------\n\n");
  286.                           fprintf(log,"La secante de %lf es %lf\n\n",numero1,acos(numero1));
  287.                           fclose(log);
  288.                           getchar();                        
  289.                           break;
  290.                       case 6:
  291.                           printf("\nIntroduce el n%cmero a hallar la cotangente:\t",163);
  292.                           scanf("%lf",&numero1);
  293.                           printf("\nEl resultado es:  %lf",atan(numero1));
  294.                           log=fopen("Resultado.log","a");
  295.                           fprintf(log,"Cotangente\n");
  296.                           fprintf(log,"-----------------\n\n");
  297.                           fprintf(log,"La cotangente de %lf es %lf\n\n",numero1,atan(numero1));
  298.                           fclose(log);
  299.                           getchar();                        
  300.                           break;            
  301.                       case 7:                          
  302.                           printf("\nIntroduce la base:\t");
  303.                           scanf("%lf",&numero1);
  304.                           printf("Introduce la altura:\t");
  305.                           scanf("%lf",&numero2);
  306.                           res=numero1*numero2/2;
  307.                           printf("\nEl %crea del triangulo es %lf",160,res);
  308.                           log=fopen("Resultado.log","a");
  309.                           fprintf(log,"Área del triángulo\n");
  310.                           fprintf(log,"---------------------------\n\n");
  311.                           fprintf(log,"Para la base %lf y la altura %lf el área es %lf\n\n",numero1,numero2,res);
  312.                           fclose(log);
  313.                           getchar();
  314.                           break;
  315.                       case 8:
  316.                           double a, b, c, A, B, C;
  317.                           printf("Introduce lado a: "); scanf("%lf",&a);
  318.                           printf("Introduce lado b: "); scanf("%lf",&b);
  319.                           printf("Introduce lado c: "); scanf("%lf",&c);
  320.                           log=fopen("Resultado.log","a");
  321.                           fprintf(log,"Conocer ángulos de un triángulo\n");
  322.                           fprintf(log,"-----------------------------------------------\n\n");
  323.                           fprintf(log,"Si el lado A es %lf, el B es %lf y el C %lf...",a,b,c);
  324.                           A = acos((b*b+c*c-a*a)/(2*b*c))*180/PI;
  325.                           B = acos((a*a+c*c-b*b)/(2*a*c))*180/PI;
  326.                           C = acos((a*a+b*b-c*c)/(2*a*b))*180/PI;
  327.                             if(A == 90 || B == 90 || C == 90){                     
  328.                               printf("\nEl tri%cngulo es rect%cngulo",160,160);
  329.                               fprintf(log,"el triángulo es rectángulo\n");
  330.                             }
  331.                             if(A < 90 && B < 90 && C < 90){
  332.                               printf("\nEl tri%cngulo es acut%cngulo",160,160);
  333.                               fprintf(log,"el triángulo es acutángulo\n");
  334.                             }
  335.                             if(A > 90 || B > 90 || C > 90){                    
  336.                               printf("\nEl tri%cngulo es obtus%cngulo",160,160);
  337.                               fprintf(log,"el triángulo es obtusángulo\n");
  338.                             }
  339.                           printf("\n\nSus %cngulos son: \nA:\t%lf\nB:\t%lf\nC:\t%lf",160,A,B,C);
  340.                           fprintf(log,"\nSus ángulos son: \nA:\t%lf\nB:\t%lf\nC:\t%lf\n\n",A,B,C);
  341.                           fclose(log);
  342.                           getchar();                               
  343.                           break;                               
  344.                     }while(getchar() !='\n');
  345.                 }while(opc2!=0);
  346.                         break; 
  347.                        
  348.                 case 3: //Avanzado             
  349.                 do{
  350.                   limpiar;
  351.                   printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t    Volver(0)\n",162);
  352.                   printf(" ------------------------------\n\n");
  353.                   printf(" #############################################################################\n");
  354.                   printf(" #                                             #\n");
  355.                   printf(" # 1-Conocer m%cltiplos\t\t5-Producto de 2 matrices\t9-Conversor  #\n",161);
  356.                   printf(" # 2-Teorema de Pit%cgoras\t6-Conocer n%cmeros primos\t10-Fibonacci #\n");
  357.                   printf(" # 3-Teorema del Binomio\t7-Area de un c%crculo\t\t11-MCD       #\n",162);
  358.                   printf(" # 4-Calcular un descuento\t8-Longitud de un c%crculo\t12-MCM       #\n");
  359.                   printf(" #                                             #\n");
  360.                   printf(" #############################################################################\n\n");
  361.                   printf(" Elecci%cn>>> ",162);
  362.                   scanf("%lld",&opc2);
  363.                   limpiar; 
  364.                     switch(opc2){
  365.                                                
  366.                       case 1:    
  367.                         printf("\nIntroduce el numero a conocer sus m%cltiplos:\t ",163);//num1=Numero(num) num2=Cifras num3=Multiplo(mp)
  368.                         scanf("%lld",&num1);
  369.                         printf("%cHasta que cifras deseas conocerlo?:\t",168,num1);
  370.                         scanf("%lld",&num2);
  371.                         log=fopen("Resultado.log","a");
  372.                         fprintf(log,"Conocer los múltiplos\n");
  373.                         fprintf(log,"--------------------------------\n\n");
  374.                         fprintf(log,"Los múltiplos del %lld hasta el %lld son...\n\n",num1,num2);
  375.                         printf("\n");                                
  376.                              for(num3=num1;num3<=num2;num3=num3+num1)
  377.                              {
  378.                                printf("%lld ",num3);
  379.                                fprintf(log,"%lld ",num3);
  380.                              }          
  381.                              fprintf(log,"\n\n");
  382.                              fclose(log);    
  383.                              getchar();                                                                                                                                        
  384.                         break;
  385.                       case 2:
  386.                          do{       
  387.                              limpiar;          
  388.                              int x=1;
  389.                              double c, C, h;                   
  390.                              printf("\n %cQu%c deseas hacer?\n",168,130);
  391.                              printf(" ------------------\n\n");
  392.                              printf(" 1-Hallar un cateto\n 2-Hallar la hipotenusa\n 3-Volver\t\t");
  393.                              scanf("%lld", &opc3);
  394.                              log=fopen("Resultado.log","a");
  395.                              fprintf(log,"Hallar ángulos de un triángulo\n");
  396.                              fprintf(log,"-------------------------------------------\n\n");
  397.                              limpiar;
  398.                                if (opc3 == 1) {
  399.                                  printf("\n Introduzca el valor de un cateto: ");
  400.                                  scanf("%lf", &c);
  401.                                  printf(" Introduzca el valor de la hipotenusa: ");
  402.                                  scanf("%lf", &h);
  403.                                    if (c<h){
  404.                                      C = sqrt(h*h - c*c);
  405.                                      printf("\n El cateto tiene un valor de: %lf\n", C);
  406.                                      fprintf(log,"Hallando un cateto...Si el cateto vale %lf y la hipotenusa vale %lf...entonces el otro cateto vale %f\n\n",c,h,C);  
  407.                                      while(getchar() !='\n');  
  408.                                      getchar();                                                                        
  409.                                    }else {
  410.                                      printf("\n Error, no puede ser mayor el valor del cateto que el de la hipotenusa");
  411.                                      while(getchar() !='\n');
  412.                                      getchar();}
  413.                                    }                           
  414.                                    else if (opc3 == 2) {
  415.                                      printf("\n Introduzca el valor del cateto opuesto: ");
  416.                                      scanf("%lf", &c);
  417.                                      printf(" Introduzca el valor del cateto adyacente: ");
  418.                                      scanf("%lf", &C);
  419.                                      h = sqrt(C*C + c*c);
  420.                                      printf("\n El valor de la hipotenusa es: %lf\n", h);
  421.                                      fprintf(log,"Hallando la hipotenusa...Si el cateto opuesto vale %lf y el cateto adyacente vale %lf...entonces la hipotenusa es %lf\n\n",c,C,h);
  422.                                      while(getchar() !='\n');  
  423.                                      getchar();                                      
  424.                                    }                       
  425.                                 fclose(log);                               
  426.                         }while(opc3!=3);                       
  427.                         break;                     
  428.                       case 3:
  429.                         long long n, k, nf, kf, resta, restaf, v, w;
  430.                         printf("\nIntroduce el valor de n: ");
  431.                         while(getchar() !='\n');  
  432.                         scanf("%lld",&n);
  433.                         printf("\nIntroduce el valor de k: ");
  434.                         scanf("%lld",&k);
  435.                         log=fopen("Resultado.log","a");
  436.                         fprintf(log,"Teorema del Binomio\n");
  437.                         fprintf(log,"-------------------------------\n\n");
  438.                         fprintf(log,"Si el valor de n es %lld y el de k es %lld...\n",n,k);                    
  439.                         nf = 1;
  440.                         kf = 1;
  441.                         resta = n - k;
  442.                         restaf = 1;
  443.                              while ( n > 1 ){   /* factorial de n */
  444.                               nf *= n--;
  445.                               }
  446.                             while ( k > 1 ){   /* factorial de k */
  447.                               kf *= k--;
  448.                               }
  449.                             while ( resta > 1 ){   /* factorial de (n - k) */
  450.                               restaf *= resta--;
  451.                               }
  452.                           v = kf * restaf; /* k! * (n - k)! */
  453.                           w = nf / v; /* n! / (k! * (n - k)!) */
  454.                         /* resultados */
  455.                         printf( "\nn! = %lld\n"
  456.                         "k! = %lld\n"
  457.                         "(n - k)! = %lld\n"
  458.                         "k! * (n - k)! = %lld\n"
  459.                         "n! / [k! (n - k)!] = %lld\n"
  460.                         "--------------------------\n"
  461.                         "Resultado final (ncr): %lld\n", nf, kf, restaf, v, w, w );  
  462.                         fprintf(log,"\nn! = %lld\n"
  463.                         "k! = %lld\n"
  464.                         "(n - k)! = %lld\n"
  465.                         "k! * (n - k)! = %lld\n"
  466.                         "n! / [k! (n - k)!] = %lld\n"
  467.                         "--------------------------\n"
  468.                         "Resultado final (ncr): %lld\n\n", nf, kf, restaf, v, w, w );  
  469.                         fclose(log);        
  470.                         getchar();          
  471.                         break;  
  472.                       case 4:                                            
  473.                         printf("\nIntroduce el nombre del producto:    ");
  474.                         while(getchar() !='\n');  
  475.                         fgets(producto, sizeof(producto), stdin);
  476.                         producto[strlen(producto)-1] = '\0';
  477.                         printf("\n%cDicho producto incluye IVA?:\n\n1-Si      2-No    ",168);
  478.                         log=fopen("Resultado.log","a");
  479.                         fprintf(log,"Calcular un descuento\n");
  480.                         fprintf(log,"---------------------------------\n\n");
  481.                         scanf("%lld", &opcioniva);
  482.                             if(opcioniva==1){
  483.                               printf("\nIntroduce el precio del producto:\t");   //Precio=numero1   Descuento=numero2   Preciodesc=numero3
  484.                               scanf("%lf",&numero1);                               //Precioiva=numero4   Precioiva2=numero5  
  485.                               printf("Introduce su descuento en porcentaje:\t");
  486.                               scanf("%lf",&numero2);
  487.                               numero3=numero1*numero2/100;
  488.                               res=numero1-numero3;
  489.                               printf("\nEl descuento del %s es de %lf euros", producto, numero3);
  490.                               printf("\n\nEl precio final del %s es de %lf euros", producto, res);
  491.                               fprintf(log,"El producto '%s' que cuesta %lf euros tiene un descuento del %lf por ciento, entonces...\n\nTiene una rebaja de %lf euros y su precio final es de %lf euros.\n\n",producto,numero1,numero2,numero3,res);                                                  
  492.                             }else{
  493.                               printf("\nIntroduce el precio del producto:\t");
  494.                               scanf("%lf",&numero1);
  495.                               printf("Introduce su descuento en porcentaje:\t");
  496.                               scanf("%lf",&numero2);
  497.                               numero4=numero1*18/100;
  498.                               numero5=numero4+numero1;
  499.                               numero3=numero5*numero2/100;
  500.                               res=numero5-numero3;
  501.                               printf("\nEl precio del %s con iva es de %lf euros\n", producto, numero5);  
  502.                               printf("\nEl descuento del %s es de %lf euros", producto, numero3);
  503.                               printf("\n\nEl precio final del %s es de %lf euros", producto, res);    
  504.                               fprintf(log,"El producto '%s' que cuesta %lf euros tiene un descuento del %lf por ciento, entonces...\n\nTiene una rebaja de %lf euros y su precio final es de %lf euros.\n\n",producto,numero1,numero2,numero3,res);                                                          
  505.                               }                            
  506.                               fclose(log);
  507.                               getchar();                  
  508.                               break;
  509.                       case 5:      
  510.                         long long int n3,m3,o3,p3,i3,j3,k3,a3[10][10],b3[10][10],c3[10][10];                   
  511.                         log=fopen("Resultado.log","a");
  512.                         fprintf(log,"Producto de 2 matrices\n");
  513.                         fprintf(log,"----------------------------------\n\n");                             
  514.                         printf("\n\n%cCuantas filas tendra la matriz A?: ",168);
  515.                         scanf("%lld", &m3);
  516.                         printf("\n%cCuantas columnas tendra la matriz A?: ",168);
  517.                         scanf("%lld", &n3);
  518.                         printf("\n%cCuantas filas tiene la matriz B?: ",168);
  519.                         scanf("%lld", &o3);
  520.                         printf("\n%cCuantas columnas tendra la matriz B?: ",168);
  521.                         scanf("%lld", &p3);
  522.                         fprintf(log,"Si la matriz A tiene %lld filas y %lld columnas, y la matriz B tiene %lld filas y %lld columnas...\n\n",m3,n3,o3,p3);                         
  523.                             /*Reconoce si se puede realizar la multiplicacion*/
  524.                             if(m3!=p3){
  525.                               printf("\n\nEl n%cmero de columnas de la matriz \"A\" es diferente al n%cmero de filas \nde la matriz \"B\"",163,163);
  526.                               printf("\n\nEl producto matricial no es posible de realizar.\n\n");  
  527.                               fprintf(log,"No se ha podido realizar porque el n%cmero de columnas de la matriz A es diferente al n%cmero de filas de la matriz B\n\n",163);
  528.                               fclose(log); 
  529.                               while(getchar() !='\n');  
  530.                               getchar();
  531.                               return 0;                    
  532.                             }
  533.                             for (i3=1;i3<=m3;i3++){   /*Ciclo anidado que captura la matriz A*/
  534.                               for (j3=1;j3<=n3;j3++){
  535.                               printf("\nDame el elemento A(%lld,%lld)(fila/columna): ", i3,j3);
  536.                               scanf("%lld", &a3[i3][j3]);
  537.                               fprintf(log,"El elemento A(%lld,%lld)(fila/columna): es %lld\n",i3,j3,a3[i3][j3]);
  538.                               }
  539.                             }
  540.                             fprintf(log,"\n");
  541.                             for (i3=1;i3<=o3;i3++){ /*Ciclo anidado que captura la matriz B*/
  542.                               for (j3=1;j3<=p3;j3++){
  543.                               printf("\nDame el elemento B(%lld,%lld)(fila/columna): ", i3,j3);
  544.                               scanf("%lld", &b3[i3][j3]);
  545.                               fprintf(log,"El elemento B(%lld,%lld)(fila/columna): es %lld\n",i3,j3,b3[i3][j3]);
  546.                             }
  547.                             }
  548.                             for (i3=1;i3<=m3;i3++){  /*Ciclo anidado que multiplica las 2 matrices*/
  549.                               for (j3=1;j3<=p3;j3++){
  550.                               c3[i3][j3]=0; /*Limpia la variable para entrar de nuevo al for*/
  551.                               for (k3=1;k3<=n3;k3++);
  552.                               c3[i3][j3]=(c3[i3][j3]+a3[i3][k3])*b3[k3][j3];
  553.                              }
  554.                             }
  555.                             printf("\n\nLa matriz resultante de la multiplicacion es: \n");
  556.                             fprintf(log,"\nEl valor de la matriz resultante es: ");
  557.                             /*Ciclo que imprime la matriz resultante*/
  558.                             for (i3=1;i3<=m3;i3++);{
  559.                               printf("\n");
  560.                               for(j3=1;j3<=p3;j3++);
  561.                               printf(" %lld ",c3[i3][j3]);
  562.                               fprintf(log," %lld ",c3[i3][j3]);
  563.                             }
  564.                             fprintf(log,"\n\n",c3[i3][j3]);
  565.                             fclose(log);
  566.                             getchar();
  567.                             break;    
  568.                       case 6:      
  569.                             log=fopen("Resultado.log","a");
  570.                             fprintf(log,"Conocer numeros primos\n");
  571.                             fprintf(log,"-------------------------------------\n\n");                                                  
  572.                             printf("\nIntroduce el l%cmite de numeros:\t",161); scanf("%lld",&num1); //num1=n  num2=c  num3=c2  num4=res  num5=nc
  573.                             fprintf(log,"Para el límite de numeros primos %lld, dichos primos son:\n\n",num1);
  574.                             for(num2=1;num2<=num1;num2++){
  575.                               for(num3=1;num3<=num2;num3++){
  576.                                 num4=num2%num3;
  577.                                   if(num4==0){
  578.                                     num5=num5+1;
  579.                                     }
  580.                                 }
  581.                                   if(num5==2){
  582.                                     printf("%lld ",num2);
  583.                                     fprintf(log,"%lld ",num2);
  584.                                 }
  585.                                 num5=0;
  586.                             }  
  587.                             fprintf(log,"\n\n");
  588.                             fclose(log);
  589.                             getchar();                     
  590.                             break;
  591.                       case 7:
  592.                         log=fopen("Resultado.log","a");
  593.                         fprintf(log,"Área de una Circunferencia\n");
  594.                         fprintf(log,"----------------------------------------------\n\n");                               
  595.                         printf("Introduce el radio: ");            
  596.                         scanf("%lf",&numero1);  
  597.                         res=3.1416*(numero1*numero1);
  598.                         printf("\n\nEl %crea del c%crculo es %lf",160,161,res);
  599.                         fprintf(log,"Si el radio es %lf, su área es %lf\n\n",numero1,res);
  600.                         fclose(log);   
  601.                         getchar();
  602.                         break;                                                 
  603.                       case 8:          
  604.                         log=fopen("Resultado.log","a");
  605.                         fprintf(log,"Longitud de una Circunferencia\n");
  606.                         fprintf(log,"----------------------------------------------\n\n");
  607.                         printf("Introduce el radio: ");            
  608.                         scanf("%lf",&numero1);  
  609.                         res=(2*3.1416)*numero1;
  610.                         printf("\n\nLa longitud del c%crculo es %lf",161,res);
  611.                         fprintf(log,"Si el radio es %lf, su longitud es %lf\n\n",numero1,res); 
  612.                         fclose(log);   
  613.                         getchar();
  614.                         break;                                     
  615.                       case 9:
  616.                           log=fopen("Resultado.log","a");
  617.                           fprintf(log,"Conversor\n");
  618.                           fprintf(log,"---------------\n\n");
  619.                           fclose(log);
  620.                         do{    
  621.                           limpiar; 
  622.                           printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t    Volver(0)\n",162);
  623.                           printf(" ------------------------------\n\n");
  624.                           printf(" #######################################################\n");
  625.                           printf(" #                                   #\n");
  626.                           printf(" # 1-Euros\\Pesetas\t\t2-Pesetas\\Euros        #\n",161);
  627.                           printf(" # 3-Euros\\Dolares\t\t4-Dolares\\Euros        #\n");
  628.                           printf(" # 5-Euros\\Yenes\t\t6-Yenes\\Euros          #\n",162);
  629.                           printf(" # 7-Decimal\\Binario\t\t8-Binario\\Decimal      #\n");
  630.                           printf(" # 9-Decimal\\Octal\t\t10-Octal\\Decimal       #\n");
  631.                           printf(" # 11-Decimal\\Hexadecimal\t12-Hexadecimal\\Decimal #\n");
  632.                           printf(" # 13-Segundos\\Tiempo                       #\n");
  633.                           printf(" #                                   #\n");
  634.                           printf(" #######################################################\n\n");
  635.                           printf(" Elecci%cn>>> ",162);
  636.                           scanf("%lld",&opc3);
  637.                           log=fopen("Resultado.log","a");
  638.                           limpiar;  
  639.                             switch(opc3){                          
  640.                               case 1:                                        
  641.                                          printf("\nIntroduce la cantidad de euros a transformar:\t");   //numero1=Euro numero2=Peseta
  642.                                          scanf("%lf",&numero1);
  643.                                          numero2=numero1*166;
  644.                                          printf("\nSon: %lf Pesetas",numero2);                      
  645.                                          fprintf(log,"%lf euros son %lf pesetas\n\n",numero1,numero2);
  646.                                          fclose(log);
  647.                                          while(getchar() !='\n');                                  
  648.                                          getchar();
  649.                                          break;                                    
  650.                               case 2:                                      
  651.                                          printf("\nIntroduce la cantidad de pesetas a transformar:\t"); //numero1=Peseta numero2=Euro
  652.                                          scanf("%lf",&numero1);
  653.                                          numero2=numero1/166;
  654.                                          printf("\nSon: %lf Euros",numero2);
  655.                                          fprintf(log,"%lf pesetas son %lf euros\n\n",numero1,numero2);
  656.                                          fclose(log);
  657.                                          while(getchar() !='\n');  
  658.                                          getchar();
  659.                                          break;                                      
  660.                               case 3:                                      
  661.                                          printf("\nIntroduce la cantidad de euros a transformar:\t");   //numero1=Euro numero2=Dolar
  662.                                          scanf("%lf",&numero1);
  663.                                          numero2=numero1/0.8136;
  664.                                          printf("\nSon: %lf dolares",numero2);
  665.                                          fprintf(log,"%lf euros son %lf d%clares\n\n",numero1,numero2);
  666.                                          fclose(log);
  667.                                          while(getchar() !='\n');  
  668.                                          getchar();
  669.                                          break;                                      
  670.                               case 4:                                      
  671.                                          printf("\nIntroduce la cantidad de d%clares a transformar:\t"); //numero1=Dolar numero2=Euro
  672.                                          scanf("%lf",&numero1);
  673.                                          numero2=numero1/1.2616;
  674.                                          printf("\nSon: %lf Euros",numero2);
  675.                                          fprintf(log,"%lf d%clares son %lf euros\n\n",numero1,numero2);
  676.                                          fclose(log);
  677.                                          while(getchar() !='\n');  
  678.                                          getchar();
  679.                                          break;                          
  680.                               case 5:                                      
  681.                                          printf("\nIntroduce la cantidad de euros a transformar:\t");  //numero1=Euro numero2=Yen
  682.                                          scanf("%lf",&numero1);
  683.                                          numero2=numero1*97.7538829 ;
  684.                                          printf("\nSon: %lf yenes",numero2);
  685.                                          fprintf(log,"%lf euros son %lf yenes\n\n",numero1,numero2);
  686.                                          fclose(log);
  687.                                          while(getchar() !='\n');    
  688.                                          getchar();
  689.                                          break;                                    
  690.                               case 6:                                      
  691.                                          printf("\nIntroduce la cantidad de yenes a transformar:\t");  //numero1=Yen numero2=Euro
  692.                                          scanf("%lf",&numero1);
  693.                                          numero2=numero1*0.0102297727;
  694.                                          printf("\nSon: %lf Euros",numero2);
  695.                                          fprintf(log,"%lf yenes son %lf euros\n\n",numero1,numero2);
  696.                                          fclose(log);
  697.                                          while(getchar() !='\n');      
  698.                                          getchar();
  699.                                          break;                                                        
  700.                               case 7:                              
  701.                                          long long int z,n,coc,nn2[50],contador;
  702.                                          nn2[0]=0;                                                                           
  703.                                          printf("\nIntroduce un n%cmero:\t",163);                                                                                
  704.                                          scanf("%lld",&n);
  705.                                          printf("\nEn binario es ");
  706.                                          fprintf(log,"El número %lld en binario es ",n);
  707.                                            for (contador=0;contador<50;contador++){
  708.                                              nn2[contador]=n%2;
  709.                                              n=n/2;
  710.                                                if(n==0){
  711.                                                  break;
  712.                                                }
  713.                                            }
  714.                                             for(z=contador;z>=0;z--){
  715.                                               printf("%lld",nn2[z]);
  716.                                               fprintf(log,"%lld",nn2[z]);                                            
  717.                                             }
  718.                                          fprintf(log,"\n\n",nn2[z]);                                       
  719.                                          fclose(log);                                                                                                                                
  720.                                          while(getchar() !='\n');                    
  721.                                          getchar();
  722.                                          break;                  
  723.                               case 8:      
  724.                                          long long int b,d,e,c;
  725.                                          d=0;e=0;c=0;                                  
  726.                                          printf("Numero Binario: ");
  727.                                          scanf("%lld",&b);
  728.                                          fprintf(log,"El numero binario %lld",b);
  729.                                            while(b>=10){
  730.                                             c=0;
  731.                                                while(b>=10){
  732.                                                  b=b-10;
  733.                                                  c++;
  734.                                                }    
  735.                                              d=d+b*pow(2,e);
  736.                                              e++;
  737.                                              b=c;
  738.                                          }
  739.                                          d=d+c*pow(2,e);
  740.                                          printf("\nConversi%cn a decimal: %lld",162,d);
  741.                                          fprintf(log," es en decimal %lld\n\n",d);
  742.                                          fclose(log);
  743.                                          while(getchar() !='\n');
  744.                                          getchar();
  745.                                          break;
  746.                               case 9:                                            
  747.                                          int resultado,array[40],valor1,valor2,i2,cont,numero;
  748.                                          i2=0; cont=0;
  749.                                          printf ("\nIntroduce el n%cmero decimal: ",163);
  750.                                          scanf ("%lld",&numero);
  751.                                          fprintf(log,"El numero %lld en octal es ",numero);                                    
  752.                                          printf ("\nEl numero %lld en sistema octal es: ",numero);
  753.                                          fprintf(log,"%lld\n\n",numero);   
  754.                                          getchar();                                  
  755.                                          do{
  756.                                             resultado=numero/8;
  757.                                             valor1=resultado*8;
  758.                                             valor2=numero-valor1;
  759.                                             numero=numero/8;
  760.                                             array[i2]=valor2;
  761.                                             i2=i2+1;
  762.                                             cont=cont+1;
  763.                                          }  
  764.                                         while (numero!=0);
  765.                                         for (i2=cont-1;i2>=0;i2--){
  766.                                             printf("%lld",array[i2]);
  767.                                          }
  768.                                         printf(" ");
  769.                                         fclose(log);
  770.                                         getchar();
  771.                                          break;
  772.                               case 10:                                                                                                                   
  773.                                         int valor, digito, total;
  774.                                         valor=0; total=0;
  775.                                         printf("\nIntroduce el n%cmero octal: ",163);
  776.                                         scanf("%lld",&num1);
  777.                                         fprintf(log,"El numero octal %lld en decimal es ",num1);
  778.                                         while (num1 > 0){
  779.                                             digito = num1%10;  
  780.                                             num1/=10;      
  781.                                             total+=digito * (int)pow(8,valor);
  782.                                             valor++;
  783.                                         }
  784.                                         printf("\n decimal es %lld",total);
  785.                                         fprintf(log,"%lld\n\n",total);
  786.                                         fclose(log);
  787.                                         while(getchar() !='\n');  
  788.                                         getchar();
  789.                                           break;
  790.                               case 11: 
  791.                                          long long int up,r[10],y,j;
  792.                                          y=-1;j=0;                 
  793.                                          printf("Introduce un n%cmero: ",163);
  794.                                          scanf("%lld",&up);
  795.                                          printf("\n\nEn hexadecimal es ");
  796.                                          fprintf(log,"El número %lld en hexadecimal es ",z);
  797.                                            while(up){
  798.                                              y++;
  799.                                              r[y]=up%16;
  800.                                              up=up/16;
  801.                                            }
  802.                                            for(j=y;j>=0;j--){
  803.                                              if(r[j]==10){                                       
  804.                                                printf("A");fprintf(log,"A");
  805.                                              }
  806.                                              else if(r[j]==11){                                          
  807.                                                printf("B");fprintf(log,"B");
  808.                                             }
  809.                                              else if(r[j]==12){              
  810.                                                printf("C");fprintf(log,"C");
  811.                                             }
  812.                                              else if(r[j]==13){
  813.                                                printf("D");fprintf(log,"D");
  814.                                             }
  815.                                              else if(r[j]==14){                      
  816.                                                printf("E");fprintf(log,"E");
  817.                                             }
  818.                                              else if(r[j]==15){          
  819.                                                printf("F");fprintf(log,"F");
  820.                                             }
  821.                                             else{                                                                        
  822.                                             printf("%lld",r[j]);
  823.                                             fprintf(log,"%lld",r[j]);
  824.                                             }                                                                                  
  825.                                         }  
  826.                                          fprintf(log,"\n\n");
  827.                                          fclose(log);
  828.                                          while(getchar() !='\n');  
  829.                                          getchar();
  830.                                         break;             
  831.                               case 12:
  832.                                          char NroHexa[100], Aux[2];
  833.                                          int i, Error;
  834.                                          long NroDec, PosMult;
  835.                                          while(getchar() !='\n');  
  836.                                          printf("Introduce el n%cmero Hexadecimal:\t",163);
  837.                                          gets( NroHexa );
  838.  
  839.                                          // Chequeo que los caracteres del numero sean validos
  840.                                            for( Error = 0, i = strlen(NroHexa) - 1; i>=0; i--){
  841.                                              if( !( ( NroHexa[i] >= 'A' && NroHexa[i] <= 'F' ) ||
  842.                                                ( NroHexa[i] >= 'a' && NroHexa[i] <= 'f' ) ||
  843.                                                ( NroHexa[i] >= '0' && NroHexa[i] <= '9' ) ) )
  844.                                                {
  845.                                                Error = 1;
  846.                                                break;
  847.                                                }
  848.                                         }
  849.  
  850.                                           if( !Error ){
  851.                                             for( NroDec = 0, i = strlen(NroHexa) - 1; i>=0; i--){
  852.                                               PosMult = (long)pow( 16, (strlen(NroHexa) - 1 - i) );
  853.                                                 if( PosMult == 0 )
  854.                                                   PosMult = 1;
  855.                                                   switch( NroHexa[i] ){
  856.                                                     case 'A':
  857.                                                     case 'a':
  858.                                                       NroDec += 10 * PosMult;
  859.                                                       break;
  860.                                                     case 'B':
  861.                                                     case 'b':
  862.                                                       NroDec += 11 * PosMult;
  863.                                                       break;
  864.                                                     case 'C':
  865.                                                     case 'c':
  866.                                                       NroDec += 12 * PosMult;
  867.                                                       break;
  868.                                                     case 'D':
  869.                                                     case 'd':
  870.                                                       NroDec += 13 * PosMult;
  871.                                                       break;
  872.                                                     case 'E':
  873.                                                     case 'e':
  874.                                                       NroDec += 14 * PosMult;
  875.                                                       break;
  876.                                                     case 'F':
  877.                                                     case 'f':
  878.                                                       NroDec += 15 * PosMult;
  879.                                                       break;
  880.                                                     default:
  881.                                                     Aux[0] = NroHexa[i];
  882.                                                     Aux[1] = '\0';
  883.                                                     NroDec += atoi( Aux ) * PosMult;
  884.                                                     break;
  885.                                                 }
  886.                                             }
  887.                                           printf( "El hexadecimal en decimal es %ld\n",NroDec);
  888.                                           fprintf(log,"El hexadecimal %s en decimal es %ld\n\n", NroHexa, NroDec);
  889.                                           fclose(log);
  890.                                           }
  891.                                           else
  892.                                           printf("\nEl n%cmero ingresado no es hexadecimal\n",163);
  893.                                           getchar();
  894.                                         break;
  895.                               case 13:    
  896.                                          printf("Introduce los segundos: "); scanf("%lld",&num1);   //num1=sec   num2=hr   num3=min
  897.                                          printf("\n%lld segundos son:",num1);
  898.                                          fprintf(log,"%lld segundos son:\n\n",num1);
  899.                                          num2 = num1 / (60*60);
  900.                                          num1 %= 60*60;
  901.                                          num3 = num1 / 60;
  902.                                          num1 %= 60;
  903.                                          printf("\n%lld horas\n%lld minutos\n%lld segundos",num2,num3,num1);
  904.                                          fprintf(log,"%lld horas\n%lld minutos\n%lld segundos\n\n",num2,num3,num1);
  905.                                          fclose(log);                                        
  906.                                          while(getchar() !='\n');  
  907.                                          getchar();
  908.                                          break;                                                                                                                                                                                                                                                                                  
  909.                               }                                                      
  910.                         }while(opc3!=0);       
  911.                         break;         
  912.                       case 10: 
  913.                         long long int fibo1, fibo2,limite;
  914.                         fibo1 = 1; fibo2 = 1;
  915.                         printf("\nIntroduce la cantidad de n%cmeros que apareceran en la serie: ",163);
  916.                         scanf("%lld",&limite);
  917.                         log=fopen("Resultado.log","a");
  918.                         fprintf(log,"Serie de Fibonacci\n");
  919.                         fprintf(log,"--------------------------\n\n");
  920.                         fprintf(log,"Los %lld primeros numeros de la serie son:\n\n",limite);                              
  921.                         printf("\n");
  922.                         printf ("%lld ", fibo1);
  923.                         fprintf(log,"%lld ",fibo1);
  924.                             for (int i = 0; i < limite; i++){
  925.                               printf ("%lld ", fibo2);
  926.                               fprintf(log,"%lld ",fibo2);
  927.                               fibo2 += fibo1;
  928.                               fibo1 = fibo2 - fibo1;
  929.                             }          
  930.                         fprintf(log,"\n\n");           
  931.                         fclose(log);
  932.                         getchar(); 
  933.                         break;                         
  934.                       case 11:
  935.                         long long int a2, b2, x2, z2, y2, i2;
  936.                         y2=1;i2=2;
  937.                         log=fopen("Resultado.log","a");
  938.                         fprintf(log,"MCD - Máximo Común Divisor\n");
  939.                         fprintf(log,"----------------------------------------------\n\n");                                                     
  940.                         printf("Introduce el primer n%cmero: ",163);
  941.                         scanf("%lld",&a2);
  942.                         printf("Introduce el segundo n%cmero: ",163);
  943.                         scanf("%lld",&b2);
  944.                           if (a2<b2){x2=a2; z2=b2;} else {x2=b2; z2=a2;}
  945.                             do {
  946.                               if (x2%i2==0 && z2%i2==0){
  947.                                 y2=y2*i2;
  948.                                 x2=x2/i2; z2=z2/i2;
  949.                                 i2=2;
  950.                                 }
  951.                               else i2++;
  952.                          }while(i2<=x2);
  953.                         printf("\nEl MCD es %lld",y2);
  954.                         fprintf(log,"El MCD de %lld y de %lld es %lld\n\n",a2,b2,y2);  
  955.                         fclose(log);   
  956.                         getchar();         
  957.                         break;
  958.                       case 12:
  959.                         log=fopen("Resultado.log","a");
  960.                         fprintf(log,"MCM - Mínimo Común Múltiplo\n");
  961.                         fprintf(log,"----------------------------------------------\n\n");                         
  962.                         int a, b, x, z, y=1, i=2;
  963.                         printf("Introduce el primer n%cmero: ",163);
  964.                         scanf("%lld",&a);
  965.                         printf("Introduce el segundo n%cmero: ",163);
  966.                         scanf("%lld",&b);
  967.                           if (a<b){x=a; z=b;} else {x=b; z=a;}
  968.                             do{
  969.                                 if (x%i==0){
  970.                                     if(z%i==0){
  971.                                       y=y*i;
  972.                                       x=x/i; z=z/i;   i=2;
  973.                                     }
  974.                                 else i++;
  975.                                 }
  976.                             else i++;
  977.                             }while(i<=x);
  978.                                y=y*z*x;
  979.                         printf("\nEl MCM es %lld",y);
  980.                         fprintf(log,"El MCM de %lld y de %lld es %lld\n\n",a,b,y); 
  981.                         fclose(log);
  982.                         getchar();                         
  983.                         break;                                                   
  984.                     }
  985.                     while(getchar() !='\n');                                            
  986.                 }while(opc2!=0);
  987.                     break;                     
  988.                 case 4:              
  989.                  do{
  990.                   limpiar;           
  991.                   printf("\nCambia el color de la aplicaci%cn: ",162);
  992.                   printf("\n---------------------------------\n\n");
  993.                   printf("1-Blanco\t\t\t6-Gris\n\n2-Purpura\t\t\t7-Verde\n\n3-Voleta\t\t\t8-Marron\n\n4-Rojo\t\t\t\t9-Azul\n\n5-celeste\t\t\t10-Cyan\n\n11-Volver\t");
  994.                   scanf("%lld",&opc2);           
  995.                     switch(opc2){
  996.                       case 1:
  997.                         system("COLOR 0F");
  998.                         break; 
  999.                       case 2:
  1000.                         system("COLOR 05");
  1001.                         break;
  1002.                       case 3:
  1003.                         system("COLOR 0D");
  1004.                         break;
  1005.                       case 4:
  1006.                         system("COLOR 04");
  1007.                         break;
  1008.                       case 5:
  1009.                         system("COLOR 0B");
  1010.                         break;
  1011.                       case 6:
  1012.                         system("COLOR 08");
  1013.                         break; 
  1014.                       case 7:
  1015.                         system("COLOR 02");
  1016.                         break;
  1017.                       case 8:
  1018.                         system("COLOR 06");
  1019.                         break;
  1020.                       case 9:
  1021.                         system("COLOR 01");
  1022.                         break;
  1023.                       case 10:
  1024.                         system("COLOR 03");
  1025.                         break;
  1026.                      }
  1027.                   while(getchar() !='\n');
  1028.                 }while(opc2!=11);  
  1029.                   break;           
  1030.                 case 5:                      
  1031.                   limpiar;         
  1032.                   while(getchar() !='\n');
  1033.                   printf("\n\n\t ##############################################################\n");
  1034.                   printf("\t #                                                            #\n");    
  1035.                   printf("\t # Aplicaci%cn matem%ctica creada en C con la ayuda y         #\n",162,160);
  1036.                   printf("\t # generosa colaboraci%cn de varios compa%ceros de        #\n",162,164);                                                                
  1037.                   printf("\t # elhacker.net                               #\n");
  1038.                   printf("\t #                                                            #\n");
  1039.                   printf("\t # Este software esta compuesto por c%cdigo propio y por       #\n",162);
  1040.                   printf("\t # pedazos de c%cdigos extraidos de otras aplicaciones, por    #\n",162);
  1041.                   printf("\t # lo tanto es de c%cdigo abierto y de libre distribuci%cn,     #\n",162,162);
  1042.                   printf("\t # pudi%cndose modificar y mejorar por cualquier usuario.      #\n",130);                                                    
  1043.                   printf("\t #                                                            #\n");
  1044.                   printf("\t #                                          v0.7 20/10/12     #\n");
  1045.                   printf("\t #                                                        #\n");
  1046.                   printf("\t #                                        Creado por Dryken   #\n");
  1047.                   printf("\t #                                                        #\n");
  1048.                   printf("\t ##############################################################\n\n");           
  1049.                   while(getchar() !='\n');
  1050.                   break;                                               
  1051.             }//Fin del switch                                              
  1052.   }//Fin del do
  1053.   while(opc1!=6);          
  1054. }//Fin del main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement