diff --git a/harjoitustyo/pankkiautomaatti/Pankkiautomaatti.cs b/harjoitustyo/pankkiautomaatti/Pankkiautomaatti.cs index aa99572b6bdc9b56a814fc6bd98987e6dec3431a..5375e5084a919e40f43d03f3564e2e24f1db2eb9 100644 --- a/harjoitustyo/pankkiautomaatti/Pankkiautomaatti.cs +++ b/harjoitustyo/pankkiautomaatti/Pankkiautomaatti.cs @@ -1,7 +1,7 @@ using System; -using System.Text; using System.Linq; using System.Collections.Generic; +using System.Globalization; using System.IO; /// @author Teemu Vesikukka @@ -11,6 +11,10 @@ using System.IO; /// </summary> public class Pankkiautomaatti { + private static string _polkuSaldo = @"C:\Users\Vespa\Desktop\gradia\ohjelmointi1_jyu_2025\harjoitustyo\Harjoitustyo\Pankkiautomaatti\saldo.txt"; + private static string _polkuTiliote = @"C:\Users\Vespa\Desktop\gradia\ohjelmointi1_jyu_2025\harjoitustyo\Harjoitustyo\Pankkiautomaatti\tiliote.txt"; + + /// <summary> /// Pääohjelma joka kysyy pin-koodin kayttajalta ja pin-koodin ollessa oikein, paastaa /// asiakkaan omalle tilille @@ -19,56 +23,63 @@ public class Pankkiautomaatti { Aloitus(); - if (PinKoodi() == true) + if (PinKoodi()) { double alkusaldo = AlkuSaldo(); - List<string> tiliote = new List<string>(); - tiliote = File.ReadAllLines("Tiliote.txt").ToList(); + + List <string> tiliote = File.ReadAllLines("Tiliote.txt").ToList(); Valikko(alkusaldo, tiliote); } Lopetus(); } - public static void Aloitus() + + /// <summary> + /// Ohjelman aloitus + /// </summary> + private static void Aloitus() { Console.WriteLine("Tervetuloa!"); Console.WriteLine("Syota kortti ole hyva"); } + + /// <summary> /// Aliohjelma lukee tekstitiedostosta tilin saldon /// </summary> /// <returns>saldo</returns> - public static double AlkuSaldo() + private static double AlkuSaldo() { - const string POLKU = @"C:\Users\Vespa\Desktop\gradia\ohjelmointi1_jyu_2025\harjoitustyo\Harjoitustyo\Pankkiautomaatti\saldo.txt"; - string[] luetutRivit = File.ReadAllLines(POLKU); + string[] luetutRivit = File.ReadAllLines(_polkuSaldo); double saldo = Convert.ToDouble(luetutRivit[0]); return saldo; } + /// <summary> /// Aliohjelma vie tekstitiedostoon tilin saldon /// </summary> /// <param name="loppuSaldo"></param> - public static void LoppuSaldo(double loppuSaldo) + private static void LoppuSaldo(double loppuSaldo) { string [] saldo = new string[1]; - saldo[0] = loppuSaldo.ToString(); - const string POLKU = @"C:\Users\Vespa\Desktop\gradia\ohjelmointi1_jyu_2025\harjoitustyo\Harjoitustyo\Pankkiautomaatti\saldo.txt"; - File.WriteAllLines(POLKU, saldo); + saldo[0] = loppuSaldo.ToString(CultureInfo.CurrentCulture); + + File.WriteAllLines(_polkuSaldo, saldo); } + /// <summary> /// Aliohjelma vie tekstitiedostoon tilin käyttäjän nostot ja talletukset /// </summary> /// <param name="tiliote">tiliote</param> - public static void LoppuTiliote(List<string> tiliote) + private static void LoppuTiliote(List<string> tiliote) { - const string POLKU = @"C:\Users\Vespa\Desktop\gradia\ohjelmointi1_jyu_2025\harjoitustyo\Harjoitustyo\Pankkiautomaatti\tiliote.txt"; - File.WriteAllLines(POLKU, tiliote); + File.WriteAllLines(_polkuTiliote, tiliote); } + /// <summary> /// Aliohjelma joka pyytaa asiakkaalta pin-koodin ja koodin /// ollessa oikein paastaa asiakkaan kayttamaan tilia @@ -79,7 +90,7 @@ public class Pankkiautomaatti /// PinKoodi(),"1234"===true; /// </pre> /// </example> - public static bool PinKoodi() + private static bool PinKoodi() { int yritykset = 1; int pinkoodi = 1234; @@ -89,7 +100,7 @@ public class Pankkiautomaatti yritykset++; if (koodi.Equals(pinkoodi)) { - onkoOikien = true; + } else { @@ -115,11 +126,13 @@ public class Pankkiautomaatti return onkoOikien; } + /// <summary> /// Päävalikko josta hoidetaan tiliasiat /// </summary> - /// <param name="alkusaldo"></param> - public static void Valikko(double alkusaldo, List<string> tiliote) + /// <param name="alkusaldo">alkusaldo</param> + /// <param name="tiliote">tiliote</param> + private static void Valikko(double alkusaldo, List<string> tiliote) { double saldo = alkusaldo; while (true) @@ -154,14 +167,17 @@ public class Pankkiautomaatti } } } + + /// <summary> /// Funktio joka ottaa tililta rahaa asiakkaan nostaessa tililta rahaa /// Funktio palauttaa saldon /// Tilin saldon ollessa liian pieni tililta ei pysty nostamaan rahaa /// </summary> /// <param name="saldo">parametrina viedaan saldo</param> + /// <param name="tiliote">parametrina viedaan tiliote</param> /// <returns>palauttaa tilin saldon</returns> - public static double Nosto(double saldo, List<string> tiliote) + private static double Nosto(double saldo, List<string> tiliote) { Console.WriteLine("Kuinka paljon haluat nostaa: "); double nosto = Convert.ToDouble(Console.ReadLine()); @@ -169,7 +185,7 @@ public class Pankkiautomaatti if (saldo > 0.00 && nosto < saldo) { saldo = saldo - nosto; - string rivi = DateTime.Now.ToString("dd/MM/yyyy")+ "\totto" + "\t" + " - "+ nosto.ToString(); + string rivi = DateTime.Now.ToString("dd/MM/yyyy")+ "\totto" + "\t" + " - "+ nosto.ToString(CultureInfo.CurrentCulture); tiliote.Add(rivi); } else @@ -179,39 +195,44 @@ public class Pankkiautomaatti return saldo; } + + /// <summary> /// funktio joka lisaa tilille asiakkaan lisaaman summan ja palauttaa saldon /// </summary> /// <param name="saldo">parametrina viedaan alkuperäinen saldo</param> + /// <param name="tiliote">parametrina viedaan alkuperäinen tiliote</param> /// <returns>palauttaa lisatyn saldon</returns> - public static double Talletus(double saldo, List<string> tiliote) + private static double Talletus(double saldo, List<string> tiliote) { Console.Write("Kuinka paljon haluat tallettaa tilille: "); double talletus = Convert.ToDouble(Console.ReadLine()); //double talletus = double.Parse(Console.ReadLine()); saldo = saldo + talletus; - string rivi = DateTime.Now.ToString("dd/MM/yyyy")+ "\ttalletus" + "\t" + " + " +talletus.ToString(); + string rivi = DateTime.Now.ToString("dd/MM/yyyy")+ "\ttalletus" + "\t" + " + " +talletus.ToString(CultureInfo.CurrentCulture); tiliote.Add(rivi); return saldo; } + /// <summary> /// Aliohjelma joka tulostaa tlin saldon /// </summary> /// <param name="saldo">parametrina viety tilin saldo</param> - public static void TulostaSaldo(double saldo) + private static void TulostaSaldo(double saldo) { Console.WriteLine("Tililla on rahaa " + " + " + saldo + " euroa"); Console.WriteLine("Paavalikkoon paase painamalla enter"); - string syote = Console.ReadLine(); + Console.ReadLine(); } + /// <summary> /// Aliohjelma joka tulostaa tilitapahtumat /// </summary> - public static void TulostaTiliote(List<string> tiliote, double saldo) + private static void TulostaTiliote(List<string> tiliote, double saldo) { int viimeinen = tiliote.Count - 1; string temp; @@ -228,22 +249,17 @@ public class Pankkiautomaatti Console.WriteLine(tiliote[lkm]); lkm++; } - /* - for (int i = 0; i < tiliote.Count; i++) - { - string rivi = tiliote[i]; - Console.WriteLine("{0, 2} ", rivi); - }*/ Console.WriteLine("Tilin saldo: {0,10:f2}\t", saldo); Console.WriteLine("alkuvalikkoon paaset painamalla enter"); - string merkki = Console.ReadLine(); + Console.ReadLine(); } + /// <summary> /// Aliohjelma joka tulostaa naytolle ohjelmastapoistuttaessa /// </summary> - public static void Lopetus() + private static void Lopetus() { Console.WriteLine("Kiitos kaynnista"); Console.WriteLine("Tervetuloa uudelleen"); diff --git a/harjoitustyo/pankkiautomaatti/saldo.txt b/harjoitustyo/pankkiautomaatti/saldo.txt index 1b79f38e25b24dcac0318f3371793a6ec204a71b..697cb3a26d77d1625ea445520e6e1e7bae966fe1 100644 --- a/harjoitustyo/pankkiautomaatti/saldo.txt +++ b/harjoitustyo/pankkiautomaatti/saldo.txt @@ -1 +1 @@ -500 +300 diff --git a/harjoitustyo/pankkiautomaatti/tiliote.txt b/harjoitustyo/pankkiautomaatti/tiliote.txt index 28a2f61ec5f14d3ce26eadd947f254ee3bdd259e..1a9d2bb874e33f0e37882f208298e274d1005d0d 100644 --- a/harjoitustyo/pankkiautomaatti/tiliote.txt +++ b/harjoitustyo/pankkiautomaatti/tiliote.txt @@ -1 +1,3 @@ -PVM Tapahtuma Summa \ No newline at end of file +PVM Tapahtuma Summa +03.04.2025 otto - 100 +03.04.2025 talletus + 100