«С++ тілінде программалау» пәні бойынша

Автор: Пользователь скрыл имя, 22 Декабря 2011 в 21:29, курсовая работа

Описание работы

С++ тілінде ішкі файлдың аналогы болып ағын саналады. С++ де ағынға тип сәйкестендірілмейді. Ағын- енгізу,шығару процесінде берілетін байттық тізбек. Ағын қандай да бір сыртқы құрылғымен немесе дискідегі файлмен байланысты болу керек. С++ терминологиясында ол былайша айтылады: ағын қандайда бір құрылғыға немесе файлға бағытталуы қажет.
Курстық жұмыстың тақырыбы өте ауқымды болып келеді. Курстық жұмысты жазу барысында келесідей негізгі файлдарды ашу және жабу, файлдармен жұмысты ұйымдастыру, файлда форматты енгізу, шығару, символдарды енгізу, файлдың атын өзгерту тақырыптары қозғалмақшы.

Содержание

Кіріспе.......................................................................................................................3
1.Файлдармен жұмысты ұйымдастыру
1.1 Дискідегі файлмен жұмыс ...........................................................................4
1.2 Файлмен форматтық алмастыру.................................................................5
1. 3 FILE құрылымының көмегімен файлдармен жұмыс жасау........................6
2. С++ тілінде файлдармен жұмыс
2.1 Файлдармен жұмыс жасауға арналған функциялар…....…………….........10
2.2 Файлдағы символдармен жұмыс..... ..............................................................14
2.3 Файлдар және ағымдар...................................................................................16
2.4 Мәліметтер блогын жазу және оқу................................................................18
Қорытынды......................................................................................................20
Қолданылған әдебиеттер..........................................

Работа содержит 3 файла

C++ Файлдармен ж?мыс.doc

— 173.50 Кб (Скачать)

            The file list 1414. bak has been deleted

      Бүтін сандарды символдық формаға түрлендірмей ағынға жазу  putw ( )  функциясы арқылы жүзеге асырылады.

Int putw (int, FILE * fptr);

      Оқу үшін алынған ағынан бүтін санды оқу getw ( ) функциясы арқылы жүзеге асырылады.

Int getw (FILE * fptr);

      Функция файлдан оқылатын санды қайтарады. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    1. Мәліметтер  блогын жазу және оқу

     Файлмен ақпарат алмастырудың арнайы функциялары  мәліметтердің бүтін және символдық типтері үшін ғана бар. Жалпы жағдайда мәліметтер блогын оқу және жазу функциялары қолданылады. Олардың көмегімен файлға нақты сандарды , массивті, жолды және  құрылымды жазуға және оқуға болады. Мұнда да бұрын қарастылырған функциялардағы сияқты мәліметтердің ішкі өрнектелу формасы сақталады.

           FSEEK функциясы

      Файлдағы  позицияның көрсеткішімен басқару  үшін fseek ( ) кітапханалық функцисы қосымша  мүмкіндік береді.

      Функцияның  прототипі stdio.h файлында тұрады және ол былай белгіленеді:

      Int fseek ( FILE *fp, long off set, int origin );

      Fp аргументі әдеттегідей FILE құрылымын көрсетеді, файл ассоцияланып байт түрінде көрсетілген ара қашықтыққа off set аргументімен берілген позиция көрсеткішін жылжыту керек. Origin аргументе жылжуды санайтын нүктені береді. Бұл аргумент үш мағынаның біреуі болып келеді. 

      Санақ басы stdio.h файлында анықталған төмендегі тұрақтылардың бірі арқылы беріледі:

SEEK_ SET(мәні 0-ге тең)-файл басы

SEEK_CUR(мәні 1-ге тең)- ағымдық позиция

SEEK_END(мәні 2-ге тең)- файл соңы.

      Ығысу көрсеткішті берілген санақ басына салыстырғанда ығыстыратын байт санын анықтайды. Ығысу оң сан  да, теріс сан да бола алады. Екі  параметрлердің де типі long болады.

         FWRITE функциясы.

         Fwrite ( ) кітапханалық функциясы жадыдағы блок берілгендерін екілік файлға жазады. < stdio.h >  файлында оның прототипі мынандай:

        Int fwrite  (void * buf, int size, int count, FILE * fp);

         Buf аргументі жадыдағы бір облысқа сілтеуіш болып табылады файлға жазу үшін берілгендерді сақтайды. Ол void түрінде көрсетілген – бұл білдіреді , аргумент кез келген түрдін көрсеткіші бола алады. size   аргументі байттағы өлшемді, блоктағы берілген бөлек элементтерді көрсетеді, count аргументі – олардың ортақ көлемі. Fp аргументі FILE функциясының көрсеткіші болады, файлды ашу кезінде fopen ( ) функциясынан қайтарылған fwrite ( ) функциясы файлда жазылған және берілген элементтердің көлемін қайтарады. Егер ол көлемі count аргументі болса, онда ол қате болған. Шығару дұрыстығын тексеру үшін, келесі конструкцияны қолданамыз:

if ((fwrite (buf, size, count, fp))і = count)

   fprintf (stderr, "Error writing to file. ");

     FREAD функциясы.

      Кітапханалық fread ( ) функциясы блок берілгендерін екілік файлдық ағымнан жадыға салыстырып оқиды. Оның прототиі:

           int fread (void *buf, int size, int count, FILE *fp);

buf аргументі  жады учаскісіндегі көрсеткішін  ұсынады, соның ішіне файлдан  оранласа бастайды. fwrite( ) функциясындағы  сияқты, void үлгісіндегі көрсетілген  болады. size аргументі салыстырулы  блок берілгеннің бөлек элементтінің өдшем көрсеткіші, ал count – олардың ортақ көлемін fp аргумент – бұл әдеттегідей FILE құрылымында көрсетілген файлды ашу кезінде fopen ( ) функциясынан қайтарылған. fread функциясы берілген элементтінің салыстырулы көлемін қайтарады.

         FTELL () ЖӘНЕ REWIND( ) функциясы.

        Rewind () кітапханалық функциясы файлдын  басындағы позицияғы көрсеткішін  құру үшін қолданылады. Оның  прототипі мынадай: 

void rewind (FILE *fp);

fp аргументі  – бұл FILE құрылымына көрсеткіш, rewind шақыруы файлдын басына позиция көрсеткішін құрады.( 0 номерлі байт). Файлдағы көрсеткішті анықтау үшін ftell ( ) функциясын қолданамыз.  < stdio.h >  файлында функция прототипі : 

long ftell (FILE * fp);

fp аргументі   өзімен FILE құрылымын көрсетеді, файлды ашу кезінде fopen ( ) функциясынан қайтарылады.ftell ( ) функциясы long үлгі мағынасын қайтарады, оның басындағы файлға ағымдағы байттық номерді көрсетеді.(бірінші байттық номер 0 тең). Қате болған жағдайда, ftell ( ) –1L ді қайтарады. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

          Қорытынды

      Осы курстық жұмысымды қорытындылай келе С++ тіліндегі файлдар мен қиын тапсырмаларды шешуге және оларды жеңілдетуге мүмкіндік беретіндігін ұғындым. Файлдарда әр түрлі, керек бағдарламалар бар. Сондықтан бағдарламамен жұмыс істеген қолданушыға файлдармен дұрыс жұмыс істеуі керек. Бұл сабақтан дискілі файлдық байланысы, си тіліндегі файлдың екі түрі, файлды ашуға бағытталған бұйрықтар, ақпараттарды файлға жазу,  файлдан мәліметтерді оқу, файлды жабу, дискідегі файлдарды басқару,  уақытша файлдардың қолданылуы деген сұрақтарға жауап ала алдық.

       Мұнда файлдардың ағыны, дискілік файлмен жұмыс, файлдармен жұмысты ұйымдастыру , файлмен форматтық енгізу, файлмен форматтық алмастыру, файлда символды шығару,  файлды жою, бүтін сандарды жазу және оқу, мәліметтер блогын жазу және оқу,  fwrite () функциясы, fread ( ) функциясы, ftell () және rewind ( ) функциялары қарастырылды. Әр бөлімде файлдарға қатысты оепраторларының атқаратын қызметі, олардың прототипі және де файлда қолданылатын функциялардың атқаратын қызметі қарастырылған. Курстық жұмыстың ең басты физикалық файлдың негізгі түсініктерін зерттеу, С++ тіліндегі файлдармен жұмыс жасауға арналған функциялармен пороцедураларды зерттеу, С++ тіліндегі файлдармен жұмыс жасау ерекшеліктерін меңгеру, файлдары құру арқылы оның практикалық жүзеге асырылуын орындау міндеттері толықтай зерттеліп, игерілді.

    Курстық жұмыстың басты мақсаты болып  жоғарыда келтірілген сұрақтар мен жұмыс тақырыбы жан-жақты, тыңғылықты және терең түрде қарастырылды. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Қолданылған әдебиеттер 

  1. Шилдт,Г. С.Учебный  курс. / Г. С. Шилдт.- СПб.: Питер, 2002. 512 с.
  2. Павловская,Т. А. С/С++. Программирование на языке высокого уровня.             

         Т. А Павловская.- СПб.: Питер, 2005. —  461 с.

  1. Павловская,Т. А. С++. Объектно-ориентированное программирование:     

         /Щупак,Ю.А.-  СПб.: Питер, 2005. — 265 с.

  1. Павловская, Т. А. С/С++. Структурное программирование: /                                                              Ю.А.Щупак 

         Практикум.-СПб.: Питер, 2005. — 239 с.

  1. Гордеев ,А. В. Системное программное обеспечение/ А. Ю. Молчанов.- 

         СПб.: Питер, 2002.

  1. Фельдман,С.К.Системное программирование на персональном 

         компьютере/

  1. С.К.Фельдман.- М.: ЗАО «Новый издательский дом», 2004.
  2. Архангельский,А.Я. C++ Builder 6. Справочное пособие. Книга 1. Язык  

         С++./ А.Я. Архангельский.- М.: Бином-Пресс, 2002.

  1. Архангельский,А. Я. C++ Builder 6. Справочное пособие. Книга 2.

         Классы и компоненты./

  1. А.Я.Архангельский.- М.: Бином-Пресс, 2002.
  2. Ашарина,И.В. Основы программирования на языках С и С++./                                       

         И.В.Ашарина.- М.: Горячая линия – Телеком, 2002.

  1. Иртегов ,Д. В. Введение в операционные системы./ Д.В.Иртегов.- СПб.:      

         БХВ-Петербург, 2002.

13.     Фокс Дж. «Профаммное обеспечение и его разработка» Перевод с англ.   

         - Мир, 1985. - 368 с.

14.     Вирт Н. «Алгоритмы и структуры данных» Перевод с англ.-Мир, 1989.-

         360 с.

   16.    Страуструп Б. «Язык профаммирования C++» Радио и связь, 1991.- 

            230с.

   17.    Культин Н. Б. «Самоучитель C++ Builder» Петербург, 2004. - 320 с. 
 
 

МАЗМУНЫ.doc

— 58.50 Кб (Открыть, Скачать)

титулка.doc

— 25.00 Кб (Открыть, Скачать)

Информация о работе «С++ тілінде программалау» пәні бойынша