Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[c] Usuwanie tekstu z pliku. -

matej122 28 Gru 2012 12:39 2037 7
  • #1 28 Gru 2012 12:39
    matej122
    Poziom 7  

    Witam serdecznie.
    Do napisania mam program na zaliczenie i mam pewien problem z usunięciem tekstu z pliku. Wymyśliłem sobie (nie wiem czy słusznie), że najpierw wczytam tekst z pliku, następnie ominę niechcianą linijkę, a resztę przepisze do nowego pomocniczego pliku. Jednak wczytywanie nie działa jak należy, ponieważ wszystko wykonuje się w pierwszym if, nie mam koncepcji jak to poprawić. Wstawiam część kodu odpowiedzialną za usuwanie. Z góry dziękuje za jakieś sugestie, propozycje, rozwiązania.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Proszę nie zwracać uwagi na zmienne u,b,v wykożystałem je jedynie do analizy ilości wykonań pętli.

    0 7
  • #2 28 Gru 2012 13:11
    stanleysts
    Poziom 27  

    Zależy ile masz tego tekstu, jak wygląda plik tekstowy, co konkretnie musisz usuwać, czy plik jest zawsze w takiej samej formie albo podobnej?
    Czy to ma tak działać, że masz napisać funkcję dla dowolnego pliku, żeby usunęła konkretny łańcuch danych?

    0
  • #3 28 Gru 2012 13:26
    matej122
    Poziom 7  

    Tekst wprowadzam samodzielnie, nie powiedziane jest, jaka jest liczba pracowników. Plik ma wyglądać następująco:
    Nazwisko
    staz pracy

    Np.
    Kowalski
    3
    Nowak
    7
    Dana te zawarte są w strukturze:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #4 28 Gru 2012 13:31
    stanleysts
    Poziom 27  

    Dobra a teraz sprecyzuj co masz konkretnie usuwać. Np. mam usunąć dane n-tego pracownika albo mam umunąć pracownika o stażu 7...

    0
  • #5 28 Gru 2012 13:33
    matej122
    Poziom 7  

    Chodzi o usunięcie n-tego pracownika. Jego nazwiska i jego stażu.

    0
  • #6 28 Gru 2012 14:01
    beluosus
    Poziom 25  

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Robisz przypisanie zamiast porównania (==).

    0
  • #7 28 Gru 2012 14:46
    matej122
    Poziom 7  

    Cytat:
    Robisz przypisanie zamiast porównania (==).

    Niestety ale nadal wczytuje mi wszystkich pracowników nie pomija mi tego m-tego(n-1), po poprawieniu == nadal ta pętla druga else if się nie wykonuje i ostatnia też.

    0
  • #8 28 Gru 2012 15:23
    stanleysts
    Poziom 27  

    Nie lepiej zabrac się za to porządnie od początku.

    1. Tworzysz funkcję wczytującą linię z pliku.
    2. Tworzysz funkcję zliczającą ilość linii w pliku.
    3. Od 1: 2n-1 (pomijamy n pracowników) przepisuj linie.
    4. Przeskocz linie 2n-1 i 2n.
    5. Przepisz pozostałe linie.

    Te funkcje są proste do napisania a program jest czytelny, dużo jest ich też w necie dostępnych.

    0