9 svar
59 visningar
CsharpStudent är nöjd med hjälpen
CsharpStudent 30
Postad: 17 dec 2021 21:43

Skapa och spara FLERA inlägg

Hej, programmet ska bla. kunna skapa inlägg, spara inlägg och just nu fungerar detta MEN. Jag har förstått det som att man kan skapa en ny strängvektor för varje inlägg, men jag förstår inte alls hur? (Jag måste göra det på detta sätt och inget annat) Tacksam för vägledning. 

    //Deklarerar en lista innehållande array
            //Initiering av array som innehåller 3 element
            List<String[]> MinBlogg = new List<String[]>(); 
            
            //Skapar en strängvektor för inlägg, 3 platser element för: titel, inlägg, datum och tid
            String[] Inlägg = new String[3];
            
            //Deklarerar en bool som är true
            bool IsRunning = true;

            
            //Vill bara att text ska skrivas ut en gång och sätter den utanför loop
            //n för ny rad, t för tabb
            Console.WriteLine("\n\tVälkommen! ");
           
            //Deklarerar en int för menyval
            int MenyVal;

            //SÅ LÄNGE bool är true kommer while loop fortsätta
            while (IsRunning)
            {

                //n för ny rad, t för tabb
                //Den här texten skrivs ut som menyval
                Console.WriteLine("\n\tGör ett val 1-5: ");
                Console.WriteLine("\n\t[1]Skapa ett inlägg");
                Console.WriteLine("\t[2]Visa sparade inlägg");
                Console.WriteLine("\t[3]Sök bland inlägg");
                Console.WriteLine("\t[4]Radera inlägg");
                Console.WriteLine("\t[5]Avsluta programmet");

                //Deklarerar en if
                //TryParse för att program ej ska krascha. TryParse returnerar true om TryParse lyckas
                if (Int32.TryParse(Console.ReadLine(), out MenyVal))

                    //VARFÖR TAR INTE TRYPARSE MINDRE TAL? TEX 35 99 86 OSV.DEN TAR STORA TAL OCH TEXT!TEX 972804826852805 ELLER HEJSAN
                {
                
                }

                else
                {
                    //ANNARS om TryParse inte lyckas, skriver programmet ut text nedan
                    Console.WriteLine("\tNågon blev fel! Vänligen skriv en siffra 1-5");
                }
                //Deklarerar en switch för menyVal
                switch (MenyVal)
                {
                    case 1:

                        //Skapar array/vektor för inlägg
                        //Sparar titel i index 0 (första elementet)
                        Console.Write("\tAnge en titel för ditt inlägg: ");
                        Inlägg[0] = Console.ReadLine();

                        //sparar inlägget i index 1 (andra elementet)
                        Console.WriteLine("Skriv ditt inlägg:");
                        Inlägg[1] = Console.ReadLine();

                        
                        //sparar tiden i index 2 (tredje elementet)
                        Inlägg[2] = DateTime.Now.ToString();

                        //Sparar inlägg i MinBlogg
                        //Skriver ut att inlägget är sparat
                        MinBlogg.Add(Inlägg);
                        Console.WriteLine("Ditt inlägg är nu sparat!");

                      
			//HUR KAN JAG MÖJLIGGÖRA ATT SKAPA OCH SPARA FLER INLÄGG?


                        
                        break;

                    case 2:
                        /*
                         *Console.WriteLine("Nedan är dina skrivna inlägg:"); Skriver ut texten
                          Console.WriteLine(----); Gör det mer överskådligt att läsa inläggen. Nedan är dina skrivna inlägg
                                                                                                  ----------------------
                                                                                                  Datum/Tid: Titel: Inlägg
                          Foreach går igenom alla sparade inlägg i MinBlogg*/
                        Console.WriteLine("\n Nedan är dina skrivna inlägg:\n");
                        Console.WriteLine("\n\t-------------------\n\t");
                        foreach (string[] DittInlägg in MinBlogg)
                        
                            //Skriver ut alla arrays: Datum/Tid: Titel: Inlägg: Lagt array 2 först eftersom jag vill ha ut datum och klockslag först
                            Console.WriteLine("\n Puplicerat: " + DittInlägg[2] + " \n Titel - " + DittInlägg[0] + " \n Inlägg - " + DittInlägg[1] + "\n");

                        break;
                   
                    case 3:


                        break;
                        



                }
           }


        }
    }
}
Laguna Online 17496
Postad: 17 dec 2021 21:52

Jag gissar att om du skapar två inlägg så kommer ändå det andra inlägget att visas två gånger när du väljer att visa dem. Är det så? Det framgår inte så klart vad som går fel.

CsharpStudent 30
Postad: 17 dec 2021 21:57

Ingenting går fel i detta programmet. Programmet fungerar men jag vet inte hur jag gör för att användare ska kunna skapa fler inlägg än bara ett. Just nu kan användaren bara skapa och spara ett inlägg.

Laguna Online 17496
Postad: 17 dec 2021 22:23

Vad händer om du försöker? Det ser ut som att menyn presenteras igen efter att ett inlägg skapats, och då kan man välja alternativ 1 igen. Vad händer i stället?

CsharpStudent 30
Postad: 17 dec 2021 22:28

Ja det stämmer att menyn visas igen och trycker jag då 1, kommer jag kunna skriva en ny titel och ett nytt inlägg. Men vill jag sen skriva ut det sparade inlägget, finns bara det senaste inlägget. 

Laguna Online 17496
Postad: 17 dec 2021 23:15

Kan du visa en hel körning med allt du skriver och allt programmet skriver, när du först gör ett inlägg, sedan visar, sedan skriver ett till, sedan visar igen.

CsharpStudent 30
Postad: 17 dec 2021 23:44

Hittade problemet..Den här: String[] Inlägg = new String[3]; 

Fick flyttas ner till case 1, efter while loop. Jag vill ju inte ha en array-variabel för hela programmet, utan vill skapa en ny varje gång. 

Laguna Online 17496
Postad: 18 dec 2021 09:14

Mm, då var min första gissning helt rätt.

Ta för vana att rapportera fel ordentligt, med all input och output.

CsharpStudent 30
Postad: 18 dec 2021 22:53

Hur menar du? Ibland tycker jag det är svårt att veta allt som behövs, eftersom detta är grekiska för mig som ny hehe

Laguna Online 17496
Postad: 19 dec 2021 09:10

Om du visar vad som händer, vad programmet skriver och vad du skriver, så är det enklare att förstå vad problemet är. Du sa bara ungefär att det var fel men inte var fel.

Svara Avbryt
Close