русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


ФАЙЛДАРДЫ ПАЙДАЛАНУ


Дата додавання: 2013-12-23; переглядів: 1895.


Getch();

K=i;

Fflush(stdin);

Clrscr();

Int i,j,k,priznak;

Void main(void)

Struct student

Return(res);

Int i; clrscr();

Float res;

Float sum(m)

Getch();

Float sum();

Main()

Float zarp;

Float avans;

char *mes_zarp;

};

{

static struct fund st[2]={{"қыркүйек",500000,

"қазан",700000},

{"қараша",600000,

"желтоқсан",800000}};

printf("жалпы сомасы= %8.3f ",sum(st));

}

struct fund *m;

{

for(i=0,res=0;i<2;i++,m++)

res+=m->avans+m->zarp;

}

4-мысал. Компьютерге студенттер жайлы ақпарат енгізу керек, студ­ент­тік топ жиымының әрбір элементі келесі мәліметтерден тұрады:

а) студенттің тегі және аты;

в) программалау пәнінен тапсырылған емтиханның нәтижесі.

Программа студент туралы ақпаратты келесі тәртіппен шығарады: оның топ тізіміндегі реттік нөмірі (енгізілген ақпараттан тұратын жи­ым индексі).

Си-программаның бір нұсқасының мәтіні:

#include <stdio.h>

#include <conio.h>

{

char fio[10];/*студенттің тегін,атын сақтайтын өріс */

int est1; // баға

} gruppa[25]; // топ тізімі жиымы

{

printf("\n 25 адамға дейінгі тізімді құру");

/*---------Топ тізімі ----------*/

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

{

printf("\n студент туралы мәліметті енгізіңіз %d және\\n (0-енгізуді аяқтау )\\n",i);

printf("\n Тегі және инициалы: ");

fflush(stdin); // енгізу буферін тазалау функциясы

gets(gruppa[i].fio);

printf("\n программалаудан алынған баға: ");

scanf("%d",&gruppa[i].est1);

k=i; // енгізілген ақпараттың ағымдағы мәнін //сақтаймыз

printf(" \n Белгі? ");

scanf("%d",&priznak);

if(!priznak) break;

}

/*---------Тізімді қарап шығу ------------*/

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

{

printf("\n қай студент туралы ақпарат?\n");

scanf("%d",&j);

if(j>k)

{

printf("\n Мәлімет жоқ! ");

continue; // мәлімет болмаған жағдайда

} // циклдің келесі қадамына көшу

printf(" \n СТУДЕНТ: %s \n",gruppa[j].fio);

printf(" \ программалау пәнінен n көктемгі сессия,

бағасы\: %d",gruppa[j].est1);

printf("\n Белгі? ");

scanf("%d",&priznak);

if(!priznak)break; }

puts("\n ПРОГРАММА жұмысы аяқталды!

Press any key...");

}

Бақылау сұрақтары

1. Си тілінде құрылымдар мен жолдар қалай сипатталады?

2. Айырмашылықтарын түсіндіріңіз.

3. “Құрылымға нұсқауыш” терминін түсіндіріңіз?

4. Нұсқауыштарды құрылымдарға қатысты қолдану ерекшеліктерін атаңыз.

5. Құрылымдармен жұмыс істеу ерекшеліктерін түсіндіріңіз.

6. Құрылым элементтерінқорытып шығару мүмкіндіктерін көрсетіңіз.

ДӘРІС№14

Файл – сыртқы есте сақтау құрылғыларында (магниттік дискі­лерде) орналастырылған және мәлімет өңдеу, тасымалдау кездерінде біртұтас күйде қарастырылатын мәліметтер жиыны.

Файлдармен жұмыс істеу үшін оларды алдымен ашу керек, яғни файл туралы мәліметті – атын, адресін программаға белгілі ету қажет.

Си тілінде файл ашу fopen() функциясы арқылы орындалады. Ол сыртқы құрылғыдағы физикалық файлды, мысалы, А:\NUR.DAT, прог­рам­мадағы оның логикалық атымен байланыстырады. Логикалық ат дегеніміз – файлға нұсқауыш, яғни файл туралы мәлімет сақталатын жады аймағына сілтеме жасау. Файлға нұсқауыш сипатталуы тиіс.

Сонымен, файлдармен жұмыс істегенде нұсқауыштар қолда­ны­лады. Файл­ға нұсқауыш мынадай түрде сипатталады:

FILE *fp;

мұндағы FILE типі – <stdio.h>тақырыптық файлында анықталған құрылым. Бұл нұсқауышты көрсетілген файлмен сол файл ашыл­ған­нан бастап, байланыстырып қоюға болады. Ол үшін келесі функция пайдаланылады:

fopen ("файл адресі/аты","қатынасу типі");

ол файлға нұсқауыш мәнін қайтарады немесе қате болса, NULL мәнін береді.

Мысалы, мынадай оператор орындалуы нәтижесінде

fp = fopen ("ex1.txt", "w");

жұмыс бумасындағы ex1.txt файлы оған мәлімет жазу (write) үшін ашылады, ал прог­раммада бұл файлды fp нұсқауышы арқылы пайдаланамыз (яғни fopen() функциясы файлдың сыртқы атын оның программада қолданы­латын ішкі логикалық атымен байланыстырады).

Сонымен, файлды ашатын fopen() функцияcының жалпы жазы­луы:

fp = fopen(name,mode)

мұнда fp – файлға сілтейтін нұсқауыш; name – файлдың адресін де көрсетуге болатын аты, көбінесе символдық тіркес арқылы жазылады; mode – файл қандай режимде қолданылатынын көрсе­те­тін параметр, бұл да символдар тіркесімен төмен­дегідей түрде жазылады:

"r" – файлды оқу үшін ашу (файл бұрын ашылған болуы тиіс);

"w" – бос файлды информация жазу үшін ашу;

"a" – файл соңына мәлімет қосып жазу үшін оны ашу;

"r+"– файлдан информация оқу және оған информация жазу үшін ашу);

"w+"– бос файлдан информация оқу және оған мәлімет жазу үшін файл ашу (бұрын файл болса, ол өшіріледі);

"a+"– файлдан информация оқу және оның соңына информация қосып жазу үшін ашу).

"t" – файл мәтіндік (текстік) режимде ашылады, ол rt, wt, at, т.с.с. болып көрсетіле береді.

"b" – файл екілік режимде ашылады, rb, wb, ab, т.с.с. болып көрсетіле береді.

Келісім бойынша файл көбінесе мәтіндік режимде ашылады.

Файлмен жұмыс істеп болған соң, оны жабу үшін келесі функция қолданылады:

fclose(файл_нұсқауышы).

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


<== попередня лекція | наступна лекція ==>
Float sum(t) | Typedef struct


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн