Hej!
Jag är purfärsk på detta med programmering och behöver hjälp i ett skolarbete..
Har skrivit en kod till uppgiften Loggboken, som fungerar felfritt enligt mig, men som behöver kompletteras enl läraren.
Här är hans ord:
"Din sökning är inkorrekt. För det första söker den endast i den senast skrivna vektorn (post) och inte i loggbokens samtliga sparade inlägg, och för det andra är den skriven med Contains.
- Att tilldela nullvärden raderar inte inlägg, det gör bara att de är oinitierade. Om du vill ta bort inlägg, använd RemoveAt-metoden, eller Clear-metoden."
Jag vet inte hur jag ska ändra i min kod för att få till detta. Tacksam för all hjälp jag kan få!
Här är min kod (hoppas den är läsbar) :
namespace LoggBoken
{
class Program
{
static void Main(string[] args)
{
List<string[]> loggboken = new List<string[]>(); // Lista med stringvariabel
string[] post = new string[2]; // Array med 2 element
post[0] = "Titel"; // första elementet innehåller Titeln
post[1] = "Inlägg"; // andra elementet innehålelr Inlägget
time(); // anropar time för tid och datum
bool isRunning = true; // sant eller falskt
while (isRunning) // while kör till falskt
{
meny(); // Mina menyval
int nr; // int variabel
int.TryParse(Console.ReadLine(), out nr); // Felhantering av min variabel
switch (nr)
{
case 1:
Console.WriteLine("Lägg in en titel till ditt inlägg: ");
post = new string[2];
post[0] = Console.ReadLine(); // Skriver in titeln i post [0]
Console.WriteLine("Skriv ett inlägg: ");
post[1] = Console.ReadLine(); // Skriver in inlägget i post [1]
loggboken.Add(post); // Lägger ihop [0] och [1]
break;
case 2:
Console.WriteLine("\nDetta är dina inlägg: ");
foreach (string[] text in loggboken) // foreachloop går igenom loggboken
{
Console.WriteLine("Inlägg: {0} " + "\n\t{1}", text[0], text[1]);
time(); // Anropar time med tid och datum
}
break;
case 3:
Console.WriteLine("Skriv ut ett ord för att söka bland dina inlägg i loggboken: ");
string NyckelOrd = Console.ReadLine(); // Skriver in ord och sparar i variabeln NyckelOrd
foreach (string[] text in loggboken) // foreachloop går igenom loggboken
{
if (post[0].Contains(NyckelOrd) || post[1].Contains(NyckelOrd)) // ifsats OM [0] ELLER [1] innehåller NyckelOrd
{
Console.WriteLine("\nTitel: " + text[0] + "\nInlägg: " + text[1]); // Skriver ut titeln och vårt inlägg
time(); // anropar time, med tid och datum
}
}
break;
case 4:
Console.Clear();
Console.WriteLine("Din loggbok är raderad!");
Console.ReadLine();
break;
case 5:
isRunning = false; // avbryter loopen när isRunning = falskt
Console.WriteLine("Ha en strålande dag!");
Console.ReadLine();
break;
default:
Console.WriteLine("Du kan bara välja mellan 1 och 5!");
Console.ReadLine();
break;
}
}
}
static void meny()
{
Console.WriteLine("Hej och välkommen till loggboken!");
Console.WriteLine("[1] Skriv ett inlägg");
Console.WriteLine("[2] Skriv ut alla inlägg");
Console.WriteLine("[3] Sök bland dina inlägg");
Console.WriteLine("[4] Ta bort dina inlägg");
Console.WriteLine("[5] Avsluta Loggboken");
}
static void time()
{
DateTime time = DateTime.Now; // Gör så att man kan se datum och tid
Console.WriteLine("\tDatum och tid: " + time); // Skriver ut datum och tid
}
}
}