Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Text;
- namespace ESTADISTICA_DESCRIPTIVA
- {
- public static class Program
- {
- public static void Main()
- {
- Console.ForegroundColor = ConsoleColor.Magenta;
- Console.WriteLine("C# Android APK consola: CALCULO DE MEDIA MEDIANA Y MODA");
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("nimrodga@hotmail.com");
- HOME://Etiqueta de inico
- try //Capturador de excepcion de entrada
- {
- double[] datos; double M; double sturges=0; double ME=0; double MO=0;
- var frec = new Tuple<string, string, string>("Caso", "frecuencia", "f %");
- double[,] frecuencias; double As = 0; double CU = 0;
- double?[] x; int c; double r; double Moda = 0; int fin;
- int[] f; double Interval; var Agrup = new Tuple<string, string, string, string>("Intervalo", "Xm", "fm", "fm %");
- // Configuracion de visualizacion de ingreso de datos
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.Write("Ingrese número de datos: ");
- int nd = int.Parse(Console.ReadLine());
- //Excepcion sobre el número de datos menor
- if (nd < 2)
- {
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.WriteLine("¡ Error !!");
- goto HOME;
- }
- Console.WriteLine();
- Console.Write("Ingrese número de cifras decimales que diferencian los datos (si son números enteros, ingrese 0), revise bien sus datos para ello, pues esto podría causar solamente, que la agrupación discreta omita algún valor: ");
- int dec = int.Parse(Console.ReadLine());
- datos = new double[nd]; double suma = 0;
- frecuencias = new double[1, 3];
- Console.Clear();
- for (int j = 0; j < nd; j++)
- {
- test:
- Console.Write($"Ingrese dato {j + 1} /{nd} : ");
- try //Capturador de ecepciones en lectura de entradas
- {
- datos[j] = double.Parse(Console.ReadLine());
- Console.Clear();
- }
- catch (FormatException)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"Error en lectura numerica");
- Console.ForegroundColor = ConsoleColor.Yellow;
- goto test;
- }
- suma = suma + datos[j];
- }
- string path = @"ESTADISTICA_DESCRIPTIVA.txt";
- if(File.Exists(path))
- {
- File.Delete(path);
- }
- static void AdText(FileStream ED, string value)
- {
- byte[] info = new UTF8Encoding(true).GetBytes(value);
- ED.Write(info,0,info.Length);
- }
- using (FileStream ED = File.Create(path))
- {
- //Console.WriteLine("REVISE SUS DATOS:");
- AdText(ED,"REVISE SUS DATOS:\r\n");
- Console.ForegroundColor = ConsoleColor.Green;
- for (int j = 0; j < nd; j++)
- {
- if (j == nd - 1)
- {
- //Console.Write(datos[j]);
- AdText(ED,$"{datos[j]}\r\n");
- AdText(ED,"\r\n");
- break;
- }
- //Console.Write($"{datos[j]}, ");
- AdText(ED,$"{datos[j]}, ");
- }
- //Console.WriteLine();
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("1. MEDIA ARITMETICA");
- AdText(ED,"1. MEDIA ARITMETICA\r\n");
- Console.ForegroundColor = ConsoleColor.Yellow;
- //Console.WriteLine($" N = {nd} casos.");
- AdText(ED,$" N = {nd} casos.\r\n");
- //Console.WriteLine($" Puntos porcentuales por caso:");
- AdText(ED,$" Puntos porcentuales por caso:\r\n");
- //Console.WriteLine($" {Math.Round(100 / Convert.ToDouble(nd), 4)}");
- AdText(ED,$" {Math.Round(100 / Convert.ToDouble(nd), 4)}\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- ME = suma / nd;
- //Console.WriteLine($" La Media Aritmética es: {ME}");
- AdText(ED,$" La media es: {ME}\r\n");
- //Cálculo del Segundo y Cuarto momento
- double Ds; double SM = 0; double X = Math.Round(suma / nd, 2); double CM = 0;
- for (int j = 0; j < nd; j++)
- {
- SM = SM + Math.Pow(datos[j] - ME, 2);
- CM = CM + Math.Pow(datos[j] - ME, 4);
- }
- Ds = Math.Sqrt(SM / nd);
- if (Ds != 0)
- {
- CU = CM / (nd * Math.Pow(Ds, 4));
- }
- decimal b = 2.11M;
- b = Math.Round(Convert.ToDecimal(Ds), 2);
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("2. ORDENAMIENTO DE DATOS");
- AdText(ED,"2. ORDENAMIENTO DE DATOS\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine($"Los datos en orden son: ");
- AdText(ED,"Los datos en orden son:\r\n");
- //Algoritmo burbuja para el ordenamiento de datos
- for (int i = 0; i < nd; i++)
- {
- for (int k = 0; k <= nd - 2; k++)
- {
- if (datos[k] > datos[k + 1])
- {
- double y = datos[k];
- datos[k] = datos[k + 1];
- datos[k + 1] = y;
- }
- }
- }
- // Visualizador de los datos ordenados
- for (int m = 0; m < nd; m++)
- {
- if (m == nd - 1)
- {
- //Console.Write($"{datos[m]}");
- AdText(ED,$"{datos[m]}\r\n");
- AdText(ED,"\r\n");
- //Console.WriteLine();
- break;
- }
- //Console.Write($"{datos[m]}, ");
- AdText(ED,$"{datos[m]}, ");
- }
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("3. MEDIANA");
- AdText(ED,"3. MEDIANA\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- // Seccion de condicionales para visualizar la mediana
- if (nd % 2 == 1)
- {
- M = datos[((nd + 1) / 2) - 1];
- Console.WriteLine();
- //Console.WriteLine($"La mediana es {M} y pertenece a la muestra");
- AdText(ED,$"La mediana es {M} y pertenece a la muestra.\r\n");
- }
- if (nd % 2 == 0 && datos[nd / 2 - 1] == datos[nd / 2])
- {
- M = datos[nd / 2];
- //Console.WriteLine($"La mediana es {M} y pertenece a la muestra");
- AdText(ED,$"La mediana es {M} y pertenece a la muestra\r\n");
- }
- else if (nd % 2 == 0 && datos[nd / 2 - 1] != datos[nd / 2])
- {
- M = (datos[nd / 2 - 1] + datos[nd / 2]) / 2;
- //Console.WriteLine();
- //Console.WriteLine($"La mediana es {M} y no pertenece a la muestra");
- AdText(ED,$"La mediana es {M} y no pertenece a la muestra\r\n");
- }
- //Console.WriteLine();
- AdText(ED,$"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("4. FRECUENCIAS SIMPLES");
- AdText(ED,"4. FRECUENCIAS SIMPLES\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- // Visualizacion y calculo de frecuencias
- x = new double?[datos.Length];
- f = new int[datos.Length];
- int Max = 0;
- //Console.WriteLine(frec);
- AdText(ED,$"{frec}\r\n");
- for (int i = 0; i < datos.Length; i++)
- {
- c = 0; f[i] = 0;
- for (int k = 0; k < datos.Length; k++)
- {
- if (datos[k] == datos[i])
- {
- ++c;
- if (caso(datos[i]))
- {
- x[i] = datos[i];
- }
- }
- if (c >= Max)
- {
- Max = c;
- Moda = datos[i];
- }
- }
- f[i] = c;
- r = Math.Round(100 * Convert.ToDouble(f[i]) / Convert.ToDouble(nd), 1);
- if (x[i] != null)
- {
- //Console.WriteLine($"({x[i]}, {c}, {r} %)");
- AdText(ED,$"({x[i]}, {c}, {r} %)\r\n");
- }
- }
- //Console.WriteLine();
- AdText(ED,"\r\n");
- // funcion booleana para calculo de repeticiones
- bool caso(double valor)
- {
- for (int i = 0; i < x.Length; i++)
- {
- if (x[i] == valor)
- {
- return false;
- }
- }
- return true;
- }
- // Visualizacion de valores modales posibles
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("5. MODA");
- AdText(ED,"5. MODA\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- string modas = "";
- int z = 0; int s = 0; int us = 1;
- for (int j = 0; j < x.Length; j++)
- {
- if (f[j] == Max && Max > 1)
- {
- z++;
- if (x[j] != null)
- {
- s++;
- MO = Convert.ToDouble(x[j]);
- //Console.WriteLine($"Moda {s} = {x[j]}");
- AdText(ED,$"Moda {s} = {x[j]}\r\n");
- us = j;
- modas = modas + Convert.ToString(x[j]) + ", ";
- }
- }
- }
- if (Max != 1)
- {
- //Console.WriteLine($"Frecuencia modal = {Max}");
- AdText(ED,$"Frecuencia modal = {Max}\r\n");
- }
- string modas1 = modas;
- if (s > 1)
- {
- modas1 = modas.TrimEnd(' ');
- modas1 = modas1.TrimEnd(',');
- string umoda = Convert.ToString(x[us]);
- int ulm = umoda.Length + 1;
- modas1 = modas1.Insert(modas1.Length - ulm, " y");
- }
- //Console.WriteLine();
- if (Max == 1)
- {
- modas = null;
- //Console.WriteLine(" No existe valor modal alguno.\n La muestra tiende a una distribución Uniforme, ningún valor se repite.");
- AdText(ED," No existe valor modal alguno.\n La muestra tiende a una distribución Uniforme, ningún valor se repite.\r\n");
- }
- else if (Max > 1 && s == 2)
- {
- //Console.WriteLine($"Bimodal: {modas1} con una frecuencia de {Max} las dos.");
- AdText(ED,$"Bimodal: {modas1} con una frecuencia de {Max} las dos.\r\n");
- }
- else if (Max > 1 && s > 2)
- {
- //Console.WriteLine($"Multimodal: {modas1} con una frecuencia de {Max} cada una.");
- AdText(ED,$"Multimodal: {modas1} con una frecuencia de {Max} cada una.\r\n");
- }
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("6. DISPERSION");
- AdText(ED,"6. DISPERSION\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- double unit = Math.Pow(10, -dec);
- //Console.WriteLine();
- AdText(ED,"\r\n");
- double range = (datos[nd - 1] - datos[0]) + unit;
- //Console.WriteLine($"Xmax = {datos[nd - 1]}, Xmin = {datos[0]}");
- AdText(ED,$"Xmax = {datos[nd - 1]}, Xmin = {datos[0]}\r\n");
- //Console.WriteLine($"RANGO = {range}");
- AdText(ED,$"RANGO = {range}\r\n");
- if (nd >= 8)
- {
- sturges = Math.Round(1 + 3.3 * Math.Log10(nd), 0);
- //Console.WriteLine();
- //Console.WriteLine($"Intervalos de clase sugeridos según Sturges:\r\n#CLASES = Math.Round(1 + 3.3 x Log {nd},0) =\n {sturges}");
- AdText(ED,$"Intervalos de clase sugeridos según Sturges:\r\n#CLASES = Math.Round(1 + 3.3 x Log {nd},0) = {sturges}\r\n");
- }
- Interval = 0;
- AdText(ED,"\r\n");
- Interval = Math.Round(Convert.ToDouble(range * Math.Pow(10, dec)) / sturges, 0) * unit;
- //Console.WriteLine($"LONGITUD DE INTERVALO:\n I = Math.Round(RANGO/#clases,0) = {Interval}");
- AdText(ED,$"LONGITUD DE INTERVALO:\n I = Math.Round(RANGO/#clases,0) = {Interval}");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- //Console.WriteLine($"Desviación estándar S = {b} unidades.");
- AdText(ED,$"Desviación estándar S = {b} unidades.\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("7. ASIMETRIA O SESGO:");
- AdText(ED,"7. ASIMETRIA O SESGO:\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine("As=(Moda - Media) ÷ Desviación Estándar");
- AdText(ED,"As=(Moda - Media) ÷ Desviación Estándar\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- if (Max == 1)
- {
- //Console.WriteLine("La muestra no posee asimetria alguna, porque muestra una tendencia Uniforme.\nNingun valor se repite");
- AdText(ED,"La muestra no posee asimetria alguna,\r\nporque muestra una tendencia Uniforme.\r\nNingún valor se repite\r\n");
- }
- if (Ds == 0)
- {
- //Console.WriteLine("As = Indefinida porque S = 0.");
- AdText(ED,"As = Indefinida porque S = 0.\r\n");
- }
- else if (Max > 1 && s == 1)
- {
- As = (MO - ME) / Convert.ToDouble(b);
- //Console.WriteLine($"As = {As}");
- AdText(ED,$"As = {As}\r\n");
- if (Math.Abs(As) <= 0.2)
- {
- Console.ForegroundColor = ConsoleColor.Blue;
- //Console.WriteLine("Asimetría o sesgo mínimo !!:");
- AdText(ED,"Asimetría o sesgo mínimo !!\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Green;
- //Console.WriteLine("Muestra con tendencia simétrica, o tendencia t-Student: \n Distribución unimodal con Media, Mediana y Moda muy cercanas entre sí.");
- AdText(ED,"Muestra con tendencia simétrica, o tendencia t-Student: \nDistribución unimodal con Media, Mediana y Moda muy cercanas entre sí.\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- }
- else if (Math.Abs(As) > 0.2 && MO > ME)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- //Console.WriteLine("Muestra unimodal con sesgo positivo o tendencia asimétrica con sesgo hacia la derecha.");
- AdText(ED,"Muestra unimodal con sesgo positivo o \ntendencia asimétrica con sesgo hacia la derecha.\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- }
- else if (Math.Abs(As) > 0.2 && MO < ME)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- //Console.WriteLine("Muestra unimodal con sesgo negativo o tendencia asimétrica con sesgo hacia la Izquierda.");
- AdText(ED,"Muestra unimodal con sesgo negativo o \ntendencia asimétrica con sesgo hacia la Izquierda.\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- }
- }
- if (Max > 1 && s > 1)//Si existe moda y hay más de una.
- {
- Console.ForegroundColor = ConsoleColor.Green;
- //Console.WriteLine($"No se puede caracterizar asimetría, porque la muestra presenta {s} picos modales en {modas1} los cuales forman altibajos.");
- AdText(ED,$"No se puede caracterizar asimetría, \nporque la muestra presenta {s} picos modales en \n{modas1}, los cuales forman altibajos.\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- }
- //Console.WriteLine();
- AdText(ED,"\r\n");
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("8. CURTOSIS (Ω):");
- AdText(ED,"8. CURTOSIS (Ω):\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine("Aglomeración entorno a la media. Tipos:");
- AdText(ED,"Aglomeración entorno a la media. Tipos:\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- //Console.WriteLine("Leptocúrtica Ω > 3 (Punteaguda)");
- AdText(ED,"Leptocúrtica Ω > 3 (Punteaguda)\r\n");
- //Console.WriteLine("Mesocúrtica Ω = 3 (Curva Normal)");
- AdText(ED,"Mesocúrtica Ω = 3 (Curva Normal)\r\n");
- //Console.WriteLine("Flaticúrtica Ω < 3 (Achatada)");
- AdText(ED,"Flaticúrtica Ω < 3 (Achatada)\r\n");
- Console.ForegroundColor = ConsoleColor.Yellow;
- AdText(ED,"\r\n");
- //Console.WriteLine(" Para esta muestra:");
- AdText(ED," Para esta muestra:\r\n");
- if (Ds == 0)
- {
- //Console.WriteLine(" Ω = Indefinida, porque S = 0.");
- AdText(ED," Ω = Indefinida, porque S = 0.\r\n");
- }
- if (Ds != 0)
- {
- //Console.WriteLine($" Ω = {Math.Round(CU, 3)}");
- AdText(ED,$" Ω = {Math.Round(CU, 3)}\r\n");
- }
- if(CU>0 && Max>1 && s>1 || modas==null)
- {
- //Console.WriteLine("El valor de Ω no se puede caracterizar geométricamente, porque la muestra presenta más de una cumbre modal, o bien es una muestra que tiende a una distribución uniforme.");
- AdText(ED,"El valor de Ω no se puede caracterizar geométricamente, \r\nporque la muestra presenta más de una cumbre modal, \r\no bien es una muestra que tiende \r\na una distribución uniforme.");
- }
- else if (CU > 3 && Ds!=0)
- {
- //Console.WriteLine($"Muestra con tendencia leptocúrtica, con un exceso (pico de cumbre) de Ω - 3 = {Math.Round(CU - 3, 3)}, por encima de la curva Normal.");
- AdText(ED,$"Muestra con tendencia leptocúrtica, \ncon un exceso (pico de cumbre) de Ω - 3 = {Math.Round(CU - 3, 3)}, \npor encima de la curva Normal.\r\n");
- if (CU - 3 < 0.2 && CU - 3 >= 0.1)
- {
- //Console.WriteLine("Aunque el exceso es mínimo, pudiendo considerarse 'cuasinormal' ");
- AdText(ED,"Aunque el exceso es mínimo, \npudiendo considerarse 'cuasinormal'\r\n");
- }
- }
- else if (Math.Abs(CU - 3) < 0.1 && Ds!=0)
- {
- //Console.WriteLine("Muestra con tendencia Mesocúrtica o de curva Normal\n (Ω = 3).");
- AdText(ED,"Muestra con tendencia Mesocúrtica o de curva Normal\n (Ω = 3).\r\n");
- }
- else if (CU < 3 && Ds != 0)
- {
- //Console.WriteLine($"Muestra con tendencia flaticúrtica, con una disminución de cumbre 3 - Ω = {Math.Round(3 - CU, 3)}, por debajo de la Normal.");
- AdText(ED,$"Muestra con tendencia flaticúrtica, \ncon una disminución de cumbre:\n 3 - Ω = {Math.Round(3 - CU, 3)}, \npor debajo de la Normal.\r\n");
- if (3 - CU < 0.2 && 3 - CU >= 0.1)
- {
- //Console.WriteLine("Aunque la disminución es mínima, pudiendo considerarse 'cuasinormal'.");
- AdText(ED,"Aunque la disminución es mínima, \npudiendo considerarse 'cuasinormal'.\r\n");
- }
- }
- //Console.WriteLine();
- AdText(ED,"\r\n");
- //Datos en agrupación Discreta
- Console.ForegroundColor = ConsoleColor.Magenta;
- //Console.WriteLine("9. DATOS AGRUPADOS");
- AdText(ED,"9. DATOS AGRUPADOS\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- double Inicial = datos[0];
- double Final = 0;
- Console.ForegroundColor = ConsoleColor.DarkCyan;
- //Console.WriteLine("Agrupación con límites discretos sugerida:");
- AdText(ED,"Agrupación con límites discretos sugerida:\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine($"LONGITUD DE INTERVALO I = {Interval}");
- AdText(ED,$"LONGITUD DE INTERVALO I = {Interval}\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- //Console.WriteLine(Agrup);
- AdText(ED,$"{Agrup}\r\n");
- do
- {
- Final = Inicial + Interval;
- Final = Math.Round(Final, dec);
- double Xm = (Inicial + Final) / 2;
- int Fm = 0;
- for (int t = 0; t < nd; t++)
- {
- if (datos[t] >= Inicial && datos[t] <= Final)
- {
- Fm++;
- }
- }
- double Fp = Math.Round(Convert.ToDouble(Fm) * 100 / Convert.ToDouble(nd), 2);
- //Console.WriteLine($"{Inicial} - {Final} | {Xm} | {Fm} | {Fp}");
- AdText(ED,$"{Inicial} - {Final} | {Xm} | {Fm} | {Fp}\r\n");
- Inicial = Math.Round(Final + unit, dec);
- } while (Final < datos[nd - 1]);
- //Console.WriteLine();
- AdText(ED,"\r\n");
- //Datos en agrupación continua
- Console.ForegroundColor = ConsoleColor.DarkCyan;
- //Console.WriteLine("Agrupación con límites continuos, o reales, sugerida:");
- AdText(ED,"Agrupación con límites continuos, o reales, sugerida:\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine($"LONGITUD DE INTERVALO:\n I + unity = {Interval + unit}");
- AdText(ED,$"LONGITUD DE INTERVALO:\r\n I + unity = {Interval + unit}\r\n");
- //Console.WriteLine();
- AdText(ED,"\r\n");
- double LRI = datos[0] - 5 * Math.Pow(10, -dec - 1);
- double LRF = 0;
- double Xmr = 0; int Fmr = 0;
- //Console.WriteLine(Agrup);
- AdText(ED,$"{Agrup}\r\n");
- do
- {
- LRF = LRI + Interval + 1 * unit;
- LRF = Math.Round(LRF, dec + 1);
- Xmr = (LRI + LRF) / 2;
- Fmr = 0;
- for (int t = 0; t < nd; t++)
- {
- if (datos[t] > LRI && datos[t] < LRF)
- {
- Fmr++;
- }
- }
- double Fpr = Math.Round(Convert.ToDouble(Fmr) * 100 / Convert.ToDouble(nd), 2);
- //Console.WriteLine($"{LRI} - {LRF} | {Xmr} | {Fmr} | {Fpr}");
- AdText(ED,$"{LRI} - {LRF} | {Xmr} | {Fmr} | {Fpr}\r\n");
- LRI = LRF;
- } while (LRF < datos[nd - 1]);
- //Console.WriteLine();
- AdText(ED,"\r\n");
- if (nd < 8)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- //Console.WriteLine("La agrupacion es impropia para una muestra menor que N = 8");
- AdText(ED,"La agrupación es impropia para una muestra menor que N = 8\r\n");
- Console.ForegroundColor = ConsoleColor.Cyan;
- //Console.WriteLine();
- }
- ED.Close();
- }
- using(FileStream ReadED = File.OpenRead(path))
- {
- byte[] Text = new byte [ReadED.Length+10];
- UTF8Encoding Template = new UTF8Encoding(true);
- while (ReadED.Read(Text,0,Text.Length)>0);
- {
- Console.WriteLine(Template.GetString(Text));
- }
- ReadED.Close();
- }
- }
- // Visualizador de mensaje de excepcion y retorno a HOME
- catch (FormatException)
- {
- Console.WriteLine("Error !! ingrese entero mayor que 1, o cierre la aplicación.");
- goto HOME;
- }
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write("Seleccione y copie lo que desee para:\npegar en un documento editable y poder guardar, o bien tome capturas de pantalla \ny comparta directamente por Bluetooth u otro medio... \n");
- //Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement