Здавалка
Главная | Обратная связь

fprintf() , fscanf() , fputs() , fgets() , getc() , putc() , fgetc() , fputc()



Бұлардың ішіндегі getc() , putc() , fgetc() , fputc()функциялары әрекеттері ұқсас, айырмашылықтары тек getc()пен putc()макроанықтаулар да, fgetc()жәнеfputc() -нағыз функциялар болып табылады.

Барлық файлдық функциялар проротитері <stdio.h>файлында орналасқан.

Файлдардан мәлімет жазу/оқу әрекеттерін үш топқа бөлуге болады:

- символдарды енгізу/шығару операциялары;

- сөз тіркестері жолдарын енгізу/шығару операциялары;

- блок бойынша енгізу/шығару операциялары.

Символдарды енгізу/шығару операцияларындафайлдан бір ғана символ оқылады немесе оған бір символ жазылады. Мысалы:

fgetc(FILE *fp);ашылған файлдан символ оқиды.

fputc(int ch, FILE *fp); chсимволы кодын файлға жазады.

Сөз тіркестері жолдарын енгізу/шығару операцияларындабір мәлімет алмасуы кезінде файлдан сөз тіркесі жолдары оқылады немесе оған сөз тіркесі жазылады. Мысалы:

fgets(char *S); файлдан мәлімет байттарын ‘\n\’ символы кездескенше біртіндеп оқиды да, оларды Sтіркесіне орналастырып, ‘\n\’символын ‘\0’(нөл-терминатор) белгісіне айналдырады.

fgets(char *S, int m, FILE *fp); fpтүрінде сипатталған файлдардан байттарды оқып, оларды ‘\n\’символы кездескенше немесе m байт оқылып біткенше Sтіркесі мәні ретінде жазып шығады.

Блок бойынша енгізу/шығару операцияларындамәліметтер алмасу олардың бір блогын толық қамтиды. Мысалы:

fread (void *ptv, int size, int n, FILE *fp);

мұнда fpфайлынан әрқайсысы sizeбайттан тұратын мәліметтің nблогы ptvнұсқауышы көрсетіп тұрған жады аймағына оқылады (оқылатын блок үшін алдын ала орын дайындап қою қажет).

fwrite(void *ptv, int size, int n, File *fp);

мұнда ptvнұсқауышы көрсетіп тұрған жады аймағында орналасқан әрқайсысы sizeбайттан тұратын мәліметтің nблогы ашық тұрған fpфайлына жазылады.

fprintf және fscanf функцияларын пайдалану

fprintfфайлға информация жазу үшін, ал fscanfфайлдан информация оқу үшін қолданылады. Олардың жалпы жазылу түрі:

fprintf (fp, “спецификация шаблоны”, p);

мұндағы p – өрнек;

fscanf(fp, “спецификация шаблоны”, адрес);

мысал: Бүтін сандар тізбегін (n=5) пернелерден енгізіп, оларды файлға жазу керек болсын.

//файл ашып, оған 5 сан жазу

#include <stdio.h>

#include<conio.h>

main()

{ int k,I,n=5;

char fname [ ]=”a:\\.txt\0”;

clrscr ();

FILE *fp;

fp=fopen(fname,”w”);

printf(“енгізілген сандар %s файлына жазылады \n”,fname);

puts (“ әр сан енгізілген соң, Еnter басыңыз \n”);

for (i=0; i<n; i++)

{scanf (“%i”,&k);

fprintf(fp,”%d”,k);

}

fclose (fp);

printf (“ енгізілген сандар %s файлына жазылады \n”, fname);

getch();

Нәтижесі:

Енгізілген сандар a:\num.txt файлына жазылады

Әр сан енгізілген соң, Enter басыңыз

Енгізілген сандар a:\num.txt файлына жазылады

Файлдағы мәлімет: 1 2 3 4 5

Бес бүтін санды n=5 бұрыннан бар file1.txt файлына жазу керек, сол файлды мәлімет қосу үшін ашып, оған 5 сан жазып, сонан соң ондағы мәліметті оқып тексеру керек.

/* файлға мәліметтер қосу */

#include <math.h>

#include <stdio.h>

#include <conio.h>

main ( )

{ int i, k=0,s=0, n=5, y,x;

char fname [ ]=”file1.txt”;

clrscr ( );

FILE *fp;

fp=fopen (“file1.txt”, “at”);

if (( fp=fopen(fname,”at”))==NULL)

{printf (“\nфайлды ашуда қате болды”);

getch( );

return (0);

}

puts (“Enter арқылы бөліп, 5 сан енгізіңіз:”);

for (i=1; i<=n; i++)

{scanf (“%i”, “&d” , x); }

fclose (fp);

getch ( );

}

Нәтижесі:

Enter арқылы бөліп 5 сан енгізіңіз:

Файлдағы мәлімет: 1 2 3 4 5 11 22 33 44 55

Дискідегі file1.txt файлын мәліметтер оқу үшін ашып, ондағы мәліметті оқып, файлдағы тақ сандардың қанша екенін және қосындысын табу керек.

/* файлдан мәліметтер оқу */

#include <math.h>

#include <stdio.h>

#include <conio.h>

main ( )

{ int i, k=0, s=0, n=5, y,x;

char fname [ ]=” file1.txt”;

clrscr ( );

FILE *fp;

fp=fopen(fname,”r”);

 

/**/

fp=fopen(”fp”, “rt”);

if (( fp=fopen(fname,”at”))==NULL)

{printf (“\nфайлды ашуда қате болды”);

getch( );

return (0);

}

puts (“файлдан оқылған сандар:”);

while (!feof (fp))

{scanf (fp,”%i”,&y);

printf(“%i”,&y);

if (y%2==0) {s+=y; k=k+1;}

}

fclose (fp);

printf (“\nтақ сандар қосындысы s= %i, олардың саны k=%i,s,k);

getch( );

}

fgets және fputs функцияларын пайдалану

Сөз тіркестерімен жұмыс істегенде fgetsжәнеfputsфункциялары қолданылады:

fgetsфункциясының жазылу түрі:

fgets(нұсқауыш,MAXLEN,fp); нұсқауыш –компьютер жадындағы орынға сілтейтін нұсқауыш;

MAXLEN –оқылатын тіркестің максимальды ұзындығы;

fp –файл нұсқауышы.

Мысалы:

#define L 20

Main()

{

FILE *fp;

char *st[n];

fp=fopen(“stroke”,”r”);

while(fgets(st,L,fp)!=NULL)

Puts(st);

}

Файлдарға сөз тіркестерін жазу үшін fputsфункциясы келесі түрде қолданылады:

status=fputs (қатар нұсқауышы,fp);

status –бүтін сан, оның мәні eofфункциясында жазылады, егер fputs()функциясы файлдыңсоңына шыққан болса немесеқате тапса, fputsфункциясы жазылатын жолдың соңына /0символын жазбайды.

Төменде осы функцияларды пайдалану мысалы келтірілген.

#include <stdio.h>

Void main()

{

int n;

char str[50],str1[50],ch;

FILE *fp;

//файлға мәлімет жазу

Fp=fopen(“ex.txt”,”w”);

puts (“Бүтін сан енгізіңіз:”); scanf (“%d,&n);

fprintf(fp,”%d\n”,n);

puts(“Символ енгізіңіз:”); ch=getchar();

puts (ch,fp);

puts (“Сөз тіркесін енгізіңіз:”); gets(str);

fputs(str,fp);

fclose(fp);

//Файлдан мәлімет оқу

if ((fp=fopen(“ex.txt”,”r”)) !=NULL)

{

fscanf (fp,”%d”,&n); printf (“n=%d\n”,n);

ch=getc(fp);putchar(ch);

fgets(str1,50,fp);puts(str1);

fclose(fp);

}else printf (\nФайлдан мәлімет оқылмайды!”);

}

Мұндағы fgets ()функцияның екінші параметрі N – оқылатын символдар саны, оған ‘\0’ белгісі де қосалды. Бұл функция өз жұмысын N-1 символын оқығаннан кейін немесе ‘\0’ белгісі кездескенде аяқтайды. Екеуінде де сөз тіркесі соңына ‘\0’ белгісі қосылады. fgets ()функциясы оқылған сөз тіркесі адресін қайтарады немесе оқылып болғанда (не қате шықса), NULL белгісін береді.

fputs ()функциясы әрекет дұрыс орындалса , соңғы оқылған символ кодын қайтарады, ал қате болса, EOF (файл соңы) белгісін береді. бұл функция курсорды автоматты түрде келесі жолға көшірмейді.

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

fseek (файлға нұсқауыш, бастапқы нүктеден ығысу, бастапқы нүкте);

Екінші аргумент типі long, оның мәні оң да, теріс те болуы мүмкін. Ол бастапқы нүктеден қанша орынға (байтпен) ығысу керек екендігін көрсетеді. Үшінші аргумент файлдағы бастапқы нүкте орнын анықтайтын код болып табылады. Осы код үшін мынадай мәндер тағайындалған:

0 – файл басы;

1 – ағымдағы позиция;

2 – файл соңы.

Дұрыс орындалғанда, fseek () функциясы 0 мәнін береді,ал егер қате (мысалы, файлдың сол жақ шекарасынан ары аспақшы болғанда) болса, онда 1 береді.

 

fwrite және fread функцияларын пайдалану

Құрылымдарды пайдаланатын файлдармен жұмыс істеу кезінде fread()/fwrite()функцияларын пайдаланған ыңғайлы. Олардың жазылуы:

fread(ptr,size,n,fp);

мұнда fpфайлынан әрқайсысыsizeбайттан тұратын мәліметтіңnблогыptfнұсқауышы көрсетіп тұрған жады аймағына оқылады (оқылатын блок үшін алдын ала орын дайындап қою қажет).

fwrite(ptr,size,n,fp);

мұнда ptfнұсқауышы көрсетіп тұрған жады аймағында орналасқан әрқайсысыsizeбайттан тұратын мәліметтіңnблогыашық тұрған fpфайлына жазылады.

Осы функцияларды қолданудың бір мысалын келтірейік:

typegef struct

{

char author [30];

char title [50];

int pages;

} BOOK;

BOOK b1={“Kernighan”,”C Language”,256}, b2;

FILE *fp;

void main()

{…

fp=fopen(“struct.txt”,”w+”);

//файл әрі оқу, әрі жазу үшінашылады

fwrite (&b1, sizeof(BOOK), 1, fp);

fseek(fp,0,0); //маркер файл басына

fread(&b2, sizeof (BOOK), 1, fp);

printf (“Авторы - %s,аты - %s,беттер саны - %d\n”,b2.author,b2.title,b2.pages)

Ұсынылатын әдебиеттер тізімі

Негізгі әдебиеттер:

8. Алгоритмдеу және программалау тілдері [Мәтін]: Оқулық / Б. Б. Бөрібаев, А. М. Махметова.- Алматы: ЖШС РПБК Дәуір, 2011.- 328бет.

9. Программалау технологиялары [Мәтін]: Оқулық / Б. Бөрібаев.- Алматы: ЖШС РПБК Дәуір, 2011.- 352бет.

10. Шилдт Герберт. С++: Базовый курс / Г. Шилдт.- 3-е изд./ Пер. с англ. и ред. Н. М.Ручко.- М.: Вильямс, 2006.- 624с.

11. Шилдт Г. Искусство программирования на С++. / Г. Шилдт.- М.: СПб, 2005.- 496.

12. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник для вузов / Т.А. Павловская.- СПб.: Питер, 2006.- 461с.

13. Савич У. С++ во всей полноте / У. Савич.- СПб.: Питер, 2005.- 784с.

14. Дейтел Х.М. Как программировать на С / Х.М. Дейтел, П.ж. Дейтел; Пер. с англ. под ред. В.В.Тимофеева.- 4-е издание.- Москва: БИНОМ, 2006.- 912с.

Қосымша әдебиеттер:

19. Павловская Т.А. С++. Обьектно-ориентированное программирование: Практикум / Т. А. Павловская, Ю.А. Щупак.- СПб.: Питер, 2005.- 265с.

20. Архангельский А.Я. Язык С++ в С++ Builder: Справочное и методическое пособие /

21. Архангельский А.Я. Программирование в С++Builder 5/ А.Я. Архангельский.- М.: БИОНОМ, 2000.- 1152с.

22. Аляев Юрий А. Алгоритмизация и языки программирования Pascal,C++,Visual Basic: Справочник / Ю.А. Аляев, О.А. Козлов.- М.: Финансы и статистика, 2004.- 320 c.

23. Акжалова А.Ж. Программирование в среде Visual C++: Учебное пособие / А.Ж. Акжалова, Л.Б. Атымтаева.- Алматы: Қазақ университетi, 2005.- 146с.

24. Юркин А.Г. Задачник по программированию / А.Г. Юркин.- СПб.: Питер, 2003.-192с.

25. Могилев А.В. Информатика: Учебное пособие для студентов вузов / А.В. Могилев,

26. Н.И. Пак, Е.К. Хеннер; Под ред. Е.К.Хеннера.- 3-е издание перераб. и доп.- М.: Академия, 2004.- 848с.

27. Страуструп Б. Язык программирования С++. –СПб.:БИНОМ, 1999.-991с

28. Бабэ Б. Просто и ясно о Borland С++. –М.: БИНОМ, 1995.-400с.

29. Голуб А.И. С и С++. Правила программирования . –М.:БИНОМ,1996.-272с.

30. Баженова И.Ю. Visual С++6.0. Уроки программирования. –М.: Диалог-МИФИ, 1999.-416с.

31. Карпов Б., Баранова Т. С++:специальный справочник. –СПб.:Питер, 2000.-480с.

32. Исмағұлова Б., Ережепова Э., Әбдіжапарова Г. Сөздік Словарь. Алматы.,Аруна, 2002.- 415б.

33. Г. Г. Мусабаева Русско- казахский словарь I-том, II-том. Алматы- 1978.

34. www.sunir.org/booklist

35. http://www.osborn.com

36. www.possibility.com

 

Бақылау—өлшем құралдары

 

1. Тілдің жалпы сипаттамасы.Айнымалылар және тұрақтылар.

2. С++ тілінде мәліметтердің типтері.

3. Бүтін типті мәліметтерді сипаттау.

4. Бүтін тұрақтылар.

5. Символдық мәліметтерді сипаттау.

6. Символдық тұрақтылар.

7. Жылжымалы нүктелі айнымалыларды сипаттау.

8. Жылжымалы нүктелі тұрақтылар.

9. Мәліметтер типтерін қолдану.

10. Унарлы, бинарлы және тернарлы амалдар

11. Айнымалылар

12. Өрнектер

13. Тармақталу операторы.

14. Циклдық операторлар.

15. “Әзір” циклы.

16. “Дейін” циклы.

17. Параметрлі цикл.

18. Басқару операторлары.

19. Көрсеткіштер. Көрсеткіштерді алғашқы орнату.

20. Көрсеткіштермен амалдар.

21. Массивтер.

22. Жолдар.

23. Типтердің атын өзгерту.

24. Тізім типі.

25. Құрылымдар.

26. Біріктіру.

27. Функцияларды жариялау және анықтау.

28. Функцияның қайтаратын мәні.

29. Функцияның параметрлері.

30. Параметрлерді массив түрінде беру.

31. Функцияның атын параметр түрінде беру.

32. Параметрлерінің саны өзгермелі функциялар.

33. “Тура” рекурсия түсінігі.

34. Функцияны қайта қосу.

35. Енгізу - шығару функциялары.

36. Ағымды ашу.

37. Ағымдарға енгізу/ шығару, ағымдарды жабу.

38. Препроцессордың негізгі инструкциялары(директивтер).

39. Сыртқы жариялаулар.

40. Стандартты библиотеканың атауларының аймағы.

 
 

І.Жансүгіров атындағы Жетісу мемлекеттік университеті   СМЖ ЖМУ Е/ОӘК.08-01-2012 2 басылым
САПА МЕНЕДЖМЕНТ ЖҮЙЕСІ
Пәннің оқу-әдістемелік қамтамасыздандыруларының картасы Ф.4.08-01-47
29.03.2012 ж.

 

 

Пәннің оқу-әдістемелік қамтамасыздандыруларының картасы

 

С++-те программалау

(пәнің атауы)

 

Кафедра _______Ақпараттық технологиялар және ИОӘ ________________

Тьютор ______А.О.Алдабергенова__________________________________________

Мамандық ____5В011100 – информатика, 5В060200-Информатика_________________

Кредит саны ______3_____________________________________________________

Пән циклі ______Кәсіби пәндер, Таңдау компоненті ______________________

Студенттер саны _______________________________________________________

 

 

Әдебиет түрі Шифр Әдебиет атауы Бар болуы Ескерту
Кітапханада және кафедрада %
Негізгі 1. З973.26-018.1я73 Б79   Алгоритмдеу және программалау тілдері [Мәтін]: Оқулық / Б. Б. Бөрібаев, А. М. Махметова.- Алматы: ЖШС РПБК Дәуір, 2011.- 328бет.      
2. З973-018я73 Б79 Программалау технологиялары [Мәтін]: Оқулық / Б. Бөрібаев.- Алматы: ЖШС РПБК Дәуір, 2011.- 352бет.      
3. З973-018.1 Ш57   Шилдт Герберт. С++: Базовый курс / Г. Шилдт.- 3-е изд./ Пер. с англ. и ред. Н. М.Ручко.- М.: Вильямс, 2006.- 624с.    
4. З973-018.1я73 П12   Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник для вузов / Т.А. Павловская.- СПб.: Питер, 2006.- 461с.      
5. З973-018.1 С13   Савич У. С++ во всей полноте / У. Савич.- СПб.: Питер, 2005.- 784с.    
6. З973.26-018.1 Ш55 Шилдт Г. Искусство программирования на С++. / Г. Шилдт.- М.: СПб, 2005.- 496.      
7. З973.26-018.1 Д27   Дейтел Х.М. Как программировать на С / Х.М. Дейтел, П.ж. Дейтел; Пер. с англ. под ред. В.В.Тимофеева.- 4-е издание.- Москва: БИНОМ, 2006.- 912с.      
Қосымша 1. З973-018.1я73 П12   Павловская Т.А. С++. Обьектно-ориентированное программирование: Практикум / Т. А. Павловская, Ю.А. Щупак.- СПб.: Питер, 2005.- 265с.      
2. З973.26-018.1я2 А 87   Архангельский А.Я. Язык С++ в С++ Builder: Справочное и методическое пособие / А.Я. Архангельский.- М.: ООО " Бином-Пресс", 2008.- 944с.    
3. З973.26-018.1 А87   Архангельский А.Я. Программирование в С++Builder 5 / А.Я. Архангельский.- М.: БИОНОМ, 2000.- 1152с.      
4. З973.26-018.1я7 А 60   Аляев Юрий А. Алгоритмизация и языки программирования Pascal,C++,Visual Basic: Справочник / Ю.А. Аляев, О.А. Козлов.- М.: Финансы и статистика, 2004.- 320 c.    
5. З973я А38   Акжалова А.Ж. Программирование в среде Visual C++: Учебное пособие / А.Ж. Акжалова, Л.Б. Атымтаева.- Алматы: Қазақ университетi, 2005.- 146с.      
6. В185я7 Ю74   Юркин А.Г. Задачник по программированию / А.Г. Юркин.- СПб.: Питер, 2003.- 192с.    
7. В182:З973я73 М74   Могилев А.В. Информатика: Учебное пособие для студентов вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под ред. Е.К.Хеннера.- 3-е издание перераб. и доп.- М.: Академия, 2004.- 848с.      
           
Электрондық 1.   Алдабергенова А.О. С++ тілінде программалау негіздері      
           
           
Демонстрациялық материалдар   Слайдтар, Интернет сайттары      
           
           
           
           

 

Оқу сабақтарының программалық және мультимедиалық тізімі

 

Бағдарламалық және мультимедиалық сабақтардың атауы Шығу жылы Оқыту тілі Саны
С++ программасы ағылшын  
MS PowerPoint орысша  

 

 

Арнайы аудиториялар, кабинеттер, зертханалардың тізімі

 

Арнайы аудиториялар, кабинеттер, зертханалардың тізімі   Саны Ауданы (кв.м)
Компьютерлік класстар: 314, 320, 321, 322  
Интерактивті класс: 201  

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.