Advertisement
Guest User

Calc Don

a guest
Nov 25th, 2012
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 53.97 KB | None | 0 0
  1. using System.Security.AccessControl;
  2. using System;
  3. using System.IO;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Diagnostics;
  8. using System.Runtime.InteropServices;
  9. using System.Threading;
  10.  
  11.  
  12.     class Program{
  13.        
  14.         static void Main(string[] args){
  15.             long opcion1=0, opcion2=0, opcion3=0, num1=0, num2=0, num3=0, num4=0, num5=0, opcioniva=0;
  16.             double numero1, numero2=0, numero3=0, numero4=0, numero5=0, res=0, PI=3.14159265;
  17.             double version=0.8;
  18.             string cad1, cad2;
  19.             Stopwatch Tiempo = new Stopwatch();
  20.             String nomfichero="Resultado.txt";
  21.             Console.Title = "Calc Don 0.8";
  22.          do{
  23.             Console.Clear();               
  24.             Console.WriteLine("   ______    _______    _         ______         ______    ______    _     _  ");
  25.             Console.WriteLine("  |  ____|  |  ___  |  | |       |  ____|       |  __  \\  |  __  |  | \\   | | ");
  26.             Console.WriteLine("  | |       | |   | |  | |       | |            | |   \\ | | |  | |  |  \\  | | ");
  27.             Console.WriteLine("  | |       | |___| |  | |       | |            | |   | | | |  | |  |   \\ | | ");  
  28.             Console.WriteLine("  | |____   | |   | |  | |____   | |____        | |_ / /  | |__| |  | |\\ \\| | ");
  29.             Console.WriteLine("  |______|  |_|   |_|  |______|  |______|       |_____/   |______|  |_| \\___| \n");
  30.             Console.WriteLine(" ==============================================================================\n");
  31.    
  32.             Console.WriteLine("\t\t\t###############################");
  33.             Console.WriteLine("\t\t\t#                             #");    
  34.             Console.WriteLine("\t\t\t# Selecciona una categoría:   #");
  35.             Console.WriteLine("\t\t\t#                             #");
  36.             Console.WriteLine("\t\t\t# (1)  Básico                #");
  37.             Console.WriteLine("\t\t\t# (2)  Trigonometría         #");
  38.             Console.WriteLine("\t\t\t# (3)  Avanzado              #");
  39.             Console.WriteLine("\t\t\t# (4)  Opciones              #");
  40.             Console.WriteLine("\t\t\t# (5)  Acerca de...          #");
  41.             Console.WriteLine("\t\t\t# (6)  Salir                 #");
  42.             Console.WriteLine("\t\t\t#                Versión "+version+"  #");
  43.             Console.WriteLine("\t\t\t#                        #");
  44.             Console.WriteLine("\t\t\t###############################");
  45.            
  46.            
  47.            
  48.            
  49.            
  50.             string FileName = @"c:\MyTest.txt";
  51.  
  52.                 Console.WriteLine("Encrypt " + FileName);
  53.  
  54.                 // Encrypt the file.
  55.                 AddEncryption(FileName);
  56.  
  57.                 Console.WriteLine("Decrypt " + FileName);
  58.  
  59.                 // Decrypt the file.
  60.                 RemoveEncryption(FileName);
  61.  
  62.                 Console.WriteLine("Done");
  63.            
  64.  
  65.            
  66.            
  67.            
  68.            
  69.            
  70.             //Animacion de transicción
  71.                 for(int i=0; i<=79; i++){
  72.                     Console.Write("_");
  73.                 }
  74.                 for(int i=0; i<=79; i++){
  75.                     Console.Write("=");
  76.                     Thread.Sleep(12);
  77.                 }
  78.             Console.Write(">>> ");
  79.             opcion1=long.Parse(Console.ReadLine());
  80.                 switch(opcion1){                          
  81.                     case 1:
  82.                      do{
  83.                         Console.Clear();
  84.                         Console.Write("\n Elije la operación a realizar:\t\t\t\t\t    Volver(0)");
  85.                         Console.Write("\n -------------------------------\n\n");
  86.                         Console.Write(" ####################################\n");
  87.                         Console.Write(" #                   #\n");
  88.                         Console.Write(" # 1-Suma y Resta\t5-Potencia  #\n");
  89.                         Console.Write(" # 2-Multiplicación\t6-Logaritmo #\n");
  90.                         Console.Write(" # 3-División\t\t7-Factorial #\n");
  91.                         Console.Write(" # 4-Raíz               #\n");
  92.                         Console.Write(" #                   #\n");
  93.                         Console.Write(" ####################################\n\n");
  94.                         Console.Write(" Elección>>> ");
  95.                         opcion2=long.Parse(Console.ReadLine());
  96.                         Console.Clear();    
  97.                             switch(opcion2){                                   
  98.                                 case 1:              
  99.                                     long muestra, cantidadNum=0;
  100.                                     double[] cadena=new double[cantidadNum];
  101.                                     string fichero11 = nomfichero;
  102.                                     StreamWriter log11 = File.AppendText(fichero11);  
  103.                                     log11.WriteLine("Suma y Resta\n");
  104.                                     log11.WriteLine("----------------------\n\n"); 
  105.                                     log11.WriteLine("\nLos números introducidos son:");
  106.                                     log11.WriteLine();
  107.                                     Console.Write("\nIntroduce cuantos números quieres calcular: ");
  108.                                     cantidadNum=long.Parse(Console.ReadLine());
  109.                                         while(cantidadNum<=0){
  110.                                             Console.Clear();
  111.                                             Console.Write("\nIntroduce cuantos números quieres calcular: "+cantidadNum+"\n\n");
  112.                                             Console.Write("Error, introduce un número mayor que cero: ");
  113.                                             cantidadNum=long.Parse(Console.ReadLine());
  114.                                         }
  115.                                     Console.Clear();
  116.                                     Console.Write("\nIntroduce cuantos números quieres calcular: "+cantidadNum+"\n");
  117.                                     Console.Write("\nIntroduce los números:\n\n");
  118.                                         for(int i=0;i<cantidadNum;i++){
  119.                                             muestra=i+1;
  120.                                             Console.Write("Valor "+muestra+" >>> ");                       
  121.                                             numero1=double.Parse(Console.ReadLine());
  122.                                             log11.WriteLine("Valor "+muestra+" >>> "+numero1);
  123.                                             numero2=numero2+numero1;                   
  124.                                         }
  125.                                     Console.Write("\n\nEl resultado de la operación es "+numero2);
  126.                                     log11.WriteLine();
  127.                                     log11.WriteLine("\nEl resultado de la operación es "+numero2);  
  128.                                     log11.WriteLine();  
  129.                                     log11.Close(); 
  130.                                     Console.ReadKey();                                 
  131.                                     break;
  132.                                 case 2:
  133.                                     string fichero12 = nomfichero;
  134.                                     StreamWriter log12 = File.AppendText(fichero12);
  135.                                     log12.WriteLine("Multiplicación");
  136.                                     log12.WriteLine("---------------------");                          
  137.                                     Console.Write("\nIntroduce el primer multiplicante:\t");
  138.                                     numero1=double.Parse(Console.ReadLine());  
  139.                                     Console.Write("Introduce el segundo multiplicante :\t");
  140.                                     numero2=double.Parse(Console.ReadLine());
  141.                                     Console.Write("\nEl resultado es:  "+(numero1*numero2));
  142.                                     log12.WriteLine(numero1+" x "+numero2+" = "+(numero1*numero2));
  143.                                     log12.WriteLine();
  144.                                     log12.Close();
  145.                                     Console.ReadKey();
  146.                                     break;
  147.                                 case 3:
  148.                                     string fichero13 = nomfichero;
  149.                                     StreamWriter log13 = File.AppendText(fichero13);
  150.                                     log13.WriteLine("División");
  151.                                     log13.WriteLine("------------");
  152.                                     Console.Write("\nIntroduce el dividendo(numero entero):\t"); //Dividendo=num1   Divisor=num2   Cociente=num3   Resto=num4    
  153.                                     num1=int.Parse(Console.ReadLine());
  154.                                     Console.Write("Introduce el divisor(numero entero):\t");
  155.                                     num2=int.Parse(Console.ReadLine());
  156.                                         while(num2<=0){
  157.                                             Console.Clear();
  158.                                             Console.Write("\nIntroduce el dividendo(numero entero):\t"+num1+"\n");
  159.                                             Console.Write("Introduce el divisor(numero entero):\t"+num2+"\n");                                 
  160.                                             Console.Write("\nError, elige un divisor mayor que cero: ");
  161.                                             num2=int.Parse(Console.ReadLine());                                                    
  162.                                         }
  163.                                     num3=num1/num2;            //cociente=dividendo/divisor;    
  164.                                     num4=num1-(num3*num2);  //resto=dividendo-(cociente*divisor);
  165.                                     Console.Write("\nEl cociente es: "+num3+"\nEl resto es: "+num4);
  166.                                     log13.WriteLine("Dividendo >>> "+num1);    
  167.                                     log13.WriteLine("Divisor >>> "+num2);
  168.                                     log13.WriteLine("Cociente >>> "+num3);
  169.                                     log13.WriteLine("Resto >>> "+num4);
  170.                                     log13.WriteLine();
  171.                                     log13.Close();  
  172.                                     Console.ReadKey();                                 
  173.                                     break;
  174.                                 case 4:
  175.                                     string fichero14 = nomfichero;
  176.                                     StreamWriter log14 = File.AppendText(fichero14);
  177.                                     log14.WriteLine("Raíz");
  178.                                     log14.WriteLine("-------");
  179.                                     Console.Write("\nIntroduce el número del cual deseas sacar la raíz:\t");
  180.                                     numero1=double.Parse(Console.ReadLine());                                                              
  181.                                     Console.Write("\nEl resultado es: "+(Math.Sqrt(numero1)));
  182.                                     log14.WriteLine("La raíz cuadrada de "+numero1+" es "+(Math.Sqrt(numero1)));
  183.                                     log14.WriteLine();
  184.                                     log14.Close();
  185.                                     Console.ReadKey();
  186.                                     break;
  187.                                 case 5:
  188.                                     string fichero15 = nomfichero;
  189.                                     StreamWriter log15 = File.AppendText(fichero15);
  190.                                     log15.WriteLine("Potencia");
  191.                                     log15.WriteLine("-------------");
  192.                                     Console.Write("\nIntroduce la base:\t");
  193.                                     numero1=double.Parse(Console.ReadLine());
  194.                                     Console.Write("Introduce el exponente:\t");
  195.                                     numero2=double.Parse(Console.ReadLine());
  196.                                     Console.Write("\nEl resultado es: "+Math.Pow(numero1,numero2));  
  197.                                     log15.WriteLine("El numero "+numero1+" elevado a "+numero2+" es "+Math.Pow(numero1,numero2));  
  198.                                     log15.WriteLine();                                 
  199.                                     log15.Close();     
  200.                                     Console.ReadKey();
  201.                                     break;
  202.                                 case 6:
  203.                                     string fichero16 = nomfichero;
  204.                                     StreamWriter log16 = File.AppendText(fichero16);
  205.                                     log16.WriteLine("Logaritmo");
  206.                                     log16.WriteLine("-------------");
  207.                                     Console.Write("\nIntroduce el número (base 10 por defecto):\t");      
  208.                                     numero1=double.Parse(Console.ReadLine());
  209.                                     Console.Write("\nEl resultado es:  "+Math.Log10(numero1));
  210.                                     log16.WriteLine("El logaritmo de "+numero1+" en base 10 es "+Math.Log10(numero1));
  211.                                     log16.WriteLine();                                 
  212.                                     log16.Close();
  213.                                     Console.ReadKey();                                     
  214.                                     break;
  215.                                 case 7:
  216.                                     int fact=1;
  217.                                     string fichero17 = nomfichero;
  218.                                     StreamWriter log17 = File.AppendText(fichero17);
  219.                                     log17.WriteLine("Factorial");
  220.                                     log17.WriteLine("--------------");
  221.                                     Console.Write("\nIntroduce un número:\t");
  222.                                     num1=int.Parse(Console.ReadLine());                                                      
  223.                                         for(int i=2; i<=num1; i++){
  224.                                             fact = fact * i;
  225.                                         }
  226.                                     Console.Write("Su factorial es:\t"+fact);
  227.                                     log17.WriteLine("El factorial de "+num1+" es "+fact);  
  228.                                     log17.WriteLine();
  229.                                     log17.Close();     
  230.                                     Console.ReadKey();                                     
  231.                                     break;                                                                             
  232.                             }                      
  233.                       }while(opcion2!=0);  
  234.                         break;     
  235.                     case 2:
  236.                       do{                                              
  237.                         Console.Clear();    
  238.                         Console.Write("\n Elije la operación a realizar:\t\t\t\t\t    Volver(0)");
  239.                         Console.Write("\n -------------------------------\n\n");
  240.                         Console.Write(" ##########################################################\n");
  241.                         Console.Write(" #                                 #\n");
  242.                         Console.Write(" # 1-Seno\t4-Cosecante\t7-Área de un triangulo    #\n");
  243.                         Console.Write(" # 2-Coseno\t5-Secante\t8-Angulos de un triangulo #\n");
  244.                         Console.Write(" # 3-Tangente\t6-Cotangente                #\n");
  245.                         Console.Write(" #                                 #\n");
  246.                         Console.Write(" ##########################################################\n\n");
  247.                         Console.Write(" Elección>>> ");
  248.                         opcion2 = long.Parse(Console.ReadLine());
  249.                         Console.Clear();
  250.                         switch(opcion2){   
  251.                             case 1:
  252.                                 string fichero21 = nomfichero;
  253.                                 StreamWriter log21 = File.AppendText(fichero21);
  254.                                 Console.Write("\nIntroduce el número a hallar el seno:\t");
  255.                                 numero1 = double.Parse(Console.ReadLine());  
  256.                                 Console.Write("\nEl resultado es: "+Math.Sin(numero1));
  257.                                 log21.WriteLine("Seno");                               
  258.                                 log21.WriteLine("--------");  
  259.                                 log21.WriteLine("El seno de "+numero1+" es "+Math.Sin(numero1));
  260.                                 log21.WriteLine();
  261.                                 log21.Close();                             
  262.                                 Console.ReadKey();
  263.                                 break;
  264.                             case 2:
  265.                                 string fichero22 = nomfichero;
  266.                                 StreamWriter log22 = File.AppendText(fichero22);
  267.                                 Console.Write("\nIntroduce el número a hallar el coseno:\t");
  268.                                 numero1 = double.Parse(Console.ReadLine());  
  269.                                 Console.Write("\nEl resultado es: "+Math.Cos(numero1));                      
  270.                                 log22.WriteLine("Coseno");                             
  271.                                 log22.WriteLine("--------");  
  272.                                 log22.WriteLine("El coseno de "+numero1+" es "+Math.Cos(numero1));
  273.                                 log22.WriteLine();
  274.                                 log22.Close();                             
  275.                                 Console.ReadKey();
  276.                                 break;
  277.                             case 3:
  278.                                 string fichero23 = nomfichero;
  279.                                 StreamWriter log23 = File.AppendText(fichero23);
  280.                                 Console.Write("\nIntroduce el número a hallar el tangente:\t");
  281.                                 numero1 = double.Parse(Console.ReadLine());  
  282.                                 Console.Write("\nEl resultado es: "+Math.Tan(numero1));                      
  283.                                 log23.WriteLine("Tangente");                               
  284.                                 log23.WriteLine("--------");  
  285.                                 log23.WriteLine("La tangente de "+numero1+" es "+Math.Tan(numero1));
  286.                                 log23.WriteLine();
  287.                                 log23.Close();                             
  288.                                 Console.ReadKey();
  289.                                 break;                                  
  290.                             case 4:
  291.                                 string fichero24 = nomfichero;
  292.                                 StreamWriter log24 = File.AppendText(fichero24);
  293.                                 Console.Write("\nIntroduce el número a hallar el cosecante:\t");
  294.                                 numero1 = double.Parse(Console.ReadLine());
  295.                                 Console.Write("\nEl resultado es: "+Math.Asin(numero1));                      
  296.                                 log24.WriteLine("Cosecante");                              
  297.                                 log24.WriteLine("--------");  
  298.                                 log24.WriteLine("La cosecante de "+numero1+" es "+Math.Asin(numero1));
  299.                                 log24.WriteLine();
  300.                                 log24.Close();                             
  301.                                 Console.ReadKey();
  302.                                 break;
  303.                             case 5:
  304.                                 string fichero25 = nomfichero;
  305.                                 StreamWriter log25 = File.AppendText(fichero25);
  306.                                 Console.Write("\nIntroduce el número a hallar el secante:\t");
  307.                                 numero1 = double.Parse(Console.ReadLine());
  308.                                 Console.Write("\nEl resultado es: "+Math.Acos(numero1));                      
  309.                                 log25.WriteLine("Secante");                                
  310.                                 log25.WriteLine("--------");  
  311.                                 log25.WriteLine("La secante de "+numero1+" es "+Math.Acos(numero1));
  312.                                 log25.WriteLine();
  313.                                 log25.Close();                             
  314.                                 Console.ReadKey();
  315.                                 break;
  316.                             case 6:
  317.                                 string fichero26 = nomfichero;
  318.                                 StreamWriter log26 = File.AppendText(fichero26);
  319.                                 Console.Write("\nIntroduce el número a hallar el cotangente:\t");
  320.                                 numero1 = double.Parse(Console.ReadLine());  
  321.                                 Console.Write("\nEl resultado es: "+Math.Atan(numero1));                      
  322.                                 log26.WriteLine("Cotangente");                             
  323.                                 log26.WriteLine("--------");  
  324.                                 log26.WriteLine("La cotangente de "+numero1+" es "+Math.Atan(numero1));
  325.                                 log26.WriteLine();
  326.                                 log26.Close();                             
  327.                                 Console.ReadKey();
  328.                                 break;      
  329.                             case 7:                    
  330.                                 string fichero27 = nomfichero;
  331.                                 StreamWriter log27 = File.AppendText(fichero27);
  332.                                 Console.Write("\nIntroduce la base:\t");   numero1 = double.Parse(Console.ReadLine());  
  333.                                 Console.Write("\nIntroduce la altura:\t"); numero2 = double.Parse(Console.ReadLine());
  334.                                 res=numero1*numero2/2;
  335.                                 Console.Write("\nEl área del triangulo es "+res);
  336.                                 log27.WriteLine("Área del triángulo");                               
  337.                                 log27.WriteLine("---------------------------");  
  338.                                 log27.WriteLine("Para la base"+numero1+" y la altura "+numero2+", el área es "+res);
  339.                                 log27.WriteLine();
  340.                                 log27.Close();                             
  341.                                 Console.ReadKey();
  342.                                 break;      
  343.                             case 8:
  344.                                 double a, b, c, A, B, C;
  345.                                 string fichero28 = nomfichero;
  346.                                 StreamWriter log28 = File.AppendText(fichero28);
  347.                                 Console.Write("Introduce el lado a: "); a = double.Parse(Console.ReadLine());
  348.                                 Console.Write("Introduce el lado b: "); b = double.Parse(Console.ReadLine());
  349.                                 Console.Write("Introduce el lado c: "); c = double.Parse(Console.ReadLine());
  350.                                 log28.WriteLine("Conocer ángulos de un triángulo");                              
  351.                                 log28.WriteLine("-----------------------------------------------");
  352.                                 log28.WriteLine("Si el lado A es "+a+", el B es "+b+" y el C "+c+"...");
  353.                                 log28.WriteLine();                             
  354.                                 A = Math.Acos((b*b+c*c-a*a)/(2*b*c))*180/PI;
  355.                                 B = Math.Acos((a*a+c*c-b*b)/(2*a*c))*180/PI;
  356.                                 C = Math.Acos((a*a+b*b-c*c)/(2*a*b))*180/PI;
  357.                                     if(A == 90 || B == 90 || C == 90){                     
  358.                                         Console.Write("\nEl triángulo es rectángulo");
  359.                                         log28.WriteLine("El triángulo es rectángulo");
  360.                                     }
  361.                                     if(A < 90 && B < 90 && C < 90){
  362.                                         Console.Write("\nEl triángulo es acutángulo");
  363.                                         log28.WriteLine("El triángulo es acutángulo");
  364.                                     }
  365.                                     if(A > 90 || B > 90 || C > 90){            
  366.                                         Console.Write("\nEl triángulo es obtusángulo");
  367.                                         log28.WriteLine("El triángulo es obtusángulo");                                      
  368.                                     }
  369.                                 Console.Write("\n\nSus ángulos son:\n\nA:\t"+A+"\nB:\t"+B+"\nC:\t"+C);
  370.                                 log28.WriteLine(); 
  371.                                 log28.WriteLine("El triángulo es rectángulo");
  372.                                 log28.WriteLine("A >>> "+A); log28.WriteLine("A >>> "+B); log28.WriteLine("A >>> "+C);
  373.                                 log28.Close();
  374.                                 Console.ReadKey();                             
  375.                                 break;                             
  376.                             }
  377.                     }while(opcion2!=0);
  378.                         break;
  379.                 case 3:
  380.                     do{
  381.                         Console.Clear();               
  382.                         Console.Write("\n Elije la operación a realizar:\t\t\t\t\t    Volver(0)\n");
  383.                         Console.Write(" ------------------------------\n\n");
  384.                         Console.Write(" #############################################################################\n");
  385.                         Console.Write(" #                                            #\n");
  386.                         Console.Write(" # 1-Conocer múltiplos\t\t5-Producto de 2 matrices\t9-Conversor  #\n");
  387.                         Console.Write(" # 2-Teorema de Pitágoras\t6-Conocer números primos\t10-Fibonacci #\n");
  388.                         Console.Write(" # 3-Teorema del Binomio\t7-Area de un círculo\t\t11-MCD       #\n");
  389.                         Console.Write(" # 4-Calcular un descuento\t8-Longitud de un círculo\t12-MCM       #\n");
  390.                         Console.Write(" #                                            #\n");
  391.                         Console.Write(" #############################################################################\n\n");
  392.                         Console.Write(" Elección>>> ");
  393.                         opcion2 = long.Parse(Console.ReadLine());
  394.                         Console.Clear();       
  395.                             switch(opcion2){                       
  396.                                 case 1:    
  397.                                     string fichero31 = nomfichero;
  398.                                     StreamWriter log31 = File.AppendText(fichero31);
  399.                                     Console.Write("\nIntroduce el numero a conocer sus múltiplos:\t ");    //num1=Numero(num) num2=Cifras num3=Multiplo(mp)
  400.                                     num1 = long.Parse(Console.ReadLine());
  401.                                     Console.Write("¿Hasta que cifras deseas conocerlo?:\t");
  402.                                     num2 = long.Parse(Console.ReadLine());
  403.                                     Console.Write("\n");
  404.                                     log31.WriteLine("Conocer los múltiplos");
  405.                                     log31.WriteLine("--------------------------------");
  406.                                     log31.WriteLine("Los múltiplos del "+num1+" hasta el "+num2+" son...");   
  407.                                     log31.WriteLine();                                         
  408.                                         for(num3=num1;num3<=num2;num3=num3+num1){
  409.                                             Console.Write(num3+" ");
  410.                                             log31.Write(num3+" ");
  411.                                         }          
  412.                                     log31.WriteLine();log31.WriteLine();
  413.                                     log31.Close();
  414.                                     Console.ReadKey();                                                                                                     
  415.                                     break;
  416.                                 case 2:
  417.                                   do{      
  418.                                     Console.Clear();           
  419.                                     double c, C, h;    
  420.                                     Console.Write("\n ¿Qué deseas hacer?\n");
  421.                                     Console.Write(" ------------------\n\n");
  422.                                     Console.Write(" 1-Hallar un cateto\n 2-Hallar la hipotenusa\n 3-Volver\t\t");
  423.                                     opcion3 = long.Parse(Console.ReadLine());  
  424.                                     string fichero32 = nomfichero;
  425.                                     StreamWriter log32 = File.AppendText(fichero32);                           
  426.                                     log32.WriteLine("Hallar ángulos de un triángulo");
  427.                                     log32.WriteLine("-------------------------------------------");                                
  428.                                     Console.Clear();
  429.                                         if (opcion3 == 1) {
  430.                                             Console.Write("\n Introduzca el valor de un cateto: ");
  431.                                             c = double.Parse(Console.ReadLine());  
  432.                                             Console.Write(" Introduzca el valor de la hipotenusa: ");
  433.                                             h = double.Parse(Console.ReadLine());  
  434.                                                 if (c<h){
  435.                                                     C = Math.Sqrt(h*h - c*c);
  436.                                                     Console.Write("\n El cateto tiene un valor de: "+C);
  437.                                                     log32.WriteLine("Hallando un cateto...Si el cateto vale "+c+" y la hipotenusa vale "+h+"...entonces el otro cateto vale "+C);
  438.                                                     Console.ReadKey();                                                                 
  439.                                                 }else {
  440.                                                     Console.Write("\n Error, no puede ser mayor el valor del cateto que el de la hipotenusa");
  441.                                                     Console.ReadKey();
  442.                                                 }
  443.                                         }                          
  444.                                         else if (opcion3 == 2) {
  445.                                             Console.Write("\n Introduzca el valor del cateto opuesto: ");
  446.                                             c = double.Parse(Console.ReadLine());
  447.                                             Console.Write(" Introduzca el valor del cateto adyacente: ");
  448.                                             C = double.Parse(Console.ReadLine());
  449.                                             h = Math.Sqrt(C*C + c*c);
  450.                                             Console.Write("\n El valor de la hipotenusa es: "+h);
  451.                                             log32.WriteLine("Hallando la hipotenusa...Si el cateto opuesto vale "+c+" y el cateto adyacente vale "+C+"...entonces la hipotenusa es "+h);
  452.                                             Console.ReadKey();                                       
  453.                                         }        
  454.                                     log32.WriteLine();
  455.                                     log32.Close();                                 
  456.                                   }while(opcion3!=3);                      
  457.                                     break;                     
  458.                                 case 3:
  459.                                     long n, k, nf, kf, resta, restaf, v, w;
  460.                                     string fichero33 = nomfichero;
  461.                                     StreamWriter log33 = File.AppendText(fichero33);                           
  462.                                     log33.WriteLine("Teorema del Binomio");
  463.                                     log33.WriteLine("-------------------------------");  
  464.                                     Console.Write("\nIntroduce el valor de n: ");
  465.                                     n = long.Parse(Console.ReadLine());
  466.                                     Console.Write("\nIntroduce el valor de k: ");
  467.                                     k = long.Parse(Console.ReadLine());    
  468.                                     log33.WriteLine("Si el valor de n es "+n+" y el de k es "+k+"...");
  469.                                     log33.WriteLine();                                     
  470.                                     nf = 1;
  471.                                     kf = 1;
  472.                                     resta = n - k;
  473.                                     restaf = 1;
  474.                                         while ( n > 1 ){   /* factorial de n */
  475.                                             nf *= n--;
  476.                                         }
  477.                                         while ( k > 1 ){   /* factorial de k */
  478.                                             kf *= k--;
  479.                                         }
  480.                                         while ( resta > 1 ){   /* factorial de (n - k) */
  481.                                             restaf *= resta--;
  482.                                         }
  483.                                     v = kf * restaf; /* k! * (n - k)! */
  484.                                     w = nf / v; /* n! / (k! * (n - k)!) */
  485.                                     /* resultados */
  486.                                     Console.Write("\nn! = "+nf+"\n");
  487.                                     Console.Write("k! = "+kf+"\n");
  488.                                     Console.Write("(n - k)! = "+restaf+"\n");
  489.                                     Console.Write("k! * (n - k)! = "+v+"\n");
  490.                                     Console.Write("n! / [k! (n - k)!] = "+w+"\n");
  491.                                     Console.Write("--------------------------\n");
  492.                                     Console.Write("Resultado final (ncr): "+w+"\n");
  493.                                     log33.WriteLine("\nn! = "+nf);
  494.                                     log33.WriteLine("k! = "+kf);
  495.                                     log33.WriteLine("(n - k)! = "+restaf);
  496.                                     log33.WriteLine("k! * (n - k)! = "+v);
  497.                                     log33.WriteLine("n! / [k! (n - k)!] = "+w);
  498.                                     log33.WriteLine("--------------------------");
  499.                                     log33.WriteLine("Resultado final (ncr): "+w);
  500.                                     log33.WriteLine();
  501.                                     log33.Close();
  502.                                     Console.ReadKey();
  503.                                     break;  
  504.                                 case 4:                    
  505.                                     String producto;
  506.                                     string fichero34 = nomfichero;
  507.                                     StreamWriter log34 = File.AppendText(fichero34);   
  508.                                     Console.Write("\nIntroduce el nombre del producto: ");
  509.                                     producto = Console.ReadLine(); 
  510.                                     Console.Write("¿Dicho producto incluye IVA?:\n\n1-Si      2-No    ");
  511.                                     log34.WriteLine("Calcular un descuento");
  512.                                     log34.WriteLine("---------------------------------");
  513.                                     opcioniva = long.Parse(Console.ReadLine());
  514.                                         if(opcioniva==1){
  515.                                             Console.Write("\nIntroduce el precio del producto:\t");  //Precio=numero1   Descuento=numero2   Preciodesc=numero3
  516.                                             numero1 = double.Parse(Console.ReadLine()); //Precioiva=numero4   Precioiva2=numero5
  517.                                             Console.Write("Introduce su descuento en porcentaje:\t");                                          
  518.                                             numero2 = double.Parse(Console.ReadLine());            
  519.                                             numero3=numero1*numero2/100;
  520.                                             res=numero1-numero3;
  521.                                             Console.Write("\nEl descuento del "+producto+" es de "+numero3+" euros");
  522.                                             Console.Write("\n\nEl precio final del "+producto+" es de "+res+" euros"); 
  523.                                             log34.WriteLine("El producto "+producto+"que cuesta "+numero1+"euros tiene un descuento del "+numero2+" por ciento, entonces...");            
  524.                                             log34.WriteLine();  
  525.                                             log34.WriteLine("Tiene una rebaja de "+numero3+" euros y su precio final es de "+res+" euros.");
  526.                                         }else{
  527.                                             Console.Write("\nIntroduce el precio del producto:\t");                                                                    
  528.                                             numero1 = double.Parse(Console.ReadLine());
  529.                                             Console.Write("Introduce su descuento en porcentaje:\t");
  530.                                             numero2 = double.Parse(Console.ReadLine());
  531.                                             numero4=numero1*18/100;
  532.                                             numero5=numero4+numero1;
  533.                                             numero3=numero5*numero2/100;
  534.                                             res=numero5-numero3;
  535.                                             Console.Write("\nEl precio del "+producto+" con iva es de "+numero5+" euros");
  536.                                             Console.Write("\nEl descuento del "+producto+" es de "+numero3+" euros");
  537.                                             Console.Write("\n\nEl precio final del "+producto+" es de "+res+" euros"); 
  538.                                             log34.WriteLine("El producto "+producto+" que cuesta "+numero1+" euros tiene un descuento del "+numero2+" por ciento, entonces...");                        
  539.                                             log34.WriteLine();                                                                             
  540.                                             log34.WriteLine("Tiene una rebaja de "+numero3+" euros y su precio final es de "+res+" euros.");                                                                                       
  541.                                         }              
  542.                                     log34.WriteLine();      
  543.                                     log34.Close();                                 
  544.                                     Console.ReadKey();
  545.                                     break;
  546.                                 case 5:    
  547.                                     string fichero35 = nomfichero;
  548.                                     StreamWriter log35 = File.AppendText(fichero35);
  549.                                     long n3,m3,o3,p3,i3,j3,k3;     
  550.                                     long[,] a3=new long[10,10], b3=new long[10,10], c3=new long[10,10];
  551.                                     Console.Write("\n¿Cuantas filas tendrá la matriz A?: ");
  552.                                     m3 = long.Parse(Console.ReadLine());   
  553.                                     Console.Write("\n¿Cuantas columnas tendrá la matriz A?: ");
  554.                                     n3 = long.Parse(Console.ReadLine());   
  555.                                     Console.Write("\n¿Cuantas filas tendrá la matriz B?: ");
  556.                                     o3 = long.Parse(Console.ReadLine());   
  557.                                     Console.Write("\n¿Cuantas columnas tendrá la matriz B?: ");
  558.                                     p3 = long.Parse(Console.ReadLine());   
  559.                                     log35.WriteLine("Si la matriz A tiene "+m3+" filas y "+n3+" columnas, y la matriz B tiene "+o3+" filas y "+p3+" columnas...");
  560.                                     log35.WriteLine();
  561.                                         /*Reconoce si se puede realizar la multiplicacion*/
  562.                                         if(m3!=p3){
  563.                                             Console.Write("\n\nEl número de columnas de la matriz \"A\" es diferente al número de filas \nde la matriz \"B\"");
  564.                                             Console.Write("\n\nEl producto matricial no es posible de realizar.\n\n");
  565.                                             log35.WriteLine("No se ha podido realizar porque el número de columnas de la matriz A es diferente al número de filas de la matriz B");
  566.                                             log35.WriteLine();                                             
  567.                                         }
  568.                                         for (i3=1;i3<=m3;i3++){   /*Ciclo anidado que captura la matriz A*/
  569.                                             for (j3=1;j3<=n3;j3++){
  570.                                                 Console.Write("\nDame el elemento A("+i3+","+j3+")(fila/columna): ");
  571.                                                 a3[i3,j3] = long.Parse(Console.ReadLine());
  572.                                                 log35.WriteLine("El elemento A("+i3+","+j3+")(fila/columna): es "+a3[i3,j3]);
  573.                                                 log35.WriteLine();
  574.                                             }
  575.                                         }
  576.                                         for (i3=1;i3<=o3;i3++){ /*Ciclo anidado que captura la matriz B*/
  577.                                             for (j3=1;j3<=p3;j3++){
  578.                                                 Console.Write("\nDame el elemento B("+i3+","+j3+")(fila/columna): ");
  579.                                                 b3[i3,j3] = long.Parse(Console.ReadLine());    
  580.                                                 log35.WriteLine("El elemento B("+i3+","+j3+")(fila/columna): es "+b3[i3,j3]);  
  581.                                                 log35.WriteLine();                                             
  582.                                             }
  583.                                         }
  584.                                         for (i3=1;i3<=m3;i3++){  /*Ciclo anidado que multiplica las 2 matrices*/
  585.                                             for (j3=1;j3<=p3;j3++){
  586.                                                 c3[i3,j3]=0; /*Limpia la variable para entrar de nuevo al for*/
  587.                                                 for (k3=1;k3<=n3;k3++);
  588.                                                     c3[i3,j3]=(c3[i3,j3]+a3[i3,k3])*b3[k3,j3];
  589.                                                 }
  590.                                             }
  591.                                     Console.Write("\n\nLa matriz resultante de la multiplicacion es: \n");
  592.                                     log35.WriteLine("El valor de la matriz resultante es: ");
  593.                                     log35.WriteLine();
  594.                                     /*Ciclo que imprime la matriz resultante*/
  595.                                         for (i3=1;i3<=m3;i3++){
  596.                                             Console.Write("\n");                                       
  597.                                                 for(j3=1;j3<=p3;j3++);
  598.                                                     Console.Write(" "+c3[i3,j3]+" ");
  599.                                                     log35.Write(" "+c3[i3,j3]+" ");
  600.                                                 }
  601.                                     log35.WriteLine();log35.WriteLine();
  602.                                     log35.Close();                                 
  603.                                     Console.ReadKey();
  604.                                     break;    
  605.                                 case 6:
  606.                                     string fichero36 = nomfichero;
  607.                                     StreamWriter log36 = File.AppendText(fichero36);
  608.                                     log36.WriteLine("Conocer numeros primos");
  609.                                     log36.WriteLine("-------------------------------------");
  610.                                     Console.Write("\nIntroduce el límite de numeros:\t");         
  611.                                     num1 = long.Parse(Console.ReadLine()); //num1=n  num2=c  num3=c2  num4=res  num5=nc
  612.                                     log36.WriteLine("Para el límite de numeros primos "+num1+", dichos primos son:");  
  613.                                     log36.WriteLine();                                     
  614.                                         for(num2=1;num2<=num1;num2++){
  615.                                             for(num3=1;num3<=num2;num3++){
  616.                                                 num4=num2%num3;
  617.                                                     if(num4==0){
  618.                                                         num5=num5+1;
  619.                                                     }
  620.                                             }
  621.                                             if(num5==2){
  622.                                                 Console.Write(num2+" ");
  623.                                                 log36.Write(num2+" ");
  624.                                             }
  625.                                             num5=0;
  626.                                         }  
  627.                                     log36.WriteLine();log36.WriteLine();
  628.                                     log36.Close();                                 
  629.                                     Console.ReadKey();             
  630.                                     break;
  631.                                 case 7:        
  632.                                     string fichero37 = nomfichero;
  633.                                     StreamWriter log37 = File.AppendText(fichero37);
  634.                                     log37.WriteLine("Área de una Circunferencia");
  635.                                     log37.WriteLine("----------------------------------------------");                                 
  636.                                     Console.Write("Introduce el radio: ");                                 
  637.                                     numero1 = double.Parse(Console.ReadLine());          
  638.                                     res=3.1416*(numero1*numero1);
  639.                                     Console.Write("\n\nEl área del círculo es "+res);
  640.                                     log37.WriteLine("Si el radio es "+numero1+", su área es "+res);
  641.                                     log37.WriteLine();
  642.                                     log37.Close();                                 
  643.                                     Console.ReadKey();                                 
  644.                                     break;                                                 
  645.                                 case 8:    
  646.                                     string fichero38 = nomfichero;
  647.                                     StreamWriter log38 = File.AppendText(fichero38);
  648.                                     log38.WriteLine("Longitud de una Circunferencia");
  649.                                     log38.WriteLine("----------------------------------------------");                                     
  650.                                     Console.Write("Introduce el radio: ");
  651.                                     numero1 = double.Parse(Console.ReadLine());              
  652.                                     res=(2*3.1416)*numero1;
  653.                                     Console.Write("\n\nLa longitud del círculo es "+res);
  654.                                     log38.WriteLine("Si el radio es "+numero1+" su longitud es "+res);
  655.                                     log38.WriteLine();
  656.                                     log38.Close();
  657.                                     Console.ReadKey();
  658.                                     break;                                     
  659.                                 case 9:
  660.                                     string fichero39 = nomfichero;
  661.                                     StreamWriter log39 = File.AppendText(fichero39);
  662.                                     log39.WriteLine("Conversor");
  663.                                     log39.WriteLine("---------------");
  664.                                       do{      
  665.                                         Console.Clear();   
  666.                                         Console.Write("\n Elije la operación a realizar:\t\t\t\t\t    Volver(0)\n");
  667.                                         Console.Write(" ------------------------------\n\n");
  668.                                         Console.Write(" #######################################################\n");
  669.                                         Console.Write(" #                                  #\n");
  670.                                         Console.Write(" # 1-Euros\\Pesetas\t\t2-Pesetas\\Euros        #\n");
  671.                                         Console.Write(" # 3-Euros\\Dolares\t\t4-Dolares\\Euros        #\n");
  672.                                         Console.Write(" # 5-Euros\\Yenes\t\t6-Yenes\\Euros         #\n");
  673.                                         Console.Write(" # 7-Decimal\\Binario\t\t8-Binario\\Decimal      #\n");
  674.                                         Console.Write(" # 9-Decimal\\Octal\t\t10-Octal\\Decimal       #\n");
  675.                                         Console.Write(" # 11-Decimal\\Hexadecimal\t12-Hexadecimal\\Decimal #\n");
  676.                                         Console.Write(" # 13-Segundos\\Tiempo                      #\n");
  677.                                         Console.Write(" #                                  #\n");
  678.                                         Console.Write(" #######################################################\n\n");
  679.                                         Console.Write(" Elección>>> ");
  680.                                         opcion3 = long.Parse(Console.ReadLine());
  681.                                         Console.Clear();
  682.                                             switch(opcion3){                            
  683.                                                 case 1:    
  684.                                                     Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Peseta                                          
  685.                                                     numero1 = double.Parse(Console.ReadLine());
  686.                                                     numero2=numero1*166;
  687.                                                     Console.Write("\nSon: "+numero2+" Pesetas");
  688.                                                     log39.WriteLine(numero1+" euros son "+numero2+" pesetas");
  689.                                                     log39.WriteLine();
  690.                                                     Console.ReadKey();
  691.                                                     break;                                    
  692.                                                 case 2:                    
  693.                                                     Console.Write("\nIntroduce la cantidad de pesetas a transformar:\t"); //numero1=Peseta numero2=Euro                                    
  694.                                                     numero1 = double.Parse(Console.ReadLine());                                    
  695.                                                     numero2=numero1/166;
  696.                                                     Console.Write("\nSon: "+numero2+" Euros");    
  697.                                                     log39.WriteLine(numero1+" pesetas son "+numero2+" euros");
  698.                                                     log39.WriteLine();                                                 
  699.                                                     Console.ReadKey();
  700.                                                     break;                                      
  701.                                                 case 3:
  702.                                                     Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Dolar                                        
  703.                                                     numero1 = double.Parse(Console.ReadLine());                                                                              
  704.                                                     numero2=numero1/0.8136;
  705.                                                     Console.Write("\nSon: "+numero2+" dolares");
  706.                                                     log39.WriteLine(numero1+" euros son "+numero2+" dolares");
  707.                                                     log39.WriteLine();
  708.                                                     Console.ReadKey();
  709.                                                     break;                                      
  710.                                                 case 4:                                  
  711.                                                     Console.Write("\nIntroduce la cantidad de dólares a transformar:\t"); //numero1=Dolar numero2=Euro                                            
  712.                                                     numero1 = double.Parse(Console.ReadLine());                                        
  713.                                                     numero2=numero1/1.2616;
  714.                                                     Console.Write("\nSon: "+numero2+" Euros");
  715.                                                     log39.WriteLine(numero1+" dolares son "+numero2+" euros");
  716.                                                     log39.WriteLine();
  717.                                                     Console.ReadKey();                                      
  718.                                                     break;                          
  719.                                                 case 5:                                    
  720.                                                     Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Yen
  721.                                                     numero1 = double.Parse(Console.ReadLine());                                        
  722.                                                     numero2=numero1*97.7538829 ;                              
  723.                                                     Console.Write("\nSon: "+numero2+" yenes");
  724.                                                     log39.WriteLine(numero1+" euros son "+numero2+" yenes");
  725.                                                     log39.WriteLine();
  726.                                                     Console.ReadKey();
  727.                                                     break;                                    
  728.                                                 case 6:                            
  729.                                                     Console.Write("\nIntroduce la cantidad de yenes a transformar:\t"); //numero1=Yen numero2=Euro                                 
  730.                                                     numero1 = double.Parse(Console.ReadLine());                                        
  731.                                                     numero2=numero1*0.0102297727;
  732.                                                     Console.Write("\nSon: "+numero2+" Euros");
  733.                                                     log39.WriteLine(numero1+" yenes son "+numero2+" euros");
  734.                                                     log39.WriteLine();
  735.                                                     Console.ReadKey();
  736.                                                     break;                                                         
  737.                                                 case 7:                            
  738.                                                     Console.Out.Write("\nEscribe un numero: ");
  739.                                                     num1=int.Parse(Console.ReadLine());
  740.                                                     Console.Write("El numero en binario es: "+Convert.ToString(num1, 2));
  741.                                                     log39.WriteLine("El número "+num1+" es en binario "+Convert.ToString(num1, 2));
  742.                                                     log39.WriteLine();
  743.                                                     Console.ReadKey();
  744.                                                     break;                   
  745.                                                 case 8:    
  746.                                                     Console.Write("Introduce un número binario: ");
  747.                                                     cad1 = Console.ReadLine();
  748.                                                     num1 = Convert.ToInt32(cad1, 2);                                               
  749.                                                     Console.Write("\nEn decimal es "+num1);
  750.                                                     log39.WriteLine("El número binario "+cad1+" es en decimal "+num1);
  751.                                                     log39.WriteLine();
  752.                                                     Console.ReadKey();
  753.                                                     break;
  754.                                                 case 9:                                          
  755.                                                     Console.Out.Write("\nEscribe un numero: ");
  756.                                                     num1=int.Parse(Console.ReadLine());
  757.                                                     Console.Write("El numero en octal es: "+Convert.ToString(num1, 8));
  758.                                                     log39.WriteLine("El número "+num1+" es en octal "+Convert.ToString(num1, 8));
  759.                                                     log39.WriteLine();
  760.                                                     Console.ReadKey();
  761.                                                     break;         
  762.                                                 case 10:                                                                                                                     
  763.                                                     Console.Write("Introduce un número octal: ");
  764.                                                     cad1 = Console.ReadLine();                                                 
  765.                                                     num1 = Convert.ToInt32(cad1, 8);
  766.                                                     Console.Write("\nEn decimal es "+num1);
  767.                                                     log39.WriteLine("El número octal "+cad1+" es en decimal "+num1);
  768.                                                     log39.WriteLine();
  769.                                                     Console.ReadKey();
  770.                                                     break;
  771.                                                 case 11:   
  772.                                                     Console.Out.Write("\nEscribe un número: ");
  773.                                                     num1=int.Parse(Console.ReadLine());
  774.                                                     Console.Write("El número en hexadecimal es: "+Convert.ToString(num1, 16));
  775.                                                     log39.WriteLine("El número "+num1+" es en hexadecimal "+Convert.ToString(num1, 16));
  776.                                                     log39.WriteLine();
  777.                                                     Console.ReadKey();
  778.                                                     break;             
  779.                                                 case 12:
  780.                                                     Console.Write("Introduce un número hexadecimal: ");
  781.                                                     cad1 = Console.ReadLine();                                         
  782.                                                     num1 = Convert.ToInt32(cad1, 16);                                  
  783.                                                     Console.Write("\nEn decimal es "+num1);
  784.                                                     log39.WriteLine("El número hexadecimal "+cad1+" es en decimal "+num1);
  785.                                                     log39.WriteLine();
  786.                                                     Console.ReadKey();
  787.                                                     break;
  788.                                                 case 13:    
  789.                                                     Console.Write("Introduce los segundos: ");
  790.                                                     num1 = long.Parse(Console.ReadLine());  //num1=sec   num2=hr   num3=min
  791.                                                     Console.Write(num1+"segundos son:");   
  792.                                                     log39.WriteLine(num1+" segundos son:");
  793.                                                     log39.WriteLine();                                                     
  794.                                                     num2 = num1 / (60*60);
  795.                                                     num1 %= 60*60;
  796.                                                     num3 = num1 / 60;
  797.                                                     num1 %= 60;
  798.                                                     Console.Write("\n"+num2+" horas\n"+num3+" minutos\n"+num1+" segundos");
  799.                                                     log39.WriteLine(num2+" horas, "+num3+" minutos y "+num1+" segundos");
  800.                                                     log39.WriteLine();                                                     
  801.                                                     Console.ReadKey();
  802.                                                     break;                                                                                                                                                                                                                                                                                   
  803.                                             }                                              
  804.                                     }while(opcion3!=0);
  805.                                         log39.Close();                                 
  806.                                         break;         
  807.                                 case 10:       
  808.                                     long fibo1, fibo2,limite;
  809.                                     string fichero310 = nomfichero;
  810.                                     StreamWriter log310 = File.AppendText(fichero310);                             
  811.                                     log310.WriteLine("Serie de Fibonacci");
  812.                                     log310.WriteLine("----------------------------");
  813.                                     fibo1 = 1; fibo2 = 1;
  814.                                     Console.Write("\nIntroduce la cantidad de números que apareceran en la serie: ");
  815.                                     limite = long.Parse(Console.ReadLine());
  816.                                     log310.WriteLine("Los "+limite+" primeros numeros de la serie son: ");
  817.                                     log310.WriteLine();
  818.                                     Console.Write("\n"+fibo1+" ");                                 
  819.                                         for (int i = 0; i < limite; i++){
  820.                                             Console.Write(fibo2+" ");  
  821.                                             log310.Write(fibo2+" ");
  822.                                             fibo2 += fibo1;
  823.                                             fibo1 = fibo2 - fibo1;
  824.                                         }          
  825.                                     log310.WriteLine();log310.WriteLine(); 
  826.                                     log310.Close();
  827.                                     Console.ReadKey();
  828.                                     break;                         
  829.                                 case 11:
  830.                                     long a2, b2, x2, z2, y2, i4;
  831.                                     y2=1;i4=2;
  832.                                     string fichero311 = nomfichero;
  833.                                     StreamWriter log311 = File.AppendText(fichero311);                             
  834.                                     log311.WriteLine("MCD - Máximo Común Divisor");
  835.                                     log311.WriteLine("----------------------------------------------");
  836.                                     Console.Write("Introduce el primer número: ");
  837.                                     a2 = long.Parse(Console.ReadLine());
  838.                                     Console.Write("Introduce el segundo número: ");
  839.                                     b2 = long.Parse(Console.ReadLine());
  840.                                         if (a2<b2){x2=a2; z2=b2;} else {x2=b2; z2=a2;}
  841.                                             do {
  842.                                                 if (x2%i4==0 && z2%i4==0){
  843.                                                     y2=y2*i4;
  844.                                                     x2=x2/i4; z2=z2/i4;
  845.                                                     i4=2;
  846.                                                 }
  847.                                                 else i4++;
  848.                                             }while(i4<=x2);
  849.                                     Console.Write("\nEl MCD es "+y2);
  850.                                     log311.WriteLine("El MCD de "+a2+" y de "+b2+" es "+y2);
  851.                                     log311.WriteLine();
  852.                                     log311.Close();
  853.                                     Console.ReadKey();
  854.                                     break;
  855.                                 case 12:                           
  856.                                     long aa, bb, x, zz, yy=1, ii=2;
  857.                                     string fichero312 = nomfichero;
  858.                                     StreamWriter log312 = File.AppendText(fichero312);                             
  859.                                     log312.WriteLine("MCM - Mínimo Común Múltiplo");
  860.                                     log312.WriteLine("----------------------------------------------");
  861.                                     Console.Write("Introduce el primer número: ");
  862.                                     aa = long.Parse(Console.ReadLine());
  863.                                     Console.Write("Introduce el primer número: ");
  864.                                     bb = long.Parse(Console.ReadLine());
  865.                                         if (aa<bb){x=aa; zz=bb;} else {x=bb; zz=aa;}
  866.                                             do{
  867.                                                 if (x%ii==0){
  868.                                                     if(zz%ii==0){
  869.                                                         yy=yy*ii;
  870.                                                         x=x/ii; zz=zz/ii;   ii=2;
  871.                                                     }else ii++;
  872.                                             }else ii++;
  873.                                         }while(ii<=x);
  874.                                     yy=yy*zz*x;
  875.                                     Console.Write("\nEl MCM es "+yy);
  876.                                     log312.WriteLine("El MCM de "+aa+" y de "+bb+" es "+yy);   
  877.                                     log312.WriteLine();
  878.                                     log312.Close();
  879.                                     Console.ReadKey();                                 
  880.                                     break;                                                   
  881.                             }                                          
  882.                         }while(opcion2!=0);
  883.                             break;                         
  884.                     case 4:
  885.                       do{
  886.                         Console.Clear();
  887.                         Console.Write("\n Elije la operación a realizar:\t\t\t\t\t    Volver(0)");
  888.                         Console.Write("\n ------------------------------\n\n");
  889.                         Console.Write(" 1-Test de cálculo matemático\t\t2-Codificar mensajes\n\n");
  890.                         Console.Write(" Elección>>> ");
  891.                         opcion2 = long.Parse(Console.ReadLine());
  892.                         Console.Clear();
  893.                             switch(opcion2){   
  894.                                 case 1:    
  895.                                     Console.Write("\n Prueba de rendimiento del microprocesador:\t\t\t    Volver(0) ");                                                                                
  896.                                     Console.Write("\n ------------------------------------------\n\n");
  897.                                     Console.Write("\n Consiste en que el micro realice muchos cálculos matemáticos lo mas rápido\n");
  898.                                     Console.Write("\n posible, sometiendolo al máximo esfuerzo para así poder saber cual es \n");
  899.                                     Console.Write("\n su tiempo de respuesta.\n\n Las pruebas son de cálculo de numeros primos y de múltiplos.\n");
  900.                                     Console.Write("\n\n Elije el nivel: ==> Fácil (1) \n");
  901.                                     Console.Write("\n \t\t ==> Medio (2) \n");
  902.                                     Console.Write("\n \t\t ==> Difícil (3)\n\n");
  903.                                     Console.Write(" Elección>>> ");                   
  904.                                     opcion3 = long.Parse(Console.ReadLine());
  905.                                     Console.Clear();
  906.                                         switch(opcion3){
  907.                                             case 1:
  908.                                                 Console.Clear();   
  909.                                                 string fichero41 = "Test de rendimiento.txt";
  910.                                                 StreamWriter log41 = File.AppendText(fichero41);   
  911.                                                 log41.WriteLine("Rendimiento del Microprocesador");
  912.                                                 log41.WriteLine("------------------------------------------------");
  913.                                                 Tiempo.Start();
  914.                                                     for(num2=1;num2<=50000;num2++){         //PRUEBA 1 - Nº´s Primos
  915.                                                         for(num3=1;num3<=num2;num3++){
  916.                                                             num4=num2%num3;
  917.                                                              if(num4==0){
  918.                                                                 num5=num5+1;
  919.                                                             }
  920.                                                         }
  921.                                                         if(num5==2){
  922.                                                             Console.Write(num2+" ");   
  923.                                                         }
  924.                                                         num5=0;
  925.                                                     }  
  926.                                                 Tiempo.Stop();
  927.                                                 Console.Clear();
  928.                                                 TimeSpan tiempo1 = Tiempo.Elapsed;
  929.                                                 string elapsedTime1 = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
  930.                                                 tiempo1.Hours, tiempo1.Minutes, tiempo1.Seconds,tiempo1.Milliseconds / 10);                            
  931.                                                 log41.WriteLine("Test 1: Cálculo de numeros primos >>> "+elapsedTime1+" segundos");
  932.                                                 Tiempo.Start();                                    
  933.                                                     for(num3=7;num3<=1000000;num3=num3+7){  //PRUEBA 2 - Cálculo de Múltiplos
  934.                                                         Console.Write(num3+" ");   
  935.                                                     }
  936.                                                 Tiempo.Stop();                 
  937.                                                 TimeSpan tiempo2 = Tiempo.Elapsed;
  938.                                                 string elapsedTime2 = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
  939.                                                 tiempo2.Hours, tiempo2.Minutes, tiempo2.Seconds,tiempo2.Milliseconds / 10);                            
  940.                                                 log41.WriteLine("Test 2: Cálculo de múltiplos >>> "+elapsedTime2+" segundos");  
  941.                                                 log41.WriteLine();                             
  942.                                                 log41.WriteLine("Tiempo Total: "+(tiempo1+tiempo2)+" segundos");
  943.                                                 log41.WriteLine();log41.WriteLine();  
  944.                                                 Thread.Sleep(2000);
  945.                                                 Console.Clear();                                                                                 
  946.                                                 Console.Write("\n El test ha finalizado correctamente en "+(tiempo1+tiempo2)+" segundos. Comprueba en\n");
  947.                                                 Console.Write(" el archivo de texto \"Test de rendimiento\" el resultado que has obtenido.\n\n");
  948.                                                 Thread.Sleep(5000);
  949.                                                 Process.Start("notepad.exe", "Test de rendimiento.txt");
  950.                                                 log41.Close();                                         
  951.                                                 Console.ReadKey();
  952.                                                 break;
  953.                                         }
  954.                                         break;                     
  955.                                     case 2:
  956.                                       do{
  957.                                         Console.Clear();
  958.                                         Console.Write("\n Codificación de Mensajes:\t\t\t    Volver(0) ");                                                                                
  959.                                         Console.Write("\n -------------------------\n\n");
  960.                                         Console.Write("\n 1- Encriptar\n");
  961.                                         Console.Write("\n 2- Desencriptar\n");
  962.                                         Console.Write("\n Elección>>> ");     
  963.                                         opcion3 = long.Parse(Console.ReadLine());
  964.                                         Console.Clear();
  965.                                             switch(opcion3){
  966.                                                 case 1:              //msdn.microsoft.com/es-es/library/bb311038.aspx
  967.                                                     int number2;                                               
  968.                                                     Console.Write("\n Introduce el mensaje a encriptar: \n\n");
  969.                                                     Console.Write("\n >>> ");
  970.                                                     cad1 = Console.ReadLine(); 
  971.                                                    
  972.                                                     number2 = Convert.ToInt32(cad1);
  973.                                                     cad2 = String.Format("{0:X}", number2);
  974.                                                     Console.WriteLine("\n\n >>> "+cad2);
  975.                                                     break;
  976.                                                 case 2:
  977.                                                     int number;
  978.                                                     Console.Write("\n Introduce el mensaje encriptado: \n\n");
  979.                                                     Console.Write("\n >>> ");
  980.                                                     cad1 = Console.ReadLine();                                         
  981.                                                     number = Convert.ToInt32(cad1, 16);
  982.                                                     cad2 = Char.ConvertFromUtf32(number);                                      
  983.                                                     Console.Write("\n\n >>> "+cad2+" ");
  984.                                                     Console.ReadKey();
  985.                                                     break;                                         
  986.                                             }                                      
  987.                                         }while(opcion3!=0);
  988.                                         break;               
  989.                                     }
  990.                                 }while(opcion2!=0);
  991.                             break;     
  992.                     case 5:
  993.                         Console.Clear();   
  994.                         Console.Write("\n\n\t ##############################################################\n");
  995.                         Console.Write("\t #                                                            #\n");
  996.                         Console.Write("\t # Aplicación matemática creada en C con la ayuda y        #\n");
  997.                         Console.Write("\t # generosa colaboración de varios compañeros de           #\n");
  998.                         Console.Write("\t # elhacker.net                                  #\n");
  999.                         Console.Write("\t #                                                            #\n");
  1000.                         Console.Write("\t # Este software esta compuesto por código propio y por       #\n");
  1001.                         Console.Write("\t # pedazos de códigos extraidos de otras aplicaciones, por    #\n");
  1002.                         Console.Write("\t # lo tanto es de código abierto y de libre distribución,     #\n");
  1003.                         Console.Write("\t # pudiéndose modificar y mejorar por cualquier usuario.      #\n");
  1004.                         Console.Write("\t #                                                            #\n");
  1005.                         Console.Write("\t #                                         v"+version+" 20/10/12     #\n");
  1006.                         Console.Write("\t #                                                       #\n");
  1007.                         Console.Write("\t #                                        Creado por Dryken   #\n");
  1008.                         Console.Write("\t #                                                       #\n");
  1009.                         Console.Write("\t ##############################################################\n\n");  
  1010.                         Console.ReadKey();                     
  1011.                         break;
  1012.             }
  1013.         }while(opcion1!=6);
  1014.     }//Fin Main
  1015. }//Fin Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement