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.

Zadanie projektowe [Turbo Pascal]

dj_modo 14 Cze 2010 22:47 1458 7
  • #1 14 Cze 2010 22:47
    dj_modo
    Poziom 2  

    Witam. Dostałem w szkole takie zadanie:
    " Napisz program przechowujący w dwóch tablicach jednowymiarowych imiona, nazwiska (jedna tablica dla imion, druga dla nazwisk), max 10 elementów. Tablice mają być przechowane w plikach elementowych.
    Napisz drugi program, który pobierze z pliku pierwszego i drugiego dane i stworzy trzecią tablicę 10-elementową zawierającą imiona i nazwiska. "

    Ma to wyglądać mniej więcej w taki sposób:
    • 1 program:
    Tablica 1
    imie1 imie2 imie3 itd... {tutaj imiona wyświetlone w linii}
    Tablica 2
    nazwisko1 nazwisko2 nazwisko3 itd... {tutaj nazwiska również w linii}
    • 2 program:
    Tablica 3
    imie1 nazwisko1 {tutaj imię i nazwisko tworzy jeden element.}
    imie2 nazwisko2 {elementy zapisane są w kolumnie}
    imie3 nazwisko3...

    I o ile wiem jak zabrać się za tablice, o tyle mam problem z zapisaniem danych do plików i później odczytaniem ich. Proszę o pomoc i z góry dziękuję.

    0 7
  • #2 15 Cze 2010 00:02
    lanky
    Poziom 17  

    Więc czekamy niecierpliwie na twój kod który dotychczas zrobiłeś.

    0
  • #3 15 Cze 2010 12:06
    arnoldziq
    Moderator Programowanie

    Przyłączam się do grupy niecierpliwie oczekujących !
    Proszę nie nadużywać mojej cierpliwości !

    0
  • #4 15 Cze 2010 15:04
    wrych
    Poziom 20  

    A koniec roku tuż, tuż... Chciałbym Ci pomóc, ale musisz coś zacząć sam!
    Przyłączam się do kolegów niecierpliwie oczekujących na Twój kod.
    A to mała podpowiedź

    Code:
    Czytaj(imię);
    
    Czytaj(nazwisko);
    Zapisz(nazwisko + '  ' + imię);

    i tak 10 razy :D

    0
  • #5 15 Cze 2010 16:23
    dj_modo
    Poziom 2  

    Tak mniej więcej wygląda pierwszy program:

    Code:
    program qaser;
    
    uses crt;

    var
       a,b:integer;
       tim: array [1..10] of string;
       tna: array [1..10] of string;
       imi:file of string;
       naz:file of string;
    begin
         clrscr;
         writeln('Program zapisuje do pliku 10 imion i 10 nazwisk');
         writeln;
                 assign(imi,'d:\imiona.dat');
                 rewrite(imi);
         for a:=1 to 10 do
             begin
                  writeln('Podaj ',a,'. imie:');
                  readln(tim[a]);
             end;
         write('Imiona: ');
         for a:=1 to 10 do
             write(' ',tim[a]);
         readln;
                close(imi);
         readln;
         writeln;
         readln;
                assign(naz,'d:\nazwiska.dat');
                rewrite(naz);
         for b:=1 to 10 do
             begin
                  writeln('Podaj ',b,'. nazwisko:');
                  readln(tna[b]);
             end;
         write('Nazwiska: ');
         for b:=1 to 10 do
             write(' ',tna[b]);
         readln;
                close(naz);
         readln;
         writeln;
         readln;
    end.


    • tim - tabela-imiona
    • tna - tabela-nazwiska

    PS. Programowanie nie jest moją najmocniejszą stroną, więc proszę o wyrozumiałość ;)

    0
  • #6 15 Cze 2010 16:51
    lanky
    Poziom 17  

    Code:

    var
       a,b:integer;
       tim: array [1..10] of string;
       tna: array [1..10] of string;
       imi: TextFile;
       naz: TextFile;
    begin
         clrscr;
         writeln('Program zapisuje do pliku 10 imion i 10 nazwisk');
         writeln;

         for a:=1 to 10 do
             begin
                  writeln('Podaj ',a,'. imie:');
                  readln(tim[a]);
             end;
         write('Imiona: ');

         AssignFile(imi, 'c:\imie.txt');
         Rewrite(imi);  //jesli nie istnieje to utwoz
         for a:=1 to 10 do
             begin
                write(' ',tim[a]);
                Writeln(imi, tim[a]);  // przy okazji jak pokazujesz to zapisuj
             end;
         CloseFile(imi);
         readln;

         for b:=1 to 10 do
             begin
                  writeln('Podaj ',b,'. nazwisko:');
                  readln(tna[b]);
             end;
         write('Nazwiska: ');

         AssignFile(naz, 'c:\nazw.txt');
         Rewrite(naz);     //jesli nie istnieje to utwoz
         for b:=1 to 10 do
             begin
               write(' ',tna[b]);
               Writeln(naz, tna[b]);  // przy okazji jak pokazujesz to zapisuj
             end;
         CloseFile(naz);   // zamykamy
         readln;
    end.


    To pierwsze mamy za sobą teraz prosimy o drugi program.

    0
  • Pomocny post
    #7 15 Cze 2010 17:00
    wrych
    Poziom 20  

    Ten fragment Twojego kodu

    Code:
    assign(imi,'d:\imiona.dat'); 
    
    rewrite(imi);
    for a:=1 to 10 do
       begin
          writeln('Podaj ',a,'. imie:');
          readln(tim[a]);
       end;
    write('Imiona: ');
    for a:=1 to 10 do
        write(' ',tim[a]);
    readln;
    close(imi);

    pobiera dane (imiona) z klawiatury do tablicy, ale nie zapisuje ich do pliku, bo brakuje w pętli polecenia:
    Code:
    write(imi, tim[a]);

    Podobnie jest z nazwiskami.

    0
  • #8 16 Cze 2010 17:58
    dj_modo
    Poziom 2  

    Dzięki Wam bardzo za pomoc ;)
    Z drugim programem sam sobie poradziłem.
    Pozdrawiam/ dj_modo

    0