#include #include using namespace std; int main() { int x; double u, v;
cout<< "Line 1: Uppercase a is " <(toupper('a'))
<
cout<< "Line 4: " << u << " to the power of " << v << " = " << pow(u, v) <
<
cout<< "Line 7: u = " << u <cout<< "Line 9: Absolute value of " << x << " = " << abs(x) <
}
Дастуришлашинингнатижаси:
Line 1: Uppercase a is A
Line 4: 4.2 to the power of 3 = 74.088
Line 5: 5.0 to the power of 4 = 625
Line 7: u = 31.2
Line 9: Absolute value of -15 = 15 288
2,3 Belgilar bilan ishlash funksiyalari
Programmalash amaliyotida belgilarni qaysidir oraliqqa tegishli ekanligin ibilish zarur bo‘ladi. Buni «ctype.h» sarlavha faylida e’lon qilingan funksiyala ryordamida aniqlash mumkin.
Quyida ularning bir qismining tavsifi keltirilgan: isalnum() – belgi raqam yoki harf (true) yoki yo‘qligini (false) aniqlaydi; isalpha() - belginiharf (true) yoki yo‘qligini (false) aniqlaydi;
isascii() – belgini kodi 0..127 oralig‘ida (true) yoki yo‘qligini (false) aniqlaydi; isdigit() – belgini raqamlar diapazoniga tegishli (true) yoki yo‘qligini (false) aniqlaydi.
Bu funksiyalardan foydalanishga misol keltiramiz.
#include #include #include using namespace std; int main() { char satr[5]; intxato; do { xato=0;
cout<<"\nTug\'ilgan yilingizni kiriting: "; cin.getline(satr,5);
for (inti=0; i
{
if(isalpha(satr[i]))
{
cout<<"Harfkiritdildi!"; xato=1; } else
if(iscntrl(satr[i]))
{
cout<<"Boshqaruv belgisi kiritildi!"; xato=1; } else
if(ispunct(satr[i]))
{
cout<<"Punktuatsiya belgisi kiritildi!"; xato=1; } else
if (!isdigit(satr[i]))
{
cout<<"Raqamdan farqli belgi kiritildi!"; xato=1;
} } if (!xato) {
cout<< "Sizni tug\'ilgan yilingiz: "<
}
} while (1);
}
Programmada foydalanuvchiga tug‘ilgan yilini kiritish taklif etiladi. Kiritilgan sana satr o‘zgaruvchisiga o‘qiladi va agar satrning har bir belgisi (satr[i]) harf yoki boshqaruv belgisi yoki punktuatsiya belgisi bo‘lsa, shu haqda xabar beriladi va tug‘ilgan yilni qayta kiritish taklif etiladi. Programma tug‘ilgan yil( to‘rttaraqam) to‘g‘ri kiritilganda “Sizni tug'ilgan yilingiz: XXXX” satrini chop qilish bilan o‘z ishini tugatadi.
2,4 Turlarni o‘zgartirish funksiyalari
Satrlar bilan ishlashda satrk o‘rinishida berilgan sonlarni, son turlaridagi qiymatlarga aylantirish yoki teskari amalni bajarishga to‘g‘ri keladi. C++ tilining «stdlib.h» kutubxonasida bu amallarni bajaruvchi funksiyalar to‘plami mavjud. Quyida nisbatan ko‘p ishlatiladigan funksiyalar tavsifi keltirilgan.
atoi( ) funksiyasining sintaksisi
intatoi(const char* ptr);
ko‘rinishga ega bo‘lib, ptr ko‘rsatuvchi ASCIIZ-satrni int turidagi songa o‘tkazishni amalga oshiradi. Funksiya satr boshidan belgilarni songa aylantira boshlaydi va satr oxirigacha yoki birinchi raqam bo‘lmagan belgigacha ishlaydi. Agar satr boshida songa aylantirish mumkin bo‘lmagan belgi bo‘lsa, funksiya 0 qiymatini qaytaradi. Lekin, shunga e’tiborberish kerakki, “0” satri uchun ham funksiya 0 qaytaradi. Agar satrni songa aylantirishdagi hosil bo‘lgan son int chegarasidan chiqib ketsa, sonning kichik ikki bayt inatija sifatida qaytariladi.
Misol uchun
#include #include int main() { char str[]="32secund"; inti=atoi(str); cout<
}
Programmasining natijasi sifatida ekranga 32 sonini chop etadi. Agar str qiymati ”100000” bo‘lsa, ekranga -31072 qiymati chop etiladi, chunki 100000 sonning ichki ko‘rinishi 0x186A0 va uning oxirgi ikki baytidagi 0x86A0 qiymati 31072 sonining qo‘shimcha koddagi ko‘rinishidir.
atol() funksiyasi huddi atoi() funksiyasidek amal qiladi, faqat funksiya natijasi long turida bo‘ladi. Agar hosil bo‘lgan son qiymati long chegarasiga sig‘masa, funksiya kutilmagan qiymatni qaytaradi.
atof() funksiyasi e’loni doubleatof (const char* ptr);
ko‘rinishida bo‘lib, ptr ko‘rsatuvchi ASCIIZ-satrni double turidagi suzuvchi nuqtali songa o‘tkazishni amalga oshiradi. Satr suzuvchi nuqtali son formatida bo‘lishi kerak. Songa aylantirish birinchi formatga mos kelmaydigan belgi uchraguncha yoki satr oxirigacha davom etadi.
strtod() funksiyasi atof() funksiyasidan farqli ravishda satrni double turidagi songa o‘tkazishda konvertatsiya jarayoni uzilgan paytda aylantirish mumkin bo‘lmagan birinchi belgi adresini ham qaytaradi. Bu o‘z navbatida satrni xato qismini qayta ishlash imkonini beradi.
strtod() funksiyasining sintaksisi
double strtod(const char *s, char **endptr);
ko‘rinishga ega va endptr ko‘rsatkichi konvertatsiya qilinishi mumkin bo‘lmagan birinchi belgi adresi.
itoa() valtoa() funksiyalari mosravishda int va long turidagi sonlarni satrga ko‘rinishga o‘tkazadi. Bu funksiyalar mosravishda quyidagi sintaksisga ega:
char* itoa(intnum, char *str, int radix); va
char* ltoa(long num, char *str, int radix);
Bu funksiyalar num sonini radi x argumentda ko‘rsatilgan sanoq sistemasidagi ko‘rinishini str satrda hosil qiladi.
XULOSA
Ushbu kurs ishida qaralgan Standart kutubxona funksiyalari va ulardan foydalanish mavzusi ostida qo‘yilgan masalalarni o‘rganish bo‘yicha quyidagilar bajarildi:
1. C++ dasturlash tilining imkoniyatlari o‘rganib chiqilib, ishga aloqador va ishga muhim deb hisoblanganlari ish tarkibiga kiritildi.
2. C++ tilining bir qator kutubxonalari va ularda mavjud imkoniyatlar batafsil o‘rganib chiqildi va ish tarkibiga kiritildi.
3. Amaliy dasturlar qurish yo‘li bilan C++ tilining , , va kutubxonalaridan samarali foydalanish yo‘llari ko‘rsatib berildi.
Ushbu ishda keltirilgan ma‘lumotlardan C++ tilining kutubxonalariga bog‘liq imkoniyatlarini qo‘llashni yo‘lga qo‘yishni,ya‘ni kengroq o‘rganishni istovchilarning faydalanishlari yaxshi natija beradi deb hisoblaymiz.
FOYDALANILGAN ADABIYOTLAR VA INTERNET RESURSLARI
I. A. Karimov ―Yuksak ma‘naviyat yengilmas kuch.‖ T. Ma‘naviyat, 2010 y. 173 s.
2. I. A. Karimov ―O‘zbekiston mustaqillikka erishish ostonasida‖ T.O‘zbekiston 2011 y. 432 s.
3. Г.Шилдт –―Полный справочник по C++‖ – М-2006., 801 стр.
4.Р.Седжвик – ―Фундаментальные алгоритмы на С++‖ – М 2001., 687 стр.
5. Ш.Ф.Мадрахимов, С.М.Гайназаров ―С++ тилида программалаш асослари‖ – Тошкент-2009 й., 196 6. М.Э.Абрамян ―Электронный задачник по программированию‖ Ростов - на - Дону 2005 г. 182 стр. 7. A.A.Xaldjigitov, Sh.F.Madraximov, U.E.Adambayev, E.A Eshboyev, Informatika va dasturlash. T.:O‗zMU, 2005 y, -148 s. 8. Н.Н.Непейвода- Стили и методы программирования. Интернет университет информационных технологий. INTUIT.ru, 2005 г., 320 стр.
9. O.M.Shukurov, E.A.Eshboyev, B.H.Shovaliyev – ―Delphi va C++ algoritmik tillarida dasturlash‖ – Qarshi-2012 y., 228 s.
10.www.cplusplus.com
11.www.acm.timus.ru
12.www.codeforces.ru
13.www.cyberforum.ru
14.www.cybern.ru
15.www.delphisources.ru
16.ziyonet.uz