Advertisement
DamoVFR

Untitled

Mar 28th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.24 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. using System.Xml.Serialization;
  8. using System.Configuration;
  9.  
  10. namespace zadanie_2
  11. {
  12.  
  13.     class Program
  14.     {
  15.         static void Main(string[] args)
  16.         {
  17.             String sciezka = "C:\\Users\\Damian\\Documents\\Visual Studio 2015\\Projects\\zadanie 2\\zadanie 2\\Plik.txt";
  18.             String sciezkaXML = "C:\\Users\\Damian\\Documents\\Visual Studio 2015\\Projects\\zadanie 2\\zadanie 2\\plikXML.xml";
  19.             String text = "";
  20.             int przesuniecie_cezar = 3;
  21.             bool flag = true;
  22.             int i = 0;
  23.             //Kartoteka<Pracownik> kart1 = new Kartoteka<Pracownik>();
  24.  
  25.             //for (i = 0; flag == true; i++)
  26.             //{
  27.             //    Console.WriteLine("Podaj imie");
  28.             //    String imieTemp = Console.ReadLine();
  29.             //    imieTemp = cezarCode(imieTemp, przesuniecie_cezar);
  30.             //    //imieTemp = cezarCodeBySoltys(imieTemp, przesuniecie_cezar);
  31.  
  32.             //    Console.WriteLine("Podaj nazwisko");
  33.             //    String nazwiskoTemp = Console.ReadLine();
  34.             //    nazwiskoTemp = cezarCode(nazwiskoTemp, przesuniecie_cezar);
  35.  
  36.             //    Console.WriteLine("Podaj wynagrodzenie");
  37.             //    int wynagrodzenieTemp = int.Parse(Console.ReadLine());
  38.  
  39.             //    Console.WriteLine("Podaj lata pracy");
  40.             //    int lata_pracyTemp = int.Parse(Console.ReadLine());
  41.  
  42.             //    Console.WriteLine("Podaj stanowisko");
  43.             //    String stanowiskoTemp = Console.ReadLine();
  44.  
  45.             //    kart1.AddPracownik(new Pracownik { imie = imieTemp, nazwisko = nazwiskoTemp, wynagrodzenie = wynagrodzenieTemp, lata_pracy = lata_pracyTemp, stanowisko = stanowiskoTemp });
  46.  
  47.             //    Console.WriteLine("Czy dodać następnego pracownika T/N");
  48.             //    String temp1 = Console.ReadLine();
  49.             //    if (temp1 == "N" || temp1 == "n")
  50.             //    {
  51.             //        flag = false;
  52.             //    }
  53.             //}
  54.  
  55.             //show(i, kart1);
  56.  
  57.             //Console.WriteLine("\n" + "---PLIK TXT---");
  58.             //saveTXT(sciezka, text, i, kart1);
  59.             //readTXT(sciezka);
  60.  
  61.             //Console.WriteLine("\n" + "---PLIK XML---");
  62.             //writeXML(sciezkaXML, kart1);  // zapis do xml
  63.             //Kartoteka<Pracownik> kartotekaXML = getXML(sciezkaXML); //pobranie xml
  64.             //showDecoded(i, kartotekaXML,przesuniecie_cezar); //wyswietlamy kartoteke stworzonej z pobranego xml
  65.  
  66.  
  67.  
  68.             //------test kodowania-------//
  69.             Console.WriteLine("podaj słowo");
  70.             String wyraz = Console.ReadLine();
  71.             Console.WriteLine(cezarCode(wyraz, przesuniecie_cezar));
  72.             Console.WriteLine(cezarDecode(wyraz, przesuniecie_cezar));
  73.  
  74.             Console.ReadKey();
  75.         }
  76.  
  77.         public static String cezarCode(String word, int przesuniecie_cezar)//kodowanie cezar
  78.         {
  79.             char[] slowo_zakodowane = word.ToCharArray();
  80.             for (int i = 0; i < word.Length; i++)
  81.             {
  82.                 int liczba = word.ElementAt(i);
  83.                 int x = 0;
  84.                 if (liczba > 96)
  85.                     x = 97 + (liczba + przesuniecie_cezar - 97) % 26;
  86.                 else if (liczba == 32)
  87.                     x = 32;
  88.                 else
  89.                     x = 65 + (liczba + przesuniecie_cezar - 65) % 26;
  90.                 char znakzm = (char)x;
  91.                 slowo_zakodowane[i] = (char)x;
  92.             }
  93.             return new String(slowo_zakodowane);
  94.         }
  95.  
  96.      
  97.  
  98.         public static String cezarDecode(String word_coded, int przesuniecie_cezar)//dekodowanie cezar
  99.         {
  100.             char[] slowo_zakodowane = word_coded.ToCharArray();
  101.             for (int i = 0; i < word_coded.Length; i++)
  102.             {
  103.                 int liczba = word_coded.ElementAt(i);
  104.                 int x = 0;
  105.                 if (liczba > 96)
  106.                     x = 97 + (liczba - przesuniecie_cezar + 97) % 26;
  107.                 else if (liczba == 32)
  108.                     x = 32;
  109.                 else
  110.                     x = 65 + (liczba - przesuniecie_cezar + 65) % 26;
  111.                 char znakzm = (char)x;
  112.                 slowo_zakodowane[i] = (char)x;
  113.             }
  114.             return new String(slowo_zakodowane);
  115.         }
  116.  
  117.         public static Kartoteka<Pracownik> getXML(string sciezkaXML)
  118.         {
  119.             StreamReader streamRd = new StreamReader(sciezkaXML);
  120.             XmlSerializer serializer = new XmlSerializer(typeof(Kartoteka<Pracownik>));
  121.             Kartoteka<Pracownik> kartotekaXML = (Kartoteka<Pracownik>)serializer.Deserialize(streamRd);
  122.             streamRd.Close();
  123.             return kartotekaXML;
  124.         }
  125.  
  126.         public static void writeXML(string sciezkaXML, Kartoteka<Pracownik> kart1)
  127.         {
  128.             StreamWriter streamWr = new StreamWriter(sciezkaXML);
  129.             XmlSerializer serializer = new XmlSerializer(typeof(Kartoteka<Pracownik>));
  130.             serializer.Serialize(streamWr, kart1);
  131.             streamWr.Flush();
  132.             streamWr.Close();
  133.         }
  134.  
  135.         public static void readTXT(string sciezka)
  136.         {
  137.             Console.WriteLine("Czy odczytac plik TXT? T/N");
  138.             String temp_answer = Console.ReadLine();
  139.             if (temp_answer == "T" || temp_answer == "t")
  140.             {
  141.                 FileInfo plik = new FileInfo(sciezka);
  142.                 StreamReader reader = null;
  143.  
  144.                 try
  145.                 {
  146.                     reader = plik.OpenText();
  147.                     String zawartosc_pliku = reader.ReadToEnd();
  148.                     Console.WriteLine("-------------zawartosc pliku-------------");
  149.                     Console.WriteLine(zawartosc_pliku);
  150.                 }
  151.                 catch (IOException ioe)
  152.                 {
  153.                     Console.WriteLine("błąd w odczycie" + ioe.StackTrace);
  154.                 }
  155.                 finally
  156.                 {
  157.                     if (reader != null)
  158.                     {
  159.                         reader.Close();
  160.                     }
  161.                 }
  162.             }
  163.         }
  164.  
  165.         public static void show(int i, Kartoteka<Pracownik> kart1)
  166.         {
  167.             Console.WriteLine("Czy chcesz wyswietlic kartoteke? T/N");
  168.             String temp_answer = Console.ReadLine();
  169.             if (temp_answer == "T" || temp_answer == "t")
  170.             {
  171.                 for (int j = 0; j < i; j++)
  172.                 {
  173.                     Console.WriteLine("imie: " + kart1.getPracownik(j).imie + " " + "nawzisko: " + kart1.getPracownik(j).nazwisko);
  174.                 }
  175.             }
  176.         }
  177.  
  178.         public static void showDecoded(int i, Kartoteka<Pracownik> kart1,int przesuniecie_cezar)
  179.         {
  180.             Console.WriteLine("Czy chcesz wyswietlic kartoteke? T/N");
  181.             String temp_answer = Console.ReadLine();
  182.             if (temp_answer == "T" || temp_answer == "t")
  183.             {
  184.                 for (int j = 0; j < i; j++)
  185.                 {
  186.                     Console.WriteLine("imie: " + cezarDecode(kart1.getPracownik(j).imie,przesuniecie_cezar) + " " + "nawzisko: " + cezarDecode(kart1.getPracownik(j).nazwisko,przesuniecie_cezar));
  187.                 }
  188.             }
  189.         }
  190.  
  191.         private static void saveTXT(string sciezka, String text, int i, Kartoteka<Pracownik> kart1)
  192.         {
  193.             FileInfo plik = new FileInfo(sciezka);
  194.             StreamWriter writer = null;
  195.  
  196.             for (int j = 0; j < i; j++)
  197.             {
  198.                 try
  199.                 {
  200.                     writer = plik.AppendText();
  201.                     writer.WriteLine(kart1.getPracownik(j).imie + " " + kart1.getPracownik(j).nazwisko);
  202.                 }
  203.                 catch (IOException ioe)
  204.                 {
  205.                     Console.WriteLine("błąd w zapisie" + ioe.StackTrace);
  206.                 }
  207.                 finally
  208.                 {
  209.                     if (writer != null)
  210.                         writer.Close();
  211.                 }
  212.             }
  213.         }
  214.     }
  215.  
  216.     public class Pracownik
  217.     {
  218.         public String imie { get; set; }
  219.         public String nazwisko { get; set; }
  220.         public int wynagrodzenie { get; set; }
  221.         public int lata_pracy { get; set; }
  222.         public String stanowisko { get; set; }
  223.     }
  224.  
  225.  
  226.     public class Kartoteka<T> where T : class
  227.     {
  228.         public List<T> lista = new List<T>();
  229.  
  230.         public void AddPracownik (T o)
  231.         {
  232.             lista.Add(o);
  233.         }
  234.         public T getPracownik(int index)
  235.         {
  236.            return lista[index];
  237.         }
  238.     }
  239.  
  240.     abstract class Builder  // wzorzec projektowy budowniczy - niedkończone
  241.     {
  242.         protected Pracownik pracownik;
  243.  
  244.         public void newPracownik()
  245.         {
  246.             pracownik = new Pracownik();
  247.         }
  248.  
  249.         public Pracownik getPracownik()
  250.         {
  251.             return pracownik;
  252.         }
  253.  
  254.         public abstract void buildName();
  255.         public abstract void buildSurname();
  256.         public abstract void buildWynagrodzenie();
  257.         public abstract void buildLata_pracy();
  258.         public abstract void buildStanowisko();
  259.     }
  260.        
  261. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement