C foydalanuvchi kiritishi


ULASHISH

Foydalanuvchi kiritishi

C tilida printf() qiymatlarni chiqarish uchun ishlatilishini allaqachon bilib oldingiz.

Foydalanuvchi kiritgan ma’lumotni olish uchun scanf() funksiyasidan foydalanishingiz mumkin:

Misol

Foydalanuvchi kiritgan sonni chiqaring:

// Create an integer variable that will store the number we get from the user int myNum; // Ask the user to type a number printf("Type a number: \n"); // Get and save the number the user types scanf("%d", &myNum); // Output the number the user typed printf("Your number is: %d", myNum);
Misolni ishga tushirish »

scanf() funksiyasi ikkita argument qabul qiladi: o‘zgaruvchining format spetsifikatori (yuqoridagi misolda %d) va o‘zgaruvchining xotira manzilini saqlaydigan havola operatori (&myNum).

Maslahat: Xotira manzillari va funksiyalar haqida keyingi bobda batafsil bilib olasiz.


Bir nechta qiymat kiritish

scanf() funksiyasi bir nechta qiymat kiritishga ham imkon beradi (quyidagi misolda butun son va belgi):

Misol

// Create an int and a char variable int myNum; char myChar; // Ask the user to type a number AND a character printf("Type a number AND a character and press enter: \n"); // Get and save the number AND character the user types scanf("%d %c", &myNum, &myChar); // Print the number printf("Your number is: %d\n", myNum); // Print the character printf("Your character is: %c\n", myChar);
Misolni ishga tushirish »

String kiritishni qabul qilish

Foydalanuvchi kiritgan stringni ham olishingiz mumkin:

Misol

Foydalanuvchining ismini chiqaring:

// Create a string char firstName[30]; // Ask the user to input some text printf("Enter your first name: \n"); // Get and save the text scanf("%s", firstName); // Output the text printf("Hello %s", firstName);
Misolni ishga tushirish »

Eslatma: scanf() funksiyasida stringlar bilan ishlaganda string/massiv o‘lchamini ko‘rsatishingiz kerak (misolimizda juda katta son — 30 ni ishlatdik, lekin shunda hech bo‘lmaganda ism uchun yetarli belgi saqlanishiga amin bo‘lamiz), havola operatoridan (&) esa foydalanishingiz shart emas.

Biroq scanf() funksiyasining ba’zi cheklovlari bor: u bo‘sh joyni (probel, tabulyatsiya va h.k.) tugatuvchi belgi deb hisoblaydi, ya’ni u faqat bitta so‘zni ko‘rsata oladi (hatto siz bir nechta so‘z kiritsangiz ham). Masalan:

Misol

char fullName[30]; printf("Type your full name: \n"); scanf("%s", &fullName); printf("Hello %s", fullName); // Type your full name: John Doe // Hello John

Yuqoridagi misolda dastur "John Doe" matnini chiqaradi deb kutishingiz mumkin, biroq u faqat "John" ni chiqaradi.

Shuning uchun stringlar bilan ishlaganda matn qatorini o‘qish uchun ko‘pincha fgets() funksiyasidan foydalanamiz. E’tibor bering, quyidagi argumentlarni ko‘rsatishingiz shart: string o‘zgaruvchisining nomi, sizeof(string_name) va stdin:

Misol

char fullName[30]; printf("Type your full name: \n"); fgets(fullName, sizeof(fullName), stdin); printf("Hello %s", fullName); // Type your full name: John Doe // Hello John Doe
Misolni ishga tushirish »

Kiritish sifatida bitta so‘z olish uchun scanf() funksiyasidan, bir nechta so‘z uchun esa fgets() funksiyasidan foydalaning.





W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!