Ardurum

Practica2

Jan 20th, 2021
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 14.62 KB | None | 0 0
  1.  using System;
  2.  
  3. namespace practica2
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             //Ejercicio1();
  10.             //Ejercicio2();
  11.             //Ejercicio3();
  12.             //Ejercicio4();
  13.             //Ejercicio5();
  14.             //Ejercicio6();
  15.         }
  16.         static void Ejercicio1()
  17.         {
  18.             string categoria;
  19.             Console.Write("Preu del producte: ");
  20.             float preu_producte = Convert.ToSingle(Console.ReadLine());
  21.             do
  22.             {
  23.                 Console.Write(" Categoria del producte: ");
  24.                 categoria = Console.ReadLine().ToUpper();
  25.             } while (categoria != "B" && categoria != "A" && categoria != "C");
  26.             Console.WriteLine("Una vez aplicado el descuento, el producto quedaría por " + CalcularDescompte(categoria, preu_producte) + " euros.");
  27.         }
  28.         static float CalcularDescompte(string categoria, float preu_producte)
  29.         {
  30.             float desconte_aplicat;
  31.             double DBdesconte_aplicat;
  32.             if (categoria == "A")
  33.                 DBdesconte_aplicat = preu_producte * 0.05;
  34.             else if (categoria == "B")
  35.                 DBdesconte_aplicat = preu_producte * 0.1;
  36.             else
  37.             {
  38.                 if (preu_producte < 100)
  39.                     DBdesconte_aplicat = preu_producte * 0.2;
  40.                 else
  41.                     DBdesconte_aplicat = preu_producte * 0.35;
  42.             }
  43.             desconte_aplicat = Convert.ToSingle(DBdesconte_aplicat);
  44.             return desconte_aplicat;
  45.         }
  46.  
  47.         //////////////////////////////////////////
  48.         static void Ejercicio2()
  49.         {
  50.             string tipus_iva;
  51.             float preu_producte;
  52.             bool existe_iva;
  53.             Console.Write("Preu del producte: ");
  54.             preu_producte = Convert.ToSingle(Console.ReadLine());
  55.             do
  56.             {
  57.                 Console.Write("Tipus d'IVA: ");
  58.                 tipus_iva = Console.ReadLine().ToLower();
  59.             } while (tipus_iva != "general" && tipus_iva != "reduït" && tipus_iva != "superreduit" && tipus_iva != "exempt");
  60.  
  61.             Console.Write("Introdueix la data de compra: ");
  62.             string fecha = Console.ReadLine();
  63.  
  64.             DateTime fecha_compra = DateTime.Parse(fecha);
  65.             CalcularIVA(fecha_compra, ref preu_producte, tipus_iva, out existe_iva);
  66.  
  67.             if (existe_iva == false)
  68.                 Console.Write("El descompte " + tipus_iva + " no es troba disponible, per tant el preu final del producet es de " + preu_producte + ".");
  69.             else
  70.                 Console.Write("El preu final del producte es " + preu_producte + ".");
  71.         }
  72.         static float CalcularIVA(DateTime fecha_compra, ref float preu_producte, string tipus_iva, out bool existe_iva)
  73.         {
  74.             double iva_aplicado = 0;
  75.             existe_iva = true;
  76.             DateTime[] inici_vigencia = new DateTime[6];
  77.             inici_vigencia[0] = DateTime.Parse("01-01-1986");
  78.             inici_vigencia[1] = DateTime.Parse("01-01-1992");
  79.             inici_vigencia[2] = DateTime.Parse("01-01-1993");
  80.             inici_vigencia[3] = DateTime.Parse("01-01-1995");
  81.             inici_vigencia[4] = DateTime.Parse("01-01-2010");
  82.             inici_vigencia[5] = DateTime.Parse("15-07-2012");
  83.             if (tipus_iva == "exempt")
  84.                 iva_aplicado = 0;
  85.             else
  86.             {
  87.                 if (fecha_compra >= inici_vigencia[0] && fecha_compra < inici_vigencia[1])
  88.                 {
  89.                     if (tipus_iva == "general")
  90.                         iva_aplicado = 0.12;
  91.                     else if (tipus_iva == "reduït")
  92.                         iva_aplicado = 0.06;
  93.                     else if (tipus_iva == "superreduit")
  94.                     {
  95.                         existe_iva = false;
  96.                         iva_aplicado = 0;
  97.                     }
  98.                 }
  99.                 else if (fecha_compra >= inici_vigencia[1] && fecha_compra < inici_vigencia[2])
  100.                 {
  101.                     if (tipus_iva == "general")
  102.                         iva_aplicado = 0.15;
  103.                     else if (tipus_iva == "reduït")
  104.                         iva_aplicado = 0.06;
  105.                     else if (tipus_iva == "superreduit")
  106.                     {
  107.                         existe_iva = false;
  108.                         iva_aplicado = 0;
  109.                     }
  110.                 }
  111.                 else if (fecha_compra >= inici_vigencia[2] && fecha_compra < inici_vigencia[3])
  112.                 {
  113.                     if (tipus_iva == "general")
  114.                         iva_aplicado = 0.15;
  115.                     else if (tipus_iva == "reduït")
  116.                         iva_aplicado = 0.06;
  117.                     else if (tipus_iva == "superreduit")
  118.                         iva_aplicado = 0.03;
  119.                     else
  120.                         iva_aplicado = 0;
  121.                 }
  122.                 else if (fecha_compra >= inici_vigencia[3] && fecha_compra < inici_vigencia[4])
  123.                 {
  124.                     if (tipus_iva == "general")
  125.                         iva_aplicado = 0.16;
  126.                     else if (tipus_iva == "reduït")
  127.                         iva_aplicado = 0.07;
  128.                     else if (tipus_iva == "superreduit")
  129.                         iva_aplicado = 0.04;
  130.                 }
  131.                 else if (fecha_compra >= inici_vigencia[4] && fecha_compra < inici_vigencia[5])
  132.                 {
  133.                     if (tipus_iva == "general")
  134.                         iva_aplicado = 0.18;
  135.                     else if (tipus_iva == "reduït")
  136.                         iva_aplicado = 0.08;
  137.                     else
  138.                         iva_aplicado = 0.04;
  139.                 }
  140.                 else
  141.                 {
  142.                     if (tipus_iva == "general")
  143.                         iva_aplicado = 0.21;
  144.                     else if (tipus_iva == "reduït")
  145.                         iva_aplicado = 0.10;
  146.                     else
  147.                         iva_aplicado = 0.04;
  148.                 }
  149.             }
  150.             float preu_desconte = preu_producte * Convert.ToSingle(iva_aplicado);
  151.             preu_producte = preu_producte - preu_desconte;
  152.  
  153.             return preu_producte;
  154.         }
  155.  
  156.         /////////////////////////////////////////////////
  157.         static void Ejercicio3()
  158.         {
  159.             Console.Write("Introdueix un número: ");
  160.             int num = Convert.ToInt32(Console.ReadLine());
  161.             bool num_excedido; string num_roman = "";
  162.             num_roman = Roman(num, num_roman, out num_excedido);
  163.             if (num_excedido == true)
  164.                 Console.Write("El número introduit està fora dels límits.");
  165.  
  166.             else
  167.                 Console.Write("El número " + num + " en romano sería " + num_roman);
  168.         }
  169.         static string Roman(int num, string num_roman, out bool num_excedido)
  170.         {
  171.             if (num >= 1 && num <= 3999)
  172.             {
  173.                 num_excedido = false;
  174.                 int miles, resto, cen, unidad, decim;
  175.                 miles = num / 1000;
  176.                 resto = num % 1000;
  177.                 cen = resto / 100;
  178.                 resto = resto % 100;
  179.                 decim = resto / 10;
  180.                 resto = resto % 10;
  181.                 unidad = resto;
  182.                 switch (miles)
  183.                 {
  184.                     case 1: num_roman = num_roman + "M"; break;
  185.                     case 2: num_roman = num_roman + "MM"; break;
  186.                     case 3: num_roman = num_roman + "MMM"; break;
  187.                 }
  188.                 switch (cen)
  189.                 {
  190.                     case 1: num_roman = num_roman + "C"; break;
  191.                     case 2: num_roman = num_roman + "CC"; break;
  192.                     case 3: num_roman = num_roman + "CCC"; break;
  193.                     case 4: num_roman = num_roman + "CD"; break;
  194.                     case 5: num_roman = num_roman + "D"; break;
  195.                     case 6: num_roman = num_roman + "DC"; break;
  196.                     case 7: num_roman = num_roman + "DCC"; break;
  197.                     case 8: num_roman = num_roman + "DCCC"; break;
  198.                     case 9: num_roman = num_roman + "CM"; break;
  199.                 }
  200.                 switch (decim)
  201.                 {
  202.                     case 1: num_roman = num_roman + "X"; break;
  203.                     case 2: num_roman = num_roman + "XX"; break;
  204.                     case 3: num_roman = num_roman + "XXX"; break;
  205.                     case 4: num_roman = num_roman + "XL"; break;
  206.                     case 5: num_roman = num_roman + "L"; break;
  207.                     case 6: num_roman = num_roman + "LX"; break;
  208.                     case 7: num_roman = num_roman + "LXX"; break;
  209.                     case 8: num_roman = num_roman + "LXXX"; break;
  210.                     case 9: num_roman = num_roman + "XC"; break;
  211.                 }
  212.                 switch (unidad)
  213.                 {
  214.                     case 1: num_roman = num_roman + "I"; break;
  215.                     case 2: num_roman = num_roman + "II"; break;
  216.                     case 3: num_roman = num_roman + "III"; break;
  217.                     case 4: num_roman = num_roman + "IV"; break;
  218.                     case 5: num_roman = num_roman + "V"; break;
  219.                     case 6: num_roman = num_roman + "VI"; break;
  220.                     case 7: num_roman = num_roman + "VII"; break;
  221.                     case 8: num_roman = num_roman + "VIII"; break;
  222.                     case 9: num_roman = num_roman + "IX"; break;
  223.                 }
  224.             }
  225.             else
  226.                 num_excedido = true;
  227.  
  228.             return num_roman;
  229.         }
  230.  
  231.         ////////////////////////////////////////////
  232.         static void Ejercicio4()
  233.         {
  234.             string contraseña;
  235.             bool check;
  236.             Console.WriteLine("Escribe la contraseña");
  237.             contraseña = Console.ReadLine();
  238.             check = ValidarSuperusuari(contraseña);
  239.             if (check == true)
  240.             {
  241.                 Console.WriteLine("La contraseña es correcta");
  242.             }
  243.             else
  244.             {
  245.                 Console.WriteLine("La contraseña es incorrecta");
  246.             }
  247.  
  248.             for (int i = 0; i < 3; i++)
  249.             {
  250.                 Console.WriteLine("Vuelve a escribir la contraseña");
  251.                 contraseña = Console.ReadLine();
  252.                 check = ValidarSuperusuari(contraseña);
  253.                 if (check == true)
  254.                 {
  255.                     Console.WriteLine("La contraseña es correcta");
  256.                     i = 3;
  257.                 }
  258.                 else
  259.                 {
  260.                     Console.WriteLine("La contraseña es incorrecta");
  261.                 }
  262.             }
  263.         }
  264.         static bool ValidarSuperusuari(string contraseña)
  265.         {
  266.             bool check;
  267.             string password = "1234a";
  268.             if (password == contraseña)
  269.             {
  270.                 check = true;
  271.             }
  272.             else
  273.             {
  274.                 check = false;
  275.             }
  276.             return check;
  277.         }
  278.  
  279.         ////////////////////////////////////////////
  280.         static void Ejercicio5()
  281.         {
  282.             string titulo;
  283.             int total;
  284.             Console.WriteLine("Escriu el text que vols centrar");
  285.             titulo = Console.ReadLine();
  286.             total = Titol(titulo);
  287.             for (int i = 0; i < total / 2; i++)
  288.             {
  289.                 Console.Write(" ");
  290.             }
  291.             Console.Write(titulo);
  292.             for (int i = 0; i < total / 2; i++)
  293.             {
  294.                 Console.Write(" ");
  295.             }
  296.         }
  297.         static int Titol(string titulo)
  298.         {
  299.             int largo, total;
  300.             largo = titulo.Length;
  301.             total = 80 - largo;
  302.             return total;
  303.         }
  304.  
  305.  
  306.         /////////////////////////////////////////////
  307.         static void Ejercicio6()
  308.         {
  309.             string pila = "";
  310.  
  311.             int opcion;//opcion del menu
  312.             do
  313.             {
  314.                 Console.Clear();//se limpia consola
  315.                 opcion = menu();//muestra menu y espera opción
  316.                 switch (opcion)
  317.                 {
  318.                     case 1:
  319.                         push(ref pila);
  320.                         break;
  321.                     case 2:
  322.                         pop(ref pila);
  323.                         break;
  324.                     case 3:
  325.                         print(ref pila);
  326.                         break;
  327.  
  328.                     case 4: break; //salir
  329.                     default:
  330.                         break;
  331.                 }
  332.             }
  333.             while (opcion != 4);
  334.         }
  335.         static void push(ref string pila)
  336.         {
  337.             int largo;
  338.             largo = pila.Length;
  339.             if (largo >= 10)
  340.             {
  341.                 Console.WriteLine(" Massa llarg");
  342.                 Console.ReadKey();
  343.             }
  344.             else
  345.             {
  346.                 Console.WriteLine(" Escriu el numero que vols afegir");
  347.                 pila = pila + Console.ReadLine();
  348.             }
  349.             Console.WriteLine(pila);
  350.         }
  351.         static void pop(ref string pila)
  352.         {
  353.             pila = pila.Substring(1);
  354.             Console.WriteLine("\n " + pila);
  355.             Console.WriteLine("\n Presione cualquier tecla para continuar ...");
  356.             Console.ReadKey();
  357.         }
  358.         static void print(ref string pila)
  359.         {
  360.             if (pila.Length > 0)
  361.             {
  362.                 Console.WriteLine("");
  363.                 Console.WriteLine(" " + pila);
  364.                 Console.WriteLine("\n Presione cualquier tecla para continuar ...");
  365.                 Console.ReadKey();
  366.             }
  367.             else
  368.             {
  369.                 Console.WriteLine("\n La Pila esta vacia");
  370.                 Console.WriteLine("\n Presione cualquier tecla para continuar ...");
  371.                 Console.ReadKey();
  372.             }
  373.         }
  374.         static int menu()
  375.         {
  376.             //Console.Clear();
  377.             Console.WriteLine("\n            Stack Menu\n");
  378.             Console.WriteLine(" 1.- Agregar elemento");
  379.             Console.WriteLine(" 2.- Eliminar elemento");
  380.             Console.WriteLine(" 3.- Ver pila");
  381.             Console.WriteLine(" 4.- Termina programa");
  382.             Console.Write(" Ingresa tu opción: ");
  383.             try
  384.             {
  385.                 int valor = Convert.ToInt32(Console.ReadLine());
  386.                 return valor;
  387.             }
  388.             catch
  389.             {
  390.                 return 0;
  391.             }
  392.         }
  393.     }
  394. }
  395.  
Add Comment
Please, Sign In to add comment