Программирование на языке С++


person.kol_ekz = 4; // person tuzilmasining kol_ekz maydoniga qiymat berish


Download 0.97 Mb.
bet3/3
Sana10.01.2023
Hajmi0.97 Mb.
#1087347
1   2   3
Bog'liq
4-mavzu. C da tuzilmalar

person.kol_ekz = 4; // person tuzilmasining kol_ekz maydoniga qiymat berish

person.sr_ball = 4.17; // person tuzilmasining sr_ball maydoniga qiymat berish

Misol

Sinfda n o'quvchi bor. Har bir talaba uchun familiyalar va 5 ta fan bo'yicha baholarni kiriting, o`rtacha ballini toping va eng yaxshi talabaning familiyasi va o`rtacha ballini ko'rsating.


#include
#include
using namespace std;
int main()
{
SetConsoleCP(1251); // kirish oqimiga win-cp 1251 kod sahifasini o'rnatish
SetConsoleOutputCP(1251); // chiqish oqimiga win-cp 1251 kod sahifasini o'rnatish
struct Student
{
string fam;
int p1, p2, p3, p4, p5;
float sr;
};
int n, i;

Misol

Sinfda n o'quvchi bor. Har bir talaba uchun familiyalar va 5 ta fan bo'yicha baholarni kiriting, o`rtacha ballini toping va eng yaxshi talabaning familiyasi va o`rtacha ballini ko'rsating.


cin>>n;
Student a[n];
float m_b=0;
for(i = 0;i < n; i++)
{
cout << “Familiyani kiriting: " << endl;
cin >> a[i].fam;
cout << “5 ta bahoni kiriting: " << endl;
cin >> a[i].p1 >> a[i].p2 >> a[i].p3 >> a[i].p4 >> a[i].p5;
a[i].sr = (a[i].p1+ a[i].p2 + a[i].p3 + a[i].p4 + a[i].p5) / 5.;
}
for(i = 0; i < n; i++)
if(a[i].sr >= m_b) m_b = a[i].sr;
for(i = 0; i < n; i++)
if (a[i].sr == m_b)
cout << a[i].fam << " o`rtacha ball= "<< a[i].sr << endl;
return 0;
}
Dastur davomi:

Tuzilmani faylga yozish


struct base
{
string name;
string work;
int year;
};
base a;
ofstream f;
f.open(“out.txt”);
f<
f.close()

Vazifa: faylga tuzilma tipi ma'lumotlarini yozish


#include
#include
#include
using namespace std;
struct base
{
string name;
string work;
int year;
};
int main()
{SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n; // tuzilma namunalari soni //
cin>>n;
base b[n];
for (int i=0;i{
cout << "Enter name :" << endl;
cin >> b[i].name;
cout << "Enter work :" << endl;
cin >> b[i].work;
cout << "Enter year :" << endl;
cin >> b[i].year;
}
ofstream outfile;
outfile.open(“out.txt");
for (int i = 0; i < n; ++i)
outfile << b[i].name << " " << b[i].work << " " << b[i].year << endl;
outfile.close();
return 0;
}
Dastur davomi

Fayldan tuzilmani o`qish


struct base
{
string name;
string work;
int year;
};
base a;
ifstream f;
f.open(“out.txt”);
f>>a.name>>a.work>>a.year;
f.close()

Mustaqil bajarish uchun topshiriqlar


1. Faylda imtihon natijalari to'g'risida tuzilma kabi ma'lumotlarni yozing. Tuzilmada familiya, ism va ballar soni mavjud:
< Familiya> < Ism>
Boshqa faylga 80 balldan yuqori ball olgan talabalarning ismlari va ismlarini ko'rsating.
2. Oldingi vazifada olingan ro'yxatga sanashni qo'shing, ismni bitta harfga qisqartiring va familiya oldiga qo'ying:
A. Qilichev
Z. Navruzova
...

Mustaqil bajarish uchun topshiriqlar


3. Faylda imtihon natijalari to'g'risidagi ma'lumotlar qayd etilgan. Har bir satrda bo'sh joy bilan ajratilgan familiya, ism va ballar soni mavjud:
< Familiya> < Ism>
80 balldan yuqori ball olgan talabalar ma'lumotlarini boshqa faylga chiqarish. Ro'yxat balning pasayishi bo'yicha saralanishi kerak. Chiqish formati:
  • A. Qilichev -86
  • Z. Navruzova -75

Download 0.97 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling