Cześć dostaliśmy na zadanie stworzenie prostej kasy sklepowej z użyciem metod.
W trakcie tworzenia programu napotkałem się na pewniem problem "use of unassigned local variable" wiem ze chodzi o to ze zmienna nie ma przypisanych wartosci, ale po przypisaniu dalej nic sie nie dzieje. Będę wdzięczny za każdą pomoc.
using System;
namespace Kalkulator2
{
public class Program
{
public struct Artykul
{
public string nazwa;
public double cenaSztuka;
public double cenaKg;
}
static void Main(string[] args)
{
Artykul chleb;
Artykul maslo;
Artykul ser;
chleb.nazwa = "chleb";
chleb.cenaSztuka = 2.32;
chleb.cenaKg = 2.3;
maslo.nazwa = "maslo";
maslo.cenaSztuka = 3.20;
maslo.cenaSztuka = 3.21;
ser.nazwa = "ser";
ser.cenaSztuka = 2.50;
ser.cenaKg = 6.50;
string wyswietl()
{
Console.WriteLine(
$"\n " +
$"[1] {chleb.nazwa} {chleb.cenaSztuka}zł\n " +
$"[2] {maslo.nazwa} {maslo.cenaSztuka}zł\n " +
$"[3] {ser.nazwa} {ser.cenaKg}kg\n ");
return "";
}
Console.WriteLine("-- Kasa sklepowa -- \n\nProszę wybrać artykuł: \n");
wybor();
int szt;
int szt2;
int szt3;
void wybor()
{
Console.WriteLine(wyswietl());
var operation = Console.ReadLine();
switch (operation)
{
case "1":
Console.Clear();
Console.WriteLine("Ile sztuk?");
szt = int.Parse(Console.ReadLine());
Console.WriteLine("wybrano {0} szt", szt);
kontynuacja();
break;
case "2":
Console.WriteLine("Ile sztuk?");
szt2 = int.Parse(Console.ReadLine());
Console.WriteLine("wybrano {0} szt", szt2);
kontynuacja();
break;
case "3":
Console.WriteLine("Ile sztuk?");
szt3 = int.Parse(Console.ReadLine());
Console.WriteLine("wybrano {0} szt", szt3);
kontynuacja();
break;
default:
throw new Exception("Wybrałeś zla operacje\n");
}
}
string kontynuacja()
{
Console.WriteLine("1 - dalej \n 2 - zaplac");
int n = int.Parse(Console.ReadLine());
switch (n)
{
case 1:
Console.Clear();
wybor();
break;
case 2:
Console.Clear();
zaplac();
Console.ReadKey();
break;
}
return "";
}
void zaplac()
{
double total;
double w1 = chleb.cenaSztuka * szt;
double w2 = maslo.cenaSztuka * szt2;
double w3 = chleb.cenaKg * szt3;
if (szt != 0 || szt2 != 0 || szt3 != 0)
{
total = w1 + w2 + w3;
Console.WriteLine("Lacznie: {0}", total);
}
else
{
Console.WriteLine("blad");
}
}
}
}
}