Wyczytanie konkretnej linii pliku txt

0

Witajcie
Mam problem ma do przepisania kod z C++ na C# . Jest to quiz który korzysta z pytań zapisanych w pliku txt . Otwiera czyta wypisuje porównuje odpowiedz uzytkownika z tą która jest wpisana do programu . Tylko jest pewien problem . Gdyż wczytuje caly plik, ale nie wiem jak do końca porównać te odpowiedzi ,którą podal użytkownik tej linii pilku txt która zawiera poprawną odpowiedz string poprawna[5] gdyz mialem 5 pytań lecz tu tak nie moge zrobić . Wiem jak wypisać cały plik txt na ekranie ale nie wiem jak to zrobić zeby wypisać tylko te linie z pytaniem i odpowiedzą a b c d a tą linie z poprawną odpowiedzią tylko wczytać do pamięci i ja porównać . Nie kręci mnie programowanie wiec jakiekolwiek pytania dotyczące tego będą dla mnie jeszcze większa zmorą i zniechęcniem do robienia tego , jest to przedmiot na studiach których sam nie wiem po co tu jest , ja chce tylko zaliczyć ten przedmiot i przejść suchą stopą przez to programowanie

0

Nie kręci mnie programowanie wiec jakiekolwiek pytania dotyczące tego będą dla mnie jeszcze większa zmorą i zniechęcniem do robienia tego

Przepraszam, ale żeby pomóc Ci, pytania są (według mnie) niezbędne.

Otwiera czyta wypisuje porównuje odpowiedz uzytkownika z tą która jest wpisana do programu .

Rozumiem, że w pliku są zarówno pytania, jak i odpowiedzi?

Gdyż wczytuje caly plik ale nie wiem jak do końca porównać te odpowiedzi tam użyłem dla tej linii kodu która miała poprawną odpowiedz string poprawna[5] gdyz mialem 5 pytań lecz tu tak nie moge zrobić .

Napisz to zdanie proszę jeszcze raz, najlepiej podziel na dwa i rozdziel przecinkami.

Wiem jak wypisać cały plik txt na ekranie ale nie wiem jak to zrobić zeby wypisać tylko te linie z pytaniem i odpowiedzą a b c d a tą linie z poprawną odpowiedzią tylko wczytać do pamięci i ja porównać .

Nie chcę Ci mieszać z C#, bo dawno go używałem, ale na logikę: powinno być coś jak funkcja getline, która wczyta linię po linii i zapisze do zmiennej (tablicy). Potem wyświetl tylko te elementy (linie), których potrzebujesz.

0

Co do pobierania i przetwarzania:

np masz plik.

struktura: [pytanie] [odp1] [odp2] [odp3] [odp4] [index_poprawnej odp]

2+2?,-4,500,6,4,4
warszawa to stolica?,polski,krakowa,chin,php,4
string path = @"C:\file.txt";

// pobiera linijki (kolekcja linijek np. 5 linijek)
var linijki = File.ReadLines(path);

// dla każdej linijki w kolekcji linijek
foreach (var linijka in linijki)
{
    // weź jej wartości rozdzielone przecinkiem zamień na tablicę
    string[] rozdzielone_wartosci = linijka.Split(',');

    // wyświetl pytania i 4 odp
    for (int i=0; i<rozdzielone_wartosci.Count()-1; i++)
    {
        Console.WriteLine(rozdzielone_wartosci[i]);
    }

    // wyświetl poprawną odp
    // a ten convert itd wynika z tego, że index poprawnej odp mamy zapisany jako string
    Console.WriteLine("Poprawna odpowiedz: " + rozdzielone_wartosci[Convert.ToInt32(rozdzielone_wartosci[5])]);
    Console.WriteLine();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1