Зертханалық жұмыс №7.
Файлдар
1.Жұмыстың мақсаты:
С++ тілінде файлдармен танысу және олармен жұмыс істеу дағдысын қалыптастыру.
2. Есептің шарттары:
Квартира туралы мәлімететр адрестен, бөлмелер санынан, ауданынан және бағасынан тұрады. Бірнеше квартиралар туралы мәліметтерден тұратын массив берілген. Ақпаратты файлға жазу керек. Бағасы бойынша квартиларадың адрестерін және олардың санын анықтау керек.
3. Есептің шешуі:
Есепті шешу алгоритмінің блок-схемасы:
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)Бағдарламаны тестілеу нәтижесі:
Сұрыптауға дейінгі мәтіндік файл:
Сұрыптаудан кейінгі мәтіндік файл:
Достарыңызбен бөлісу: |