Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace Kolokwium
- {
- class Program
- {
- const int numberOfElixirs = 4;
- public static string[] readData(string path)
- {
- string[] readText = File.ReadAllLines(path);
- return readText;
- }
- public static string[] readElixirsNames(string[] elixirs)
- {
- string[] names = new string[elixirs.Length];
- string temp = "";
- int counter = 0;
- foreach (string s in elixirs)
- {
- for(int i = 0; i<s.Length; i++)
- {
- if (s[i] == ':')
- break;
- else
- temp += s[i];
- }
- names[counter] = temp;
- temp = "";
- counter++;
- }
- return names;
- }
- public static string decodeSymbol(char symbol)
- {
- switch(symbol)
- {
- case 'A':
- return "Aether";
- case 'R':
- return "Rebis";
- case 'V':
- return "Vitriol";
- default:
- return "";
- }
- }
- public static void showResult(string[] elixirs)
- {
- string[] elixirNames = readElixirsNames(elixirs);
- string[] ingredients = new string[elixirs.Length];
- int counter = 0;
- bool semicolon = false;
- foreach (string s in elixirs)
- {
- for(int i=0; i<s.Length; i++)
- {
- if (s[i] == ':')
- semicolon = true;
- if(semicolon)
- {
- i++;
- ingredients[counter] += decodeSymbol(s[i]);
- ingredients[counter] += ", ";
- semicolon = false;
- }
- }
- counter++;
- }
- int a = 0;
- foreach (string s in ingredients)
- {
- Console.Write(elixirNames[a] + ": ");
- Console.Write(s);
- Console.WriteLine();
- a++;
- }
- }
- public static string[] uniqueElixirs(string[] elixirs)
- {
- string[] result = new string[numberOfElixirs];
- string[] el = readElixirsNames(elixirs);
- int counter = 0;
- bool check = false;
- foreach (string s in el)
- {
- for(int i=0; i<numberOfElixirs; i++)
- {
- if (s == result[i])
- check = true;
- }
- if (!(check))
- result[counter++] = s;
- check = false;
- }
- return result;
- }
- public static int countUniqueElixirs(string[] elixirs)
- {
- int result = 0;
- foreach (string s in elixirs)
- result++;
- return result;
- }
- public static void writeToFile(string path, string[] elixirs)
- {
- string[] elixirNames = readElixirsNames(elixirs);
- string[] decodedIngredients = new string[elixirs.Length];
- int counter = 0;
- bool semicolon = false;
- foreach (string s in elixirs)
- {
- for (int i = 0; i < s.Length; i++)
- {
- if (s[i] == ':')
- semicolon = true;
- if (semicolon)
- {
- i++;
- decodedIngredients[counter] += decodeSymbol(s[i]);
- decodedIngredients[counter] += " ";
- semicolon = false;
- }
- }
- counter++;
- }
- for (int i = 0; i < elixirs.Length; i++)
- File.AppendAllText(path, (i + 1) + ". " + elixirNames[i] + ": " + decodedIngredients[i] + "\n");
- }
- static void Main(string[] args)
- {
- Console.Write("Write file name: ");
- string path = Console.ReadLine();
- string[] data = readData(path);
- showResult(data);
- string[] unique = uniqueElixirs(data);
- int numberOfElixirs = countUniqueElixirs(unique);
- Console.Write("\n\nSave file name: ");
- string save = Console.ReadLine();
- writeToFile(save, data);
- Console.Write("\n\nPress any key to exit...");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement