Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम: स्विच केस का उपयोग करके लाइब्रेरी प्रबंधन प्रणाली

समस्या

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, श्रेणी, प्रकाशन वर्ष जैसे अतिरिक्त फ़ील्ड
  1. - C प्रोग्राम: isupper() फंक्शन का उपयोग

    समस्या C प्रोग्रामिंग का उपयोग करके स्ट्रिंग में अपरकेस अल्फाबेट्स की कुल संख्या कैसे पहचानें? समाधान वाक्य में अपरकेस अक्षरों की संख्या गिनने के लिए हमने जिस लॉजिक का उपयोग किया वह निम्नलिखित है: for(a = string[0]; a != \0; i++){ a = string[i]; if (isupper(a)){ counter = counte

  1. - C प्रोग्राम: time.h लाइब्रेरी फंक्शन का उपयोग

    समस्या C प्रोग्रामिंग भाषा का उपयोग करके वर्तमान दिनांक और समय को ISO मानक प्रारूप में कैसे प्रदर्शित करें? समाधान वर्तमान दिनांक और समय का इनपुट लिया जाएगा और हम सिस्टम के समय और दिनांक को ISO प्रारूप में प्रिंट करने का प्रयास कर रहे हैं। उदाहरण के लिए, Monday, Dec 15, 2020 10.50p. इस प्रोग्राम म

  1. C प्रोग्राम: strncmp लाइब्रेरी फंक्शन का उपयोग करके दो स्ट्रिंग्स की तुलना करना C प्रोग्राम: strncmp लाइब्रेरी फंक्शन का उपयोग करके दो स्ट्रिंग्स की तुलना करना

    strncmp string.h फाइल में मौजूद एक प्रीडिफाइंड लाइब्रेरी फंक्शन है, जिसका उपयोग दो स्ट्रिंग्स की तुलना करने और यह प्रदर्शित करने के लिए किया जाता है कि कौन सी स्ट्रिंग बड़ी है। strcmp फंक्शन (स्ट्रिंग तुलना) यह फंक्शन 2 स्ट्रिंग्स की तुलना करता है। यह दोनों स्ट्रिंग्स में पहले दो नॉन-मैचिंग कैरेक्