Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Runtime.Serialization.Formatters.Binary;
- namespace Proj_obj_samochod
- {
- class Program
- {
- static int dystans;
- public const string sciezka = @"C:\temp\data.xml";
- public static void Menu()
- {
- Console.Clear();
- Console.WriteLine("|------------- MENU -------------|");
- Console.WriteLine("| 1. Informacje o pojezdzie |");
- Console.WriteLine("| 2. Tankowanie pojazdu |");
- Console.WriteLine("| 3. Jazda |");
- Console.WriteLine("| 4. Stworz nowy samochod |");
- Console.WriteLine("| 0. Wyjsce |");
- Console.WriteLine("|----------------------------------|");
- int menu = WprowadzInt("Wybierz opcje: ", 0, 4);
- switch (menu)
- {
- case 1:
- {
- Console.Clear();
- Samochod auto = OdczytajSamochod();
- Console.WriteLine(auto.InformacjeOSamochodzie());
- Console.ReadKey();
- Menu();
- break;
- }
- case 2:
- {
- Console.Clear();
- Samochod auto = OdczytajSamochod();
- auto.Zatankuj();
- ZapiszStanPojazdu(auto);
- Menu();
- break;
- }
- case 3:
- {
- Console.Clear();
- Samochod auto = OdczytajSamochod();
- dystans = WprowadzInt("Podaj dystans do przejechania: ", 0);
- auto.Jedz(dystans);
- ZapiszStanPojazdu(auto);
- Console.ReadKey();
- Menu();
- break;
- }
- case 4:
- {
- Console.Clear();
- File.Delete(sciezka);
- ZrobSamochod();
- Menu();
- break;
- }
- default:
- {
- break;
- }
- }
- }
- public static int WprowadzInt(string Tekst, int Min = int.MinValue, int Max = int.MaxValue)
- {
- int liczba = 0;
- while (true)
- {
- Console.Write(Tekst);
- if (int.TryParse(Console.ReadLine(), out liczba) &&
- liczba >= Min && liczba <= Max)
- {
- break;
- }
- else
- {
- Console.WriteLine("Podano bledna wartosc!");
- }
- }
- return liczba;
- }
- public static double WprowadzDouble(string Tekst, double Min = double.MinValue, double Max = double.MaxValue)
- {
- double liczba = 0;
- while (true)
- {
- Console.Write(Tekst);
- if (double.TryParse(Console.ReadLine(), out liczba) &&
- liczba >= Min && liczba <= Max)
- {
- break;
- }
- else
- {
- Console.WriteLine("Podano bledna wartosc!");
- }
- }
- return liczba;
- }
- public static void ZrobSamochod()
- {
- string marka, model;
- int paliwo, zbiornik;
- double pojemnosc;
- Console.Write("Podaj marke samochodu: ");
- marka = Console.ReadLine();
- Console.Write("Podaj model samochodu: ");
- model = Console.ReadLine();
- pojemnosc = WprowadzDouble("Jaka jest pojemnosc silnika?: ");
- zbiornik = WprowadzInt("Jak duzy jest zbiornik?: ", 0);
- paliwo = WprowadzInt("Ile litrow paliwa jest w zbiorniku?: ", 0, zbiornik);
- Samochod s = new Samochod(marka, model, pojemnosc, paliwo, zbiornik);
- ZapiszStanPojazdu(s);
- }
- public static Samochod OdczytajSamochod()
- {
- Samochod s = new Samochod();
- try
- {
- Stream stream = File.Open(sciezka, FileMode.Open);
- BinaryFormatter formatter = new BinaryFormatter();
- formatter = new BinaryFormatter();
- s = (Samochod)formatter.Deserialize(stream);
- stream.Close();
- }
- catch (FileNotFoundException)
- {
- Console.WriteLine("Nie ma auta. Musisz je stworzyc!");
- ZrobSamochod();
- Menu();
- }
- return s;
- }
- public static void CzyJestAuto()
- {
- if (!Directory.Exists(sciezka))
- {
- ZrobSamochod();
- }
- }
- public static void ZapiszStanPojazdu(Samochod auto)
- {
- Stream stream = File.Open(sciezka, FileMode.Create);
- BinaryFormatter formatter = new BinaryFormatter();
- formatter.Serialize(stream, auto);
- stream.Close();
- }
- static void Main(string[] args)
- {
- Menu();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement