«Программалау» ПӘнінің ОҚУ-Әдістемелік кешені



бет12/16
Дата27.05.2018
өлшемі2,32 Mb.
#40952
1   ...   8   9   10   11   12   13   14   15   16

Зертханалық жұмыс №7.
Файлдар
1.Жұмыстың мақсаты:

С++ тілінде файлдармен танысу және олармен жұмыс істеу дағдысын қалыптастыру.


2. Есептің шарттары:

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


3. Есептің шешуі:


  1. Есепті шешу алгоритмінің блок-схемасы:



input(a)


fin.open(“flat.txt”); i = 0



-
i < n


+


flat.txt

a[i].adres

a[i].kolvo

a[i].ploshad

a[i].stoimost







i ++



fin.close(a)


return




output(а)



fout.open(''new_flat.txt''); i=0



i


-

+
a[i].adres

a[i].kolvo

a[i].ploshad

a[i].stoimost





new_flat.txt




i++



fout.close (a)



return


sort(a)




i=0




i


-

+
j=1



j


-

+


strcmp(a[i].adres,

a[j].adres)>0





-

+


t=a[i]; a[i]=a[j]; a[j]=t




j++



i++




fin.close(a)



return



БАСЫ




input(b)




sort(b)




output(b)



Vvedite stoimost




stoim




k=0;i=0;



i


-

+


b[i].stoimost<=

stoim




-

+
b[i].adres



k++




i++




Hauqeno kvartir



k




СОҢЫ


2)С++ тіліндегі бағдарлама мәтіні:
#include

#include

#include

#include

#include

const n=5;

struct flat

{char adres[20];

long int kolvo;

long int stoimost;

long int ploshad;

};

void input(flat a[n])

{ifstream fin;

int i;

fin.open("flat.txt");

for(i=0;i

fin>>a[i].adres>>a[i].kolvo>>a[i].ploshad>>a[i].stoimost;

fin.close();

}

void sort (flat a[n])

{int i,j;

flat t;

for(i=0;i

for(j=i;j

if(strcmp(a[i].adres,a[j].adres)>0)

{t=a[i];

a[i]=a[j];

a[j]=t;

}

}

void output(flat a[n])

{ofstream fout;

fout.open("new_flat.txt");

int i;

for(i=0;i

fout<

fout.close();

}

void main()

{clrscr();

double stoim,k;

k=0;

flat b[n];

cout.setf(ios::left);

input(b);

sort(b);

output(b);

cout<<"BBeguTe stoimost\n";

cin>>stoim;

cout<<"\nAdress/------/Kolichestvo_komnat/----/Ploshad/----/Stoimost/\n\n";

int i;

for(i=0;i

if(b[i].stoimost<=stoim)

{cout.width(20);cout<

cout.width(20);cout<

cout.width(12);cout<

cout.width(15);cout<

k++;

}

cout<<"\nHaugeHo "<

getch();

}

3)Бағдарламаны тестілеу нәтижесі:
Сұрыптауға дейінгі мәтіндік файл:


Сұрыптаудан кейінгі мәтіндік файл:



Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




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

    Басты бет