Amaliy qism: Tasodifiy belgilarni hosil qilish


Download 1.86 Mb.
bet7/13
Sana07.05.2023
Hajmi1.86 Mb.
#1439378
1   2   3   4   5   6   7   8   9   10   ...   13
Bog'liq
S-D1-ma\'ruza-4

7.5. Satrlarni o’qish
Satr ma’lumotni klaviatura orqali, cin ob’yektini qo`llagan holda o`qishi mumkin. Misol sifatida quyidagi kodni ko`rishimiz mumkin:
1 string shahar;
2 cout << "Shaharni kiriting: ";
3 cin >> shahar; // shahar satrini o`qish
4 cout << "Sizning kiritgan satringiz: " << shahar << endl;
Uchinchi satrda shahar ga satrli ma’lumot klaviatura orqali o`qiladi. Satrni o`qish uchun bunday yo`l tutish oson. Lekin bu yerda bir muammo bor. Kiritish bo`sh joyli belgi bilan tugaydi. Agar biz Nyu York satrini kiritmoqchi bo`lsak, boshqa bir alternative yo`lni tanlashimiz kerak. C++ string kutubxona faylida getline funksiyasini taqdim qiladi. Uning yozilish sintaksisi quyidagicha:
getline(cin, s, belginingDelimitlanishi)
Bunda funksiya belgining delimitlanishiga kelganda o`qishni to`xtatadi. Belgini delimitlovchi o`qiladi, ammo satrga yozilmaydi. Uchinchi argument, belginiDelimitlovchi ‘\n’ asl holat qiymati (default value)ga ega.
Quyidagi kodda satrni o`qish uchun getline funksiyasidan foydalanilgan:
1 string shahar;
2 cout << "Shaharni kiriting: ";
3 getline(cin, shahar, '\n'); // getline(cin, shahar) bilan bir xil
4 cout << "Siz kiritgan satr: " << shahar << endl;
Madomiki, getline funksiyasida uchinchi argumentning asl holat qiymati '\n' gat eng ekan, 3-satrni quyidagi bilan almashtirib yozish mumkin:
getline(cin, shahar); // Satrni o`qish
7.1-kodli ro`yxatda foydalanuvchini ikkita shahar nomini kiritishga undovchi va bu shaharlarni alifbo tartibida ekranga chiqaruvchi dastur berilgan.
7.1-kodli ro`yxat. IkkiShahar.cpp
1 #include
2 #include <string>
3 using namespace std;
4
5 int main()
6 {
7 string shahar1, shahar2;
8 cout << "Birinchi shaharni kiriting: ";
9 getline(cin, shahar1);
10 cout << "Ikkinchi shaharni kiriting: ";
11 getline(cin, shahar2);
12
13 cout << "Shaharlarning alifbo tartibida joylashuvi: ";
14 if (shahar1 < shahar2)
15 cout << shahar1 << " " << shahar2 << endl;
16 else
17 cout << shahar2 << " " << shahar1 << endl;
18
19 return 0;
20 }

Birinchi shaharni kiriting: Nyu York
Ikkinchi shaharni kiriting: Boston
Shaharlarning alifbo tartibida joylashuvi: Boston Nyu York

Har doim, dasturda satr qo`llanilganda string kutubxonasiga murojaat qilish lozim (2-satr). Agar 9-satrni cin >> city1 bilan almashtirsak, shahar1 ga bo`sh joy tashlab satr yoza olmaymi (ya’ni bir nechta so`zdan iborat bo`lgan satrni). O`qilayotgan satrli ma’lumot bir nechta so`zlardan tashkil topgan bo`lsa, uni getline funksiyasi yordamida o`qitish lozim (9-11-satrlar).



Download 1.86 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   13




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