C# Slutuppgift Läskbacken public int calc_Total() Hjälp!
Hej! Jag är en nybörjare inom programmering och har nu fastnat och kommer inte vidare med min kod. "Public int calc_Total()" säger "not all code paths return a value" och har sökt på google och förstår varför det kommer upp men inte hur jag ska åtgärda det. Har försökt att lokalisera vart felet ligger men icke. Är det någon som ser vad det är tokigt någonstans?? Det kanske är tokigt på fler ställen?
(Jag har inte kunnat köra mitt program och vet inte hur programmet ser ut eller om något funkar/inte funkar som det ska.)
Här är min kod:
namespace sodacrate
{
class Sodacrate
{
private string[] bottles = new string[24]; //Min vektor
private int amount_bottles = 0; //Håller reda på antal flaskor
private string soda;
private int cost = 0;
private bool main_Menu = true;
public void Run()
{
Console.WriteLine("Välkommen till min läskbacks-simulator!");
int temp = 0; //int amountOfBottles = 0; eller 24?
do
{
Console.WriteLine("******Var vänligen och välj ett alternativ.*******");
Console.WriteLine(" ");
Console.WriteLine(" 1, lägg till dryck: ");
Console.WriteLine(" 2, visa innehåll: ");
Console.WriteLine(" 3, beräkna den totala summan: ");
Console.WriteLine(" 4, eller avsluta programmet: ");
Console.WriteLine(" ");
Console.WriteLine("**************************************************");
//amountOfBottles = int.Parse(Console.Readline());
switch (temp) //meny
{
case 1: add_Soda();
break;
case 2: print_Crate();
break;
case 3: calc_Total();
break;
case 4: main_Menu = false;
break;
default: Console.WriteLine("Fel inmatning! Du måste skriva in en siffra! "); //ska det vara med add_Soda? Kanske inte behövs här??
break;
}
}while(temp !=0);
}
public void add_Soda()
{
int menu = 0;
do
{
Console.WriteLine("******Sortiment:******");
Console.WriteLine(" 1, Loka ");
Console.WriteLine(" 2, Julmust ");
Console.WriteLine(" 3, Carlsberg ");
Console.WriteLine(" 4, Somersby ");
Console.WriteLine(" 5, Pepsi ");
Console.WriteLine("*********************");
for (int i = 0; i < bottles.Length; i++)
{
bottles[i] = soda;
}
switch (menu)
{
case 1: Console.WriteLine("Loka");
break;
case 2: Console.WriteLine("Julmust");
break;
case 3: Console.WriteLine("Carlsberg");
break;
case 4: Console.WriteLine("Somersby");
break;
case 5: Console.WriteLine("Pepsi");
break;
default: Console.WriteLine("Fel inmatning! Vänligen välj ett nummer mellan 1 och 5.");
break;
}
for (int i = 0; i < 24; i++)
{
if (amount_bottles == 24)
{
Console.WriteLine("Din back är nu full!");
}
else
{
amount_bottles++;
break;
}
}
}while(menu !=0);
}
public void print_Crate()
{
int count = 0;
foreach (string soda in bottles)
if (soda != null) count += 1;//rätt ordning??
{
Console.WriteLine("Du har {0} flaskor i din back.", bottles.Length); //eller , soda
}
//Där beskrivs hur man löser det med tomma positioner i vektorn
}
public int calc_Total()//varför säger den "not all code paths return a value"?? Kan inte hitta varför
{
for (int i = 0; i < 24; i++)
cost = cost + 5;
{
Console.WriteLine("Den totala kostnaden för din back är {0} kronor.", cost);
}
//Tänk på att inte räkna med tomma positioner i vektorn
}
/*public void find_soda()
{
//Betyg C
//Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 149)
//Man ska kunna söka efter ett namn
//Man kan använda string-metoderna ToLower() eller ToUpper()
}
public void sort_sodas()
{
//Betyg A-C
//Beskrivs i läroboken på sidan 147 och framåt (kodexempel på sidan 159)
//Man ska kunna sortera vektorn med flaskor och med bubble sort
//Det är mycket svårt att sortera efter bokstavsordning - är inte flaskorna egna objekt utan bara strängar...
//... går det bra att sortera efter längden på namnet istället.
}*/
}
class Program
{
public static void Main(string[] args)
{
//Skapar ett objekt av klassen Sodacrate som heter sodacrate
var sodacrate = new Sodacrate();
sodacrate.Run();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
Uppskattar all hjälp jag kan få!