1. Си туралы түсінік


Мысал: Бұл бағдарлама мәліметтерді мәтіндік файлдан оқудың қолданылуын көрсетеді. Бағдарлама Ауа райы



бет31/54
Дата06.01.2022
өлшемі2,99 Mb.
#14337
1   ...   27   28   29   30   31   32   33   34   ...   54
Байланысты:
№1 сабак

Мысал: Бұл бағдарлама мәліметтерді мәтіндік файлдан оқудың қолданылуын көрсетеді. Бағдарлама Ауа райы бағдарламасының meteo.txt файлының құрамындағы мәліметтерді Memo компонентінің өрісіне шығарады және орташа айлық температураны есептейді.

Бағдарлама формасы:



#include

#include

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int GetString( int f, AnsiString *st);

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

ComboBox1->Style = csDropDownList;



ComboBox1->Items->Add("Қаңтар") ;

ComboBox1->Items->Add ("Ақпан") ;

ComboBox1->Items->Add("Наурыз") ;

ComboBox1->Items->Add("Сәуір");

ComboBox1->Items->Add("Мамыр") ;

ComboBox1->Items->Add("Маусым") ;

ComboBox1->Items->Add ("Шілде") ;

ComboBox1->Items->Add("Тамыз") ;

ComboBox1->Items->Add ("Қыркүйек") ;

ComboBox1->Items->Add("Қазан");

ComboBox1->Items->Add("Қараша");

ComboBox1->Items->Add ("Желтоқсан") ;

ComboBox1->ItemIndex = MonthOf( Now() ) -1 ;

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button1Click(TObject *Sender)

{

int h;



h = FileOpen("meteo.txt",fmOpenRead);

if ( h == -1)

{

ShowMessage ("meteo.txt мәліметтер файлы табылмады");



return;

}

Memo1->Lines->Clear();



AnsiString st;

int ls;


TDateTime aDate;

float temp;

int nMonth;

int n = 0;

float sum =0;

float sred;

AnsiString buf;

do

{



ls = GetString(h,&st) ;

if ( ls != 0)

{

nMonth = MonthOf(StrToDate(st)) - 1;



buf = st;

ls = GetString(h,&st);

temp = StrToFloat(st);

if ( nMonth == ComboBox1->ItemIndex )

{

n++;


sum = sum + temp;

buf = buf + " " + st;

Memo1->Lines->Add(buf);

}


}

}

while ( ls != 0);



FileClose(h);

if ( n != 0 )

{

sred = sum / n;



Label1->Caption = "Орташа мәні: " + FloatToStrF(sred,ffGeneral,3,2);

}

else



Label1->Caption = "Мәліметтер базасында мынадай күннің температурасы туралы ақпарат жоқ" + ComboBox1->Text;

}

//---------------------------------------------------------------------------



void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{

Label1->Caption - "" ;



Memo1->Text = "" ;

}

//---------------------------------------------------------------------------



int GetString(int f, AnsiString *st)

{

unsigned char buf[256];



unsigned char *p = buf;

int n;


int len = 0;

do

n = FileRead(f, p, 1);



while ( (n != 0) && (*p == ' '));

while (( n != 0 )&&( *p !=' '))

{

if ( *p == '\r')



{

n = FileRead(f, p, 1);

break;

}

len++;



p++;

n = FileRead(f, p, 1) ;

}

*p='\0';


if (len!=0)

st->printf("%s",buf);



return len;

}





Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   54




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет