static Boat AddBoat(Member[] members, int arrayPos) { int numberInput = 0; int memberNumber = 0; bool continueBool = false; Boat myBoat = new Boat(); do { Console.WriteLine("Vad är medlemsnumret på ägaren?"); // Medlemsnummer try { numberInput = Int32.Parse(Console.ReadLine()); } catch { ViewMessage("Fel format, försök igen.", true); continueBool = false; } for (int i = 0; i < arrayPos; i++) { memberNumber = members[i].MemberNumber; if (memberNumber == numberInput) { myBoat.OwnedBy = numberInput; continueBool = true; break; } } if (memberNumber != numberInput) { ViewMessage("Kunde inte hitta medlem med det numret, försök igen.", true); } } while (!continueBool); do { continueBool = false; Console.WriteLine("Vad är längden?"); // Längd try { numberInput = Int32.Parse(Console.ReadLine()); } catch { ViewMessage("Fel format, försök igen.", true); continueBool = false; } myBoat.Length = numberInput; continueBool = true; } while (!continueBool); do { continueBool = false; Console.WriteLine("Vad är det för typ?\n"); // Typ Console.WriteLine("1. Segelbåt\n"); Console.WriteLine("2. Motorseglare\n"); Console.WriteLine("3. Motorbåt\n"); Console.WriteLine("4. Kajak/Kanot\n"); Console.WriteLine("5. Övrigt\n"); try { numberInput = int.Parse(Console.ReadLine()); continueBool = true; } catch { ViewMessage("Fel format, försök igen.", true); continueBool = false; } if (numberInput >= 1 && numberInput <= 5) { } else { ViewMessage("Fel format, försök igen.", true); continueBool = false; } myBoat.Type = numberInput; } while (!continueBool); return(myBoat); } // Lägg till båt
static void Main(string[] args) { Member[] members = new Member[100]; Boat[] boats = new Boat[100]; boats = readBoats(boats); members = readMembers(members); int arrayPosition = members.Count(s => s != null); // Räkna antal medlemmar int boatsPosition = boats.Count(z => z != null); int input = 10; do { ViewMenu(); try { input = int.Parse(Console.ReadLine()); if (input >= 0 && input <= 8) // Rätt val i menyn { } else { ViewMessage("FEL! Ange ett nummer mellan 0 och 8.", true); } } catch { ViewMessage("FEL! Ange ett nummer mellan 0 och 8.", true); } switch (input) { case 0: continue; case 1: // Skapa medlem members[arrayPosition] = AddMember(); arrayPosition++; break; case 2: // Lista medlem ViewMembers(members, arrayPosition, boats, boatsPosition); break; case 3: //Info om medlem if (arrayPosition == 0) { ViewMessage("Inga medlemmar finns ännu, försök igen senare.", true); // Om inga medlemmar finns break; } ViewMessage("Vilken medlem vill du ha information om?", false); int whatMember = GetMemberNumber(); // Skaffar rätt position if (whatMember < 0) { } else if (whatMember > (arrayPosition - 1)) // Kollar data, så den finns att hitta { ViewMessage("Kunde inte hitta den medlemmen, försök igen.", true); Console.WriteLine("Tryck på en tangent för att fortsätta..."); Console.ReadKey(); break; } else if (whatMember <= arrayPosition) { GetMemberInfo(members, whatMember); // Hittar och visar data } break; case 4: ViewMessage("Vilken medlem vill du redigera?", false); int whichMember = GetMemberNumber(); // Hittar rätt nummer if (whichMember < 0) { } else if (whichMember > (arrayPosition - 1)) // Kollar numret, så den finns att hitta { ViewMessage("Kunde inte hitta den medlemmen, försök igen.", true); Console.WriteLine("Tryck på en tangent för att fortsätta..."); Console.ReadKey(); } else if (whichMember <= arrayPosition) { EditMemberInfo(members, whichMember); // Hittar och tillåter ändring av data } break; case 5: // Ta bort medlem ViewMessage("Vilken medlem vill du radera?", false); int whoMember = GetMemberNumber(); // Hittar rätt nummer if (whoMember < 0) { } else if (whoMember > (arrayPosition - 1)) // Kollar numret, så den finns att hitta { ViewMessage("Kunde inte hitta den medlemmen, försök igen.", true); Console.WriteLine("Tryck på en tangent för att fortsätta..."); Console.ReadKey(); } else if (whoMember <= arrayPosition) { members = DeleteMember(members, whoMember); // Hittar och raderar arrayPosition--; } break; case 6: // Lägg till båt boats[boatsPosition] = AddBoat(members, arrayPosition); boatsPosition++; break; case 7: // Ta bort båt ViewMessage("Vilken båt vill du radera?", false); int whatBoat = GetBoatNumber(members, arrayPosition, boats, boatsPosition); // Hittar rätt nummer if (whatBoat < 0) { } else if (whatBoat > (arrayPosition - 1)) // Kollar numret, så den finns att hitta { ViewMessage("Kunde inte hitta den båten, försök igen.", true); Console.WriteLine("Tryck på en tangent för att fortsätta..."); Console.ReadKey(); } else if (whatBoat <= arrayPosition) { boats = DeleteBoat(boats, whatBoat); boatsPosition--; } break; case 8: ViewMessage("Vilken båt vill du redigera?", false); int whichBoat = GetBoatNumber(members, arrayPosition, boats, boatsPosition); // Hittar rätt nummer if (whichBoat < 0) { } else if (whichBoat > (arrayPosition - 1)) // Kollar numret, så den finns att hitta { ViewMessage("Kunde inte hitta den båten, försök igen.", true); Console.WriteLine("Tryck på en tangent för att fortsätta..."); Console.ReadKey(); } else if (whichBoat <= arrayPosition) { EditBoatInfo(boats, whichBoat); // Hittar och tillåter ändring av data } break; } } while (input != 0); saveMembers(members, arrayPosition); saveBoats(boats, boatsPosition); }