primer fayla v konsolnom rezhime

Upload: roman-matveev

Post on 05-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    1/17

    Пример выполнения заданияв консольном режиме

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    2/17

    Написать программу по обработкефайла, содержащего информацию о рей-тинге студентов. Каждая апись должнасодержать !"# студента и полу$енн%й баллрейтинга.

    &%вести информацию, отсортирован-

    ную в порядке увели$ения рейтинга.

    'еультат% в%полнения программ%со(ранить в текстовом файле.

    )ри работе с файлом должн% б%тьв%полнен% следующие действия* соданиенового файла, просмотр все( аписей,

    добавление новой аписи, сортировка.

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    3/17

    +ля содания текстового файла в

    консольном приложении испольуем

    функцию fprintf . екст программ%*. . .

    /0123456 78950:.;<

    /0123456 70:.;<

    89=429 >?@A B - Cаблон

      2;@= DEFGHIJK структур%

      5:4L36 8MLK

    N ?@AK- Oтруктурная переменная

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    4/17

    019 80P6 Q 80P6:R>?@AK - 'амер аписи

    DEST UDP, UD9K - Vкаатели файлов

    2;@= D036M?@AGJ Q [email protected]@9WK

    XX 2;@= D036M?@AGYIJK

    2;@= D036MZ6PGJ Q W=6P439.9[9WK

    XX 2;@= D036MZ6PGYIJK

    \:05 F49>?@AK - )рототип функции

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    5/17

    \:05 ]@01

    B

    019 ^:5, - +ля в%бора действия

    0, _, - )еременн%е циклов

    ^:3K - Коли$ество аписей3:1` 361K - #бaем файла

    >?@A 89, - bлемент структур%

    U]@8M?K - Vкаатель для массива

      D9 Q R:A61D036MZ6P, WcWK - #ткр%тие

    текстового файла для со(ранения реультатов

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    6/17

    c;036 9=46 B - dесконе$н%й цикл

    A498We1 f=6@96 g he1 i55 g Y

    e1 j06c g He1 k:=9 g l

    e1 TmE> g IWK

    82@1RWn5W, o^:5K

    pсли добавить пункт* q&ведите имяфайлаr, то можно в процессе

    в%полнения программ% в%бирать

    нужн%й файл.

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    7/17

    8c092;^:5 B

      2@86 h* - Oодание нового файла

    DP Q R:A61D036M?@A, WcLWK - #ткр%тие  0R DP QQ stSS B - )роверка

      A498We1 f=6@96 TZZFZuWK

      =694=1K

      N

      R23:86DPK - vакр%тие файла

      A=019RWe1 f=6@96 s6c D036 n8 ue1W,

      D036M?@AK

      L=6@^K - Конец 2@86 h

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    8/17

    2@86 Y* - +обавление новой аписи

      DP Q R:A61D036M?@A,W@LWK - #ткр%тие

      A=019RWe1 DEF g WK

      RR348;89501K - #$истка потока ввода

    `[email protected]  A=019RW w@33 g WK

    82@1RWn3RW, [email protected]

      Rc=096o?@A, 80P6, h, DPK - vапись в файл

      R23:86DPK - vакр%тие файла

    L=6@^K - Конец 2@86 Y

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    9/17

    2@86 H*

      0R DP Q R:A61D036M?@A,W=LW QQ stSS

    B- #ткр%тие файла для $тения с проверкой

      A498We1 FA61 TZZFZuWK

      =694=1K  N

    A=019RWe1e9--------- E1R:=]@90:18 ---------WK

    - &%вод текста с новой строки с табуляциейна xкран

    RA=019RD9, We1e9--------- E1R:=]@90:18

    ---------WK-

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    10/17

    c;036h B - dесконе$н%й цикл

      XX 0R u R=6@5o?@A,80P6,h,DP L=6@^K

      0R R=6@5o?@A,80P6,h,DP QQ I L=6@^K- O$ит%ваем и файла DP по одной аписи

    ?@A до те( пор пока не дойдем до конца

    файла, т.е. пока реультат функции R=6@5 не

    равен I

    F49?@AK - &%ов функции для

    в%вода информации на xкран и аписи в

    текстов%й файл

    N - Конец цикла c;036h

    R23:86DPK - vакр%тие файла

    L=6@^K - Конец 2@86 H

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    11/17

    2@86 l* - Oортировка по рейтингу

      DP Q R:A61D036M?@A,W=LWK - #ткр%тие

    361 Q R036361`9;R0361:DPK - #преде-ление обaема файла в байта(

    ^:3 Q 361 X 80P6K - 'ас$ет коли$ества

    аписей в файле]@8M? Q 16c >?@AG^:3JK - Oодание

    динами$еского массива

    R=6@5]@8M?, 80P6, ^:3, DPK - yтение ^:3аписей каждая рамером 80P6 байт и

    файла DP и апись по адресу ]@8M?

      R23:86DPK - vакр%тие файла

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    12/17

      A=019RWe1e9----- k F Z > -----e1WK - &%вод

    текста на xкран

      RA=019RD9,We1e9----- k F Z > -----e1WK - vаписьтакого же текста в файл реультатов D9

      R:= 0 Q IK 0 7 ^:3 - hK 0zz -

    Oортировка  R:= _ Q 0zhK _ 7 ^:3K _zz

      0R ]@8M?G0J.8ML < ]@8M?G_J.8ML B

    89 Q ]@8M?G0JK - )ерестановка

      ]@8M?G0J Q ]@8M?G_JK

      ]@8M?G_J Q 89K

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    13/17

      R:= 0 Q IK 0 7 ^:3K 0zz - &%вод все(

    F49]@8M?G0JK аписей

      563696 GJ]@8M?K

    L=6@^K - Конец 2@86 l

      2@86 I* - Конец работ%R23:86D9K - vакр%тие текстового файла

      =694=1K - &%(од и функции ]@01

      N - Конец оператора 8c092;

      N - Конец оператора c;0369=46

    N - Конец функции ]@01

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    14/17

    !ункция в%вода одной аписи на xкран и

    аписи в файл

    \:05 F49 >?@A P

    B

      A=019R We1 nYI8 , n{.H3R W, P.DEF, P.8MLK- &%вод на xкран полей DEF и 8ML аписи P

      RA=019R D9, We1 nYI8 , n{.H3R W, P.DEF, P.8MLK

    - vапись в текстов%й файл D9 аналоги$ной

    информации

    N

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    15/17

     &%брав пункт qhr, откр%ваем файл

    DP Q R:A61D036M?@A, WcLWK

    с логи$еским именем DP укаатель с

    фии$еским именем D036M?@A равн%м в

    на|ем примере zapisi .dat   массив 2;@=,

    котор%й будет располагаться в текущей

    рабо$ей папке.

    'ежим откр%тия cL g для содания несуществующего бинарного файла, или

    амен% существующего файла на нов%й со

    стиранием пред%дущей информации.

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    16/17

     &%бирая пункт qYr, откр%ваем файл

    DP Q R:A61D036M?@A,W@LWK

    - аналоги$но файл с укаателем DP и именем

    D036M?@A.

    Но режим откр%тия @L g для содания

    первой аписи у не существующего бинарного

    файла, или добавления новой аписи в конец

    существующего файла.  &%бирая пункт qYr добавляем столько

    аписей, сколько надо. & xтом пункте можно

    поставить цикл.

  • 8/16/2019 Primer Fayla v Konsolnom Rezhime

    17/17

      &%брав пункт qHr, просматриваем

    содержимое файла и апис%ваем в

    реультирующий текстов%й файл D9.Oортированн%е аписи в%ведем на

    xкран и апи|ем в файл, в%брав пункт qlr.

    )ри работе пунктов qHr и qlr файлоткр%ваем для $тения

    DP Q R:A61D036M?@A,W=LWK

    'ежим откр%тия =L g для $тения информации

    и существующего бинарного файла, при его

    отсутствии g о|ибка.