समस्या
C प्रोग्रामिंग का उपयोग करके लाइब्रेरी की पुस्तक-संबंधी जानकारी कैसे संग्रहीत और प्रबंधित करें?
एल्गोरिदम
चरण 1: एक संरचना घोषित करें जो डेटा सदस्यों को धारण करे
चरण 2: लूप के लिए चर घोषित करें
चरण 3: प्रत्येक मॉड्यूल पर काम करने के लिए स्विच केस का उपयोग करें
केस 1: पुस्तक जानकारी जोड़ें
केस 2: पुस्तक जानकारी प्रदर्शित करें
केस 3: लाइब्रेरी में पुस्तकों की संख्या खोजें
केस 4: बाहर निकलें
प्रोग्राम
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Library {
char bookName[50];
char author[50];
int numPages;
float price;
};
int main() {
struct Library lib[100];
int i = 0, choice, bookCount = 0;
while (1) {
printf("\n=== लाइब्रेरी प्रबंधन प्रणाली ===\n");
printf("1. पुस्तक जानकारी जोड़ें\n");
printf("2. पुस्तक जानकारी प्रदर्शित करें\n");
printf("3. पुस्तकों की संख्या दिखाएं\n");
printf("4. बाहर निकलें\n");
printf("अपना विकल्प चुनें: ");
scanf("%d", &choice);
switch (choice) {
case 1: // पुस्तक जोड़ें
if (bookCount >= 100) {
printf("लाइब्रेरी भर चुकी है!\n");
break;
}
printf("पुस्तक का नाम: ");
scanf(" %[^\n]", lib[bookCount].bookName);
printf("लेखक का नाम: ");
scanf(" %[^\n]", lib[bookCount].author);
printf("पृष्ठों की संख्या: ");
scanf("%d", &lib[bookCount].numPages);
printf("कीमत: ");
scanf("%f", &lib[bookCount].price);
bookCount++;
printf("पुस्तक सफलतापूर्वक जोड़ी गई!\n");
break;
case 2: // प्रदर्शित करें
if (bookCount == 0) {
printf("कोई पुस्तक नहीं मिली।\n");
} else {
printf("\n--- पुस्तक सूची ---\n");
for (i = 0; i < bookCount; i++) {
printf("\nपुस्तक %d:\n", i + 1);
printf(" नाम: %s\n", lib[i].bookName);
printf(" लेखक: %s\n", lib[i].author);
printf(" पृष्ठ: %d\n", lib[i].numPages);
printf(" कीमत: %.2f\n", lib[i].price);
}
}
break;
case 3: // गिनती
printf("लाइब्रेरी में कुल पुस्तकें: %d\n", bookCount);
break;
case 4: // बाहर निकलें
printf("धन्यवाद! अलविदा।\n");
exit(0);
default:
printf("अमान्य विकल्प! कृपया पुनः प्रयास करें।\n");
}
}
return 0;
}
आउटपुट उदाहरण
=== लाइब्रेरी प्रबंधन प्रणाली ===
1. पुस्तक जानकारी जोड़ें
2. पुस्तक जानकारी प्रदर्शित करें
3. पुस्तकों की संख्या दिखाएं
4. बाहर निकलें
अपना विकल्प चुनें: 1
पुस्तक का नाम: Harry Potter
लेखक का नाम: J.K. Rowling
पृष्ठों की संख्या: 350
कीमत: 450.00
पुस्तक सफलतापूर्वक जोड़ी गई!
अपना विकल्प चुनें: 2
--- पुस्तक सूची ---
पुस्तक 1:
नाम: Harry Potter
लेखक: J.K. Rowling
पृष्ठ: 350
कीमत: 450.00
अपना विकल्प चुनें: 3
लाइब्रेरी में कुल पुस्तकें: 1
अपना विकल्प चुनें: 4
धन्यवाद! अलविदा।
सुधार और विशेषताएं
- स्ट्रिंग इनपुट:
scanf(" %[^\n]", ...)स्पेस सहित पूर्ण पंक्ति पढ़ता है - सीमा जांच: सरणी ओवरफ्लो रोकने के लिए
bookCount >= 100जांच - फॉर्मेटिंग: कीमत के लिए
%.2fदो दशमलव स्थान दिखाता है - मेनू लूप:
while(1)अनंत लूप जब तक उपयोगकर्ता बाहर न निकल जाए
संभावित विस्तार
- पुस्तक खोज (नाम/लेखक द्वारा)
- पुस्तक हटाना/अपडेट करना
- फाइल में डेटा सहेजना/लोड करना
- जारी/वापसी ट्रैकिंग
- ISBN, श्रेणी, प्रकाशन वर्ष जैसे अतिरिक्त फ़ील्ड