क्लास 12 के लिए C++ प्रोजेक्ट की लिस्ट

14 minute read
क्लास 12 के लिए C++ प्रोजेक्ट

आईटी और कंप्यूटर साइंस के बढ़ते प्रभाव के कारण c++ जैसी प्रोग्रामिंग लैंग्वेजेस को 12वीं कक्षाओं के स्तर पे भी पढ़ाया जाने लगा है। हालांकि 12वीं कक्षा में इसके शुरुआती कॉन्सेप्ट्स को प्रोजेक्ट्स के माध्यम से अवगत करवाया जाता है। ताकि विद्यार्थियों को 12वीं के बाद इंजीनियरिंग लेने पर प्रोग्रामिंग में सजहता से सभी कॉन्सेप्ट समझ में आ जाए। इस ब्लॉग में क्लास 12 के लिए C++ प्रोजेक्ट जो इस कक्षा मे बनाए जा सकते हैं इस बारे में बताया गया है। यदि आप भी इस बारे में जानना चाहते हैं तो इस ब्लॉग को अंत तक पढ़ें। 

C++ क्या है?

C++ एक पावरफुल और वर्सेटाइल प्रोग्रामिंग लेंग्वेज है, जिसे C लैंग्वेज के एक्सटेंशन के रूप में डेवलप किया गया था।  यह व्यापक रूप से कॉम्प्लेक्स सॉफ़्टवेयर एप्लिकेशन और ऑपरेटिंग सिस्टम के डेवलपमेंट के साथ-साथ वीडियो गेम, मोबाइल एप्लिकेशन और अन्य हाई-परफॉर्मेंस एप्लिकेशन डेवलप करने के लिए उपयोग किया जाता है।  C++ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की अनुमति देता है, जिसका अर्थ है कि कोड को रियूजेबल मॉड्यूल में व्यवस्थित किया जा सकता है जिसे क्लासेस कहा जाता है।  यह सामान्य प्रोग्रामिंग का भी समर्थन करता है, जो प्रोग्रामर को डेटा प्रकारों से स्वतंत्र रियूजेबल एल्गोरिदम लिखने में सक्षम बनाता है।  इसके अतिरिक्त, C++ लो-लेवल मेमोरी मेनिपुलेशन का समर्थन करता है और सिस्टम कॉल के माध्यम से हार्डवेयर के साथ इंटरफेस कर सकता है। C++ इंडस्ट्री और एजुकेशन में व्यापक रूप से इस्तेमाल की जाने वाली लेंग्वेज है, और इसे अक्सर कई सॉफ्टवेयर डेवलपमेंट जॉब्स के लिए एक शर्त माना जाता है।

इंडिया में किन किन बोर्ड्स में क्लास 12 के लिए C++ प्रोजेक्ट होते हैं?

इंडिया में जिन बोर्ड्स में क्लास 12 के लिए C++ प्रोजेक्ट होते हैं उनके नाम नीचे दिए गए हैं:

  • सेंट्रल बोर्ड ऑफ सेकेंडरी एजुकेशन
  • काउंसिल फॉर द इंडियन स्कूल सर्टिफिकेट एग्जामिनेशन
  • महाराष्ट्र स्टेट बोर्ड
  • तमिल नाडु स्टेट बोर्ड 
  • कर्नाटक स्टेट बोर्ड

इन बोर्ड्स के अलावा अन्य बोर्ड्स ने भी अपने सिलेबस में C++ प्रोजेक्ट्स को एड करने की योजना बनाना शुरू कर दी है। जिसके परिणाम आपको भविष्य में देखने को मिल सकता हैं। 

क्लास 12 के लिए C++ प्रोजेक्ट

क्लास 12 के लिए C++ प्रोजेक्ट की एक लिस्ट नीचे दी गई है जिसे आप देख सकते हैं:

लाइब्रेरी मेनेजमेंट सिस्टम

लाइब्रेरी मेनेजमेंट सिस्टम के लिए नीचे कुछ आवश्यक प्वाइंट्स दिए गए हैं:

  • मेनू: पुस्तक जोड़ने, पुस्तक हटाने, पुस्तक सर्च करने और सभी पुस्तकें प्रदर्शित करने के विकल्पों के साथ मुख्य मेनू प्रदर्शित करें।
  • बुक क्लास: एक बुक क्लास बनाएं जिसमें डेटा मेंबर्स हों जैसे कि किताब का शीर्षक, लेखक, आईएसबीएन नंबर, शैली और उपलब्धता की स्थिति।
  • ऐड बुक फंक्शन: लाइब्रेरी डेटाबेस में किताबें जोड़ने के लिए एक फंक्शन लागू करें। यूजर पुस्तक विवरण दर्ज कर सकता है, और प्रोग्राम पुस्तक ऑब्जेक्ट को सरणी या फ़ाइल में संग्रहीत करता है।
  • रिमूव बुक फंक्शन: लाइब्रेरी डेटाबेस से किताबें हटाने के लिए एक फंक्शन लागू करें। उपयोगकर्ता शीर्षक या आईएसबीएन संख्या द्वारा पुस्तक की खोज कर सकता है, और कार्यक्रम पुस्तक वस्तु को सरणी या फ़ाइल से हटा देता है।
  • सर्च बुक फंक्शन: लाइब्रेरी डेटाबेस में किताबों की खोज के लिए एक फंक्शन लागू करें। उपयोगकर्ता शीर्षक, लेखक, या आईएसबीएन संख्या द्वारा पुस्तक की खोज कर सकता है, और कार्यक्रम पुस्तक विवरण प्रदर्शित करता है।
  • सभी पुस्तकें प्रदर्शित करें फ़ंक्शन: लाइब्रेरी डेटाबेस में सभी पुस्तकों को प्रदर्शित करने के लिए एक फ़ंक्शन लागू करें। कार्यक्रम सरणी या फ़ाइल से सभी पुस्तक वस्तुओं को पुनः प्राप्त करता है और उनका विवरण प्रदर्शित करता है।
  • एरर हैंडलिंग: अमान्य यूजर इनपुट को रोकने के लिए एरर हैंडलिंग मैनेजमेंट लागू करें, जैसे कि अमान्य ISBN नंबर या पुस्तक शीर्षक दर्ज करना।
  • सेव एंड लोड डाटा: लाइब्रेरी डेटाबेस को फ़ाइल में और फ़ाइल से सहेजने और लोड करने के लिए फ़ंक्शन लागू करें, ताकि प्रोग्राम बंद होने के बाद भी डेटा बना रहे।

लाइब्रेरी मेनेजमेंट सिस्टम के लिए C++कोड

#include <iostream>
#include <string>

using namespace std;

const int MAX_BOOKS = 100;

class Book {
    public:
        string title;
        string author;
        string ISBN;
        string genre;
        bool available;
};

void addBook(Book books[], int& numBooks) {
    if (numBooks >= MAX_BOOKS) {
        cout << "Cannot add more books - library is full." << endl;
        return;
    }
    Book newBook;
    cout << "Enter title: ";
    getline(cin >> ws, newBook.title);
    cout << "Enter author: ";
    getline(cin >> ws, newBook.author);
    cout << "Enter ISBN: ";
    getline(cin >> ws, newBook.ISBN);
    cout << "Enter genre: ";
    getline(cin >> ws, newBook.genre);
    newBook.available = true;
    books[numBooks] = newBook;
    numBooks++;
    cout << "Book added successfully." << endl;
}
void removeBook(Book books[], int& numBooks) {
    string searchISBN;
    cout << "Enter ISBN of book to remove: ";
    getline(cin >> ws, searchISBN);
    for (int i = 0; i < numBooks; i++) {
        if (books[i].ISBN == searchISBN) {
            for (int j = i; j < numBooks-1; j++) {
                books[j] = books[j+1];
            }
            numBooks--;
            cout << "Book removed successfully." << endl;
            return;
        }
    }
    cout << "Book with ISBN " << searchISBN << " not found." << endl;
}
void searchBook(Book books[], int numBooks) {
    string searchTitle;
    cout << "Enter title of book to search: ";
    getline(cin >> ws, searchTitle);
    for (int i = 0; i < numBooks; i++) {
        if (books[i].title == searchTitle) {
            cout << "Book found:" << endl;
            cout << "Title: " << books[i].title << endl;
            cout << "Author: " << books[i].author << endl;
            cout << "ISBN: " << books[i].ISBN << endl;
            cout << "Genre: " << books[i].genre << endl;
            cout << "Availability: " << (books[i].available ? "available" : "not available") << endl;
            return;
        }
    }
    cout << "Book with title " << searchTitle << " not found." << endl;
}

void displayBooks(Book books[], int numBooks) {
    if (numBooks == 0) {
        cout << "No books in library." << endl;
        return;
    }
    cout << "List of books:" << endl;
    for (int i = 0; i < numBooks; i++) {
        cout << i+1 << ". " << books[i].title << " by " << books[i].author << endl;
    }
}
int main() {
    Book books[MAX_BOOKS];
    int numBooks = 0;
    int choice;
    do {
        cout << "Library Management System" << endl;
        cout << "------------------------" << endl;
        cout << "1. Add book" << endl;
        cout << "2. Remove book" << endl;
        cout << "3. Search for book" << endl;
        cout << "4. Display all books" << endl;
       cout << "5. Quit" << endl;
       cout << "Enter your choice: ";
      cin >> choice;
cin.ignore();
switch (choice) {
case 1:
addBook(books, numBooks);
break;
case 2:
removeBook(books, numBooks);
break;
case 3:
searchBook(books, numBooks);
break;
case 4:
displayBooks(books, numBooks);
break;
case 5:
cout << "Goodbye." << endl;
break;
default:
cout << "Invalid choice. Please try again." << endl;
break;
}
cout << endl;
} while (choice != 5);
return 0;
}

Tic Tac Toe game

Tic Tac Toe गेम के लिए नीचे कुछ बिंदु दिए गए हैं:

  1. गेम को बोर्ड का रिप्रेजेंटेशन करने के लिए 2डी केर एरे का उपयोग करके इंप्लीमेंट किया जाता है।
  2. बोर्ड को बोर्ड पर रिक्त स्थानों का रिप्रेजेंटेशन करने वाली संख्या 1-9 के साथ प्रारंभ किया गया है।
  3. गेम लूप खिलाड़ियों के बीच बारी-बारी से होता है, प्रत्येक खिलाड़ी को बोर्ड पर एक खाली जगह का चयन करके एक चाल चलने के लिए प्रेरित करता है।
  4. खिलाड़ी का चिह्न (‘X’ या ‘O’) चयनित स्थान पर बोर्ड पर रखा जाता है।
  5. प्रत्येक चाल के बाद, खेल बोर्ड की रॉ, कॉलम और डायगोनल की जांच करके जीत की स्थिति की जाँच करता है।
  6. यदि जीत की स्थिति पाई जाती है, तो खेल समाप्त हो जाता है और विजेता खिलाड़ी घोषित किया जाता है।
  7.  यदि बोर्ड पर कोई खाली स्थान नहीं बचा है और जीतने की कोई स्थिति नहीं पाई गई है, तो खेल बराबरी पर समाप्त होता है।

Tic Tac Toe गेम के लिए C++ कोड नीचे दिया गया है

#include <iostream>

using namespace std;

char board[3][3] = {'1','2','3','4','5','6','7','8','9'}; // Initialize the board

void drawBoard() {
    cout << "\n\n";
    cout << "     |     |     " << endl;
    cout << "  " << board[0][0] << "  |  " << board[0][1] << "  |  " << board[0][2] << endl;
    cout << "_____|_____|_____" << endl;
    cout << "     |     |     " << endl;
    cout << "  " << board[1][0] << "  |  " << board[1][1] << "  |  " << board[1][2] << endl;
    cout << "_____|_____|_____" << endl;
    cout << "     |     |     " << endl;
    cout << "  " << board[2][0] << "  |  " << board[2][1] << "  |  " << board[2][2] << endl;
    cout << "     |     |     " << endl;
}

char checkWin() {
    // Check rows for a win
    for(int i = 0; i < 3; i++) {
        if(board[i][0] == board[i][1] && board[i][1] == board[i][2])
            return board[i][0];
    }

    // Check columns for a win
    for(int i = 0; i < 3; i++) {
        if(board[0][i] == board[1][i] && board[1][i] == board[2][i])
            return board[0][i];
    }

    // Check diagonals for a win
    if(board[0][0] == board[1][1] && board[1][1] == board[2][2])
        return board[0][0];
    if(board[0][2] == board[1][1] && board[1][1] == board[2][0])
        return board[0][2];

    return ' ';
}

int main() {
    int player = 1, choice;
    char mark;
    do {
        drawBoard();
        player = (player % 2) ? 1 : 2; // Determine which player's turn it is
        cout << "Player " << player << ", enter a number: ";
        cin >> choice;

        // Determine which mark to place based on the player
        mark = (player == 1) ? 'X' : 'O';

        // Place the mark on the board
        if(choice == 1 && board[0][0] == '1')
            board[0][0] = mark;
        else if(choice == 2 && board[0][1] == '2')
            board[0][1] = mark;
        else if(choice == 3 && board[0][2] == '3')
            board[0][2] = mark;
        else if(choice == 4 && board[1][0] == '4')
            board[1][0] = mark;
        else if(choice == 5 && board[1][1] == '5')
            board[1][1] = mark;
        else if(choice == 6 && board[1][2] == '6')
            board[1][2] = mark;
else if(choice == 7 && board[2][0] == '7')
board[2][0] = mark;
else if(choice == 8 && board[2][1] == '8')
board[2][1] = mark;
else if(choice == 9 && board[2][2] == '9')
board[2][2] = mark;
else {
cout << "Invalid move!";
player--;
cin.ignore();
cin.get();
}

    // Check for a winner
    char winner = checkWin();
    player++;
} while(winner == ' ');

drawBoard();

if(winner == 'X')
    cout << "Player 1 wins!";
else
    cout << "Player 2 wins!";

cin.ignore();
cin.get();
return 0;

ऑनलाइन क्विज सिस्टम

ऑनलाइन क्विज सिस्टम के लिए कुछ मुख्य पॉइंट्स नीचे दिए गए हैं:

  1. क्विज़ सिस्टम को प्रश्नों और उत्तरों के डेटाबेस की आवश्यकता होती है जिसे प्रोग्राम द्वारा एक्सेस किया जा सकता है।
  2. प्रोग्राम को एक यूजर इंटरफ़ेस प्रदान करना चाहिए जो यूजर को क्विज़ कैटेगरी या टॉपिक का चयन करने की अनुमति देता है।
  3. एक बार क्विज़ कैटेगरी का चयन करने के बाद, कार्यक्रम को डेटाबेस से रैंडमली क्वेश्चंस की एक निर्धारित संख्या का चयन करना चाहिए।
  4. प्रोग्राम को प्रत्येक प्रश्न को यूज़र के सामने प्रस्तुत करना चाहिए और उन्हें अपना उत्तर दर्ज करने की अनुमति देनी चाहिए।
  5. प्रोग्राम को सही उत्तरों की संख्या पर नज़र रखनी चाहिए और अंतिम स्कोर की गणना करनी चाहिए।
  6. कार्यक्रम को उपयोगकर्ता को उनके प्रदर्शन पर प्रतिक्रिया प्रदान करनी चाहिए, जैसे कि उनका स्कोर प्रदर्शित करना और किसी भी प्रश्न का सही उत्तर गलत होना।
  7. कार्यक्रम को उपयोगकर्ता को प्रश्नोत्तरी फिर से लेने या अन्य प्रश्नोत्तरी लेने के लिए एक नई श्रेणी का चयन करने की अनुमति देनी चाहिए।
  8. प्रोग्राम को त्रुटियों और अपवादों को संभालना चाहिए, जैसे कि यदि उपयोगकर्ता किसी अमान्य श्रेणी में प्रवेश करता है या यदि डेटाबेस तक पहुँचने में समस्याएँ हैं।

ऑनलाइन क्विज सिस्टम के लिए C++ कोड:

<!-- wp:paragraph -->
<p>#include &lt;iostream&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;vector&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;fstream&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;string&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;algorithm&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;cstdlib&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>#include &lt;ctime&gt;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>using namespace std;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>// Function to read questions from a file</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>void readQuestionsFromFile(string filename, vector&lt;string&gt;&amp; questions)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>{</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;ifstream file(filename);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;if (file.is_open()) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string line;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (getline(file, line)) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;questions.push_back(line);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file.close();</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>// Function to generate random quiz questions</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>vector&lt;string&gt; getRandomQuestions(vector&lt;string&gt; questions, int numQuestions)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>{</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;string&gt; selectedQuestions;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;srand(time(0)); // Seed the random number generator</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;random_shuffle(questions.begin(), questions.end()); // Shuffle the questions</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; numQuestions; i++) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selectedQuestions.push_back(questions[i]);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;return selectedQuestions;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>// Function to display quiz questions and record user's answers</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>void takeQuiz(vector&lt;string&gt; questions)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>{</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;int numQuestions = questions.size();</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;int score = 0;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;string answer;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; numQuestions; i++) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "\nQuestion " &lt;&lt; i+1 &lt;&lt; ": " &lt;&lt; questions[i] &lt;&lt; endl;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "Enter your answer: ";</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getline(cin, answer);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (answer == "C") {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score++;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "\nYou got " &lt;&lt; score &lt;&lt; " out of " &lt;&lt; numQuestions &lt;&lt; " questions correct." &lt;&lt; endl;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;if (score == numQuestions) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "Congratulations, you got a perfect score!" &lt;&lt; endl;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;else if (score &gt;= numQuestions/2) {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "Not bad, but you could do better." &lt;&lt; endl;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;else {</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "Better luck next time." &lt;&lt; endl;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>int main()</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>{</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;string&gt; questions;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;readQuestionsFromFile("quiz_questions.txt", questions);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;int numQuestions = 5; // Change this to the desired number of questions</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;vector&lt;string&gt; selectedQuestions = getRandomQuestions(questions, numQuestions);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;takeQuiz(selectedQuestions);</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>&nbsp;&nbsp;&nbsp;&nbsp;return 0;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

बैंकिंग सिस्टम

बैंकिंग सिस्टम के लिए C++ प्रोजेक्ट के लिए कुछ आवश्यक पॉइंट्स निम्न हैं:

  1. बैंकिंग सिस्टम को एक यूज़र इंटरफ़ेस प्रदान करना चाहिए जो ग्राहकों को विभिन्न लेनदेन करने की अनुमति देता है, जैसे कि उनके खाते की शेष राशि की जाँच करना, धन जमा करना, धन निकालना और अन्य खातों में धन हस्तांतरित करना।
  2. प्रोग्राम को अकाउंट की जानकारी, जैसे खाता धारक का नाम, खाता संख्या, शेष राशि और लेन-देन इतिहास का ट्रैक रखना चाहिए।
  3. प्रोग्राम को कस्टमर्स को नए खाते बनाने और मौजूदा खातों को हटाने की अनुमति देनी चाहिए।
  4. प्रोग्राम को इरर्स और अपवादों को संभालना चाहिए, जैसे कि अपर्याप्त धन, अमान्य खाता संख्या और अमान्य लेनदेन।
  5. प्रोग्राम को ग्राहक की जानकारी की सिक्योरिटी के लिए सुरक्षा उपाय प्रदान करने चाहिए और अनधिकृत पहुंच को रोकने के लिए, जैसे लॉगिन और पासवर्ड की आवश्यकता होती है।
  6. प्रोग्राम को बैंक कर्मचारियों को ग्राहक खाते की जानकारी तक पहुंचने और लेनदेन इतिहास देखने और रिपोर्ट बनाने जैसे प्रशासनिक कार्य करने की अनुमति देनी चाहिए।
  7. प्रोग्राम को डेटा को सुरक्षित तरीके से स्टोर करना चाहिए, जैसे डेटाबेस या फ़ाइल एन्क्रिप्शन का उपयोग करना।
  8. प्रोग्राम स्केलेबल और कुशल होना चाहिए, बड़ी संख्या में ग्राहकों और लेनदेन को धीमा या क्रैश किए बिना संभालने में सक्षम होना चाहिए।

बैंकिंग सिस्टम प्रॉजेक्ट के लिए C++ कोड

#include<iostream>
#include<conio.h>
#include<string.h>
#include<cstdio>
#include<cstdlib>
#include<fstream>

using namespace std;

class account {
    int acno;
    char name[50];
    int deposit;
    char type;
public:
    void create_account();
    void show_account() const;
    void modify();
    void dep(int);
    void draw(int);
    void report() const;
    int retacno() const;
    int retdeposit() const;
    char rettype() const;
};

void account::create_account() {
    cout<<"\nEnter The account No. : ";
    cin>>acno;
    cout<<"\n\nEnter The Name of The account Holder : ";
    cin.ignore();
    cin.getline(name,50);
    cout<<"\nEnter Type of The account (C/S) : ";
    cin>>type;
    type=toupper(type);
    cout<<"\nEnter The Initial amount(>=500 for Saving and >=1000 for current ) : ";
    cin>>deposit;
    cout<<"\n\n\nAccount Created..";
}

void account::show_account() const {
    cout<<"\nAccount No. : "<<acno;
    cout<<"\nAccount Holder Name : ";
    cout<<name;
    cout<<"\nType of Account : "<<type;
    cout<<"\nBalance amount : "<<deposit;
}

void account::modify() {
    cout<<"\nAccount No. : "<<acno;
    cout<<"\nModify Account Holder Name : ";
    cin.ignore();
    cin.getline(name,50);
    cout<<"\nModify Type of Account : ";
    cin>>type;
    type=toupper(type);
    cout<<"\nModify Balance amount : ";
    cin>>deposit;
}

void account::dep(int x) {
    deposit+=x;
}

void account::draw(int x) {
    deposit-=x;
}

void account::report() const {
    cout<<acno<<setw(10)<<" "<<name<<setw(10)<<" "<<type<<setw(6)<<deposit<<endl;
}

int account::retacno() const {
    return acno;
}

int account::retdeposit() const {
    return deposit;
}

char account::rettype() const {
    return type;
}

void write_account() {
    account ac;
    ofstream outFile;
    outFile.open("account.dat",ios::binary|ios::app);
    ac.create_account();
    outFile.write(reinterpret_cast<char *> (&ac), sizeof(account));
    outFile.close();
}

void display_sp(int n) {
    account ac;
    bool flag=false;
    ifstream inFile;
    inFile.open("account.dat",ios::binary);
    if(!inFile) {
        cout<<"File could not be open !! Press Any Key...";
        return;
    }
    cout<<"\nBALANCE DETAILS\n";

        while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account))) {
        if(ac.retacno()==n) {
            ac.show_account();
            flag=true;
        }
    }
    inFile.close();
    if(flag==false)
        cout<<"\n\nAccount number does not exist";
}

void modify_account(int n) {
    bool found=false;
    account ac;
    fstream File;
    File.open("account.dat",ios::binary|ios::in|ios::out);
    if(!File) {
        cout<<"File could not be open !! Press Any Key...";
        return;
    }
    while(!File.eof() && found==false) {
        File.read(reinterpret_cast<char *> (&ac), sizeof(account));
        if(ac.retacno()==n) {
            ac.show_account();
            cout<<"\n\n

स्टूडेंट्स रिकॉर्ड सिस्टम

स्टूडेंट्स रिकॉर्ड सिस्टम C++ प्रॉजेक्ट के लिए कुछ आवश्यक बिंदु नीचे दिए गए हैं:

  1.  एक मेनू-बेस्ड यूज़र इंटरफ़ेस डिज़ाइन करें जो यूज़र को सिस्टम के साथ आसानी से इंटरेक्ट करने की अनुमति देता है।
  2. स्टुडेंट्स के लिए एक क्लासेज बनाएं जिसमें नाम, रोल नंबर, कक्षा और सेक्शन जैसी बुनियादी जानकारी शामिल हो।
  3. स्टूडेंट रिकॉर्ड को स्टोर करने के लिए एक डेटा स्ट्रक्चर डेवलप करें, जैसे कि एक एरे, लिंक्ड लिस्ट या बाइनरी ट्री।
  4. सिस्टम में स्टूडेंट रिकॉर्ड को जोड़ने, हटाने, सर्च और संशोधित करने के लिए फंक्शंस को लागू करें।
  5. एक स्टूडेंट के विभिन्न सब्जेक्ट्स में उनके अंकों के आधार पर एवरेज ग्रेड की गणना करने के लिए एक सुविधा शामिल करें।
  6. नाम या रोल नंबर द्वारा सोर्टेड सभी छात्र रिकॉर्ड प्रदर्शित करने के लिए फंक्शनालिटी जोड़ें।
  7. यह सुनिश्चित करने के लिए पासवर्ड सिक्योरिटी लागू करें कि केवल ऑथराइज्ड यूजर्स ही सिस्टम तक पहुंच सकते हैं।
  8. इनवैलिड इनपुट या अन्य समस्याओं के कारण सिस्टम को क्रैश होने से बचाने के लिए एरर हैंडलिंग शामिल करें।
  9. भविष्य में उपयोग के लिए फ़ाइल से छात्र रिकॉर्ड को सहेजने और लोड करने के लिए एक सुविधा जोड़ें।
  10.  सुनिश्चित करें कि सिस्टम यूजर के अनुकूल है और इसमें यूजर के लिए उपयुक्त संकेत और संदेश शामिल हैं।

कैलकुलेटर एप्लीकेशन

कैलकुलेटर एप्लीकेशन प्रोजेक्ट के लिए आपको निम्न बातों का ध्यान रखना होगा:

  1. एक यूजर इंटरफ़ेस डिज़ाइन करें जो यूजर्स को आसानी से कैलकुलेटर के साथ इंटरैक्ट करने की अनुमति देता है।
  2. जोड़, घटाव, गुणा और भाग सहित बुनियादी आरिथेमेटिक ऑपरेशंस को लागू करें।
  3. एडवांस मैथेमेटिकल फंक्शंस जोड़ें, जैसे कि वर्गमूल, घातांक, लघुगणक और त्रिकोणमितीय कार्य।
  4. इनवैलिड इनपुट या अन्य समस्याओं के कारण कैलकुलेटर को क्रैश होने से बचाने के लिए एरर हैंडलिंग लागू करें।
  5. पिछली गणनाओं को संग्रहीत करने और याद करने के लिए एक सुविधा शामिल करें।
  6. लंबाई, द्रव्यमान और तापमान जैसी विभिन्न इकाइयों के बीच कनवर्ट करने के लिए फंक्शनालिटी जोड़ें।
  7. यह सुनिश्चित करने के लिए पासवर्ड सुरक्षा लागू करें कि केवल ऑथराइज्ड यूज़र ही कैलकुलेटर का उपयोग कर सकते हैं।
  8. मानक, वैज्ञानिक, या प्रोग्रामर जैसे विभिन्न मोड के बीच स्विच करने के लिए सुविधा जोड़ें।
  9. सुनिश्चित करें कि कैलकुलेटर यूज़र के अनुकूल है और इसमें यूज़र के लिए उपयुक्त संकेत और संदेश शामिल हैं।
  10.  एक यूजर गाइड या हेल्प सेक्शन शामिल करें जो बताता है कि कैलकुलेटर और उसके विभिन्न कार्यों का उपयोग कैसे करें।

होटल मैनेजमेंट सिस्टम

होटल मैनेजमेंट सिस्टम C++ प्रोग्राम के लिए आपको निम्न बातों का ध्यान रखना होगा:

  1. एक यूजर इंटरफ़ेस डिज़ाइन करें जो यूजर्स को सिस्टम के साथ आसानी से सहभागिता करने की अनुमति देता है।
  2. कमरों के लिए एक कक्षा बनाएं जिसमें कमरा संख्या, प्रकार, उपलब्धता और कीमत जैसी जानकारी शामिल हो।
  3. कमरे के रिकॉर्ड को संग्रहीत करने के लिए एक डेटा स्ट्रक्चर डेवलप करें, जैसे कि एक एरे, लिंक्ड लिस्ट या बाइनरी ट्री।
  4. कमरे की उपलब्धता की जांच करने, कमरे बुक करने, रिजर्वेशन रद्द करने और बिल बनाने के लिए फंक्शंस को लागू करें।
  5. कमरे के प्रकार और रहने की अवधि के आधार पर कमरे के शुल्क की गणना करने के लिए एक सुविधा शामिल करें।
  6. ग्राहक विवरण, जैसे नाम, पता, फोन नंबर और ईमेल रिकॉर्ड करने के लिए फंक्शनालिटी जोड़ें।
  7. इनवैलिड इनपुट या अन्य समस्याओं के कारण सिस्टम को क्रैश होने से बचाने के लिए एरर हैंडलिंग लागू करें।
  8. भविष्य में उपयोग के लिए फ़ाइल से होटल डेटा को स्टोर और लोड करने के लिए एक सुविधा जोड़ें।
  9. एक यूज़र गाइड या हेल्प सेक्शन शामिल करें जो बताता है कि सिस्टम और इसके विभिन्न फंक्शंस का उपयोग कैसे करें।
  10.  सुनिश्चित करें कि सिस्टम उपयोगकर्ता के अनुकूल है और इसमें उपयोगकर्ता के लिए उपयुक्त संकेत और संदेश शामिल हैं।

स्नेक गेम

स्नेक गेम के प्रोजेक्ट के लिए आप निम्न बातों को ध्यान में रख सकते हैं:

  1. एरे: आप गेम बोर्ड का प्रतिनिधित्व करने के लिए एक एरे का उपयोग कर सकते हैं जहां सांप घूमता है और भोजन की स्थिति का ट्रैक रखता है।
  2. लिंक्ड लिस्ट: आप साँप के शरीर का प्रतिनिधित्व करने के लिए एक लिंक की गई लिस्ट का उपयोग कर सकते हैं, जहाँ प्रत्येक नोड साँप के शरीर के एक खंड को रिप्रेजेंट करता है।
  3. ग्राफ़िक्स: गेम बोर्ड और साँप का एक दृश्य रिप्रेजेंट करने के लिए आप ग्राफ़िक्स लाइब्रेरी का उपयोग कर सकते हैं।
  4. इनपुट/आउटपुट: आप प्लेयर इनपुट प्राप्त करने और स्क्रीन पर गेम स्कोर और अन्य जानकारी प्रदर्शित करने के लिए इनपुट/आउटपुट संचालन का उपयोग कर सकते हैं।
  5. कोलिशन डिटेक्शन: जब सांप गेम बोर्ड की सीमाओं, बाधाओं, या अपने स्वयं के शरीर से टकराता है, तो आप टकराव का पता लगाने वाले एल्गोरिदम को लागू कर सकते हैं।
  6. गेम लॉजिक: आप गेम के लॉजिक को लागू कर सकते हैं, जिसमें सांप की चाल, भोजन बनाना और स्कोर की गणना शामिल है।
  7. साउंड: गेमप्ले के एक्सपीरियंस को बढ़ाने के लिए आप साउंड इफेक्ट जोड़ सकते हैं।
  8. स्तर: आप बढ़ती कठिनाई के साथ कई स्तर बना सकते हैं, जहाँ प्रत्येक स्तर नई चुनौतियों और बाधाओं का परिचय देता है।
  9. पावर-अप: गेम को और रोमांचक बनाने के लिए आप अलग-अलग पावर-अप जोड़ सकते हैं, जैसे स्पीड बूस्ट या स्लो मोशन।
  10.  मल्टीप्लेयर: आप मल्टीप्लेयर कार्यक्षमता जोड़ सकते हैं, जहां दो या दो से अधिक खिलाड़ी एक ही स्क्रीन पर या नेटवर्क पर एक दूसरे के खिलाफ कंपटीशन कर सकते हैं।

चैट एप्लीकेशन

चैट एप्लीकेशन प्रोग्राम के लिए कुछ आवश्यक बिंदु निम्न हैं:

  1. यूज़र इंटरफ़ेस डिज़ाइन: ऐप को नेविगेट करने और उपयोग करने में आसान बनाने के लिए ग्राफिक्स और विज़ुअल तत्वों का उपयोग करके चैट एप्लिकेशन के लिए एक सहज और यूज़र के अनुकूल इंटरफ़ेस बनाएं।
  2.  यूजर रजिस्ट्रेशन और लॉगिन: यूजर डेटा की सिक्योरिटी के लिए सुरक्षित पासवर्ड स्टोरेज टेक्नीक्स का उपयोग करके यूजर्स के लिए अकाउंट बनाने और चैट एप्लिकेशन में लॉग इन करने के लिए एक सिस्टम डेवलप करें।
  3. फ्रेंड लिस्ट मैनेजमेंट: यूजर्स को फ्रेंड्स को जोड़ने और निकालने की अनुमति दें, और चैट सत्रों के लिए उनकी ऑनलाइन स्थिति और उपलब्धता के बारे में जानकारी प्रदर्शित करें।
  4. चैट सेशन मैनेजमेंट: टेक्स्ट मैसेजिंग और संभावित रूप से अन्य सुविधाओं जैसे फ़ाइल शेयरिंग का उपयोग करके चैट सेशन आरंभ करने और उसमें भाग लेने के लिए यूजर्स के लिए एक सिस्टम डेवलप करें।
  5. डेटा स्टोरेज और पुनर्प्राप्ति: यूजर डेटा, चैट सत्र डेटा और अन्य रिलेवेंट जानकारी को स्टोर करने और पुनर्प्राप्त करने के लिए डेटा स्ट्रक्चर्स जैसे एरे, लिंक्ड लिस्ट और हैश टेबल का उपयोग करें।
  6. एरर से निपटने और रिट्रीवल से निपटने: यह सुनिश्चित करने के लिए कि चैट एप्लिकेशन सुचारू रूप से और मज़बूती से संचालित हो, और क्रैश और अन्य मुद्दों को रोकने के लिए एरर हैंडलिंग और रिट्रीवल लागू करें।
  7. टेस्टिंग और डिबगिंग: चैट एप्लिकेशन का पूरी तरह से टेस्ट करें और उत्पन्न होने वाली किसी भी समस्या को डीबग करें, यह सुनिश्चित करने के लिए कि ऐप ठीक से काम कर रहा है, यूनिट टेस्ट और इंटीग्रेशन टेस्ट जैसी टेक्नीक्स का उपयोग करें।

रेलवे रिजर्वेशन सिस्टम 

रेलवे रिजर्वेशन सिस्टम प्रोजेक्ट के लिए आपको निम्न बातों का ध्यान रखना होगा:

  1. यूज़र इंटरफ़ेस डिज़ाइन: ऐप को नेविगेट करने और उपयोग करने में आसान बनाने के लिए ग्राफिक्स और दृश्य तत्वों का उपयोग करके रेलवे आरक्षण प्रणाली के लिए एक सहज और यूजर के अनुकूल इंटरफ़ेस बनाएं।
  2. यूज़र रजिस्ट्रेशन और लॉगिन: यूजर्स को यूजर नेम और पासवर्ड का उपयोग करके खाते बनाने और रेलवे रिजर्वेशन सिस्टम में लॉग इन करने की अनुमति दें।  यूज़र अकाउंट इनफॉर्मेशन स्टोर करने के लिए एक एरे या लिंक्ड लिस्ट का उपयोग करें, जिसमें उनके व्यक्तिगत विवरण और लॉगिन क्रेडेंशियल शामिल हैं।
  3.  ट्रेन इनफॉर्मेशन मैनेजमेंट: उपलब्ध ट्रेनों के बारे में जानकारी स्टोर करने के लिए उनके मार्गों, प्रस्थान और आगमन के समय और टिकट की कीमतों सहित एक सरणी या लिंक्ड सूची का उपयोग करें।  यूजर्स को अपने मूल और गंतव्य के आधार पर ट्रेनों की खोज करने में सक्षम होना चाहिए, साथ ही साथ प्रस्थान समय या टिकट की कीमत के अनुसार ट्रेनों को फ़िल्टर करना चाहिए।
  4. टिकट बुकिंग: टिकट की उपलब्धता को प्रबंधित करने के लिए एक एरे या लिंक की गई लिस्ट का उपयोग करें और ट्रैक करें कि कौन सी सीटें बुक की गई हैं।  जब कोई यूजर टिकट बुक करता है, तो उचित सीट रिजर्व करें और तदनुसार टिकट उपलब्धता की जानकारी अपडेट करें।
  5. पेमेंट प्रोसेसिंग: भुगतान की गई राशि और लेन-देन की तारीख सहित यूजर्स द्वारा किए गए भुगतानों के बारे में जानकारी स्टोर करने के लिए एक लिंक्ड लिस्ट या अन्य डेटा स्ट्रक्चर का उपयोग करें।
  6. डेटा स्टोर और पुनर्प्राप्ति: यूजर डेटा, ट्रेन जानकारी, टिकट बुकिंग और अन्य प्रासंगिक जानकारी को संग्रहीत करने और पुनः प्राप्त करने के लिए एरे और लिंक्ड लिस्ट्स का उपयोग करें।
  7.  एरर हैंडलिंग और एक्सेप्शन: यह सुनिश्चित करने के लिए कि रेलवे रिजर्वेशन सिस्टम सुचारू रूप से और मज़बूती से संचालित होती है, और दुर्घटनाओं और अन्य मुद्दों को रोकने के लिए एरर हैंडलिंग और एक्सेप्शन को लागू करें।  एक्सेप्शन को संभालने के लिए ट्राइ-कैच ब्लॉक का उपयोग करें, और यूजर्स को किसी भी एरर या होने वाली समस्याओं के बारे में सूचित करने के लिए एरर मैसेजेस का उपयोग करें।
  8. टेस्टिंग और डिबगिंग: रेलवे रिजर्वेशन सिस्टम की पूरी तरह से टेस्टिंग करें और किसी भी समस्या को दूर करें, यूनिट टेस्टिंग और इंटीग्रेशन टेस्टिंग जैसी टेक्नीक्स का उपयोग करके यह सुनिश्चित करें कि ऐप सही तरीके से काम कर रहा है।

FAQs

प्रोग्राम का उद्देश्य क्या है?  

क्लास 12 के लिए C++ प्रोजेक्ट का उद्देश्य प्रोजेक्ट के आधार पर भिन्न हो सकता है, लेकिन इसमें आम तौर पर एक सॉफ्टवेयर एप्लिकेशन बनाना शामिल होता है जो एक स्पेसिफिक प्रॉब्लम को हल करता है या एक स्पेसिफिक कार्य करता है।

किस डेटा स्ट्रक्चर और एल्गोरिदम का उपयोग किया जा रहा है?  

उपयोग की जाने वाली स्पेसिफिक डेटा स्ट्रक्चर और एल्गोरिदम प्रोजेक्ट की आवश्यकताओं पर निर्भर करेंगे।  C++ में सामान्य डेटा स्ट्रक्चर्स में एरे, लिंक्ड लिस्ट, स्टैक्स और क्यू शामिल हैं, जबकि सामान्य एल्गोरिदम में छँटाई और खोज शामिल है।

यूजर इनपुट को कैसे मान्य किया जा रहा है?

यूजर इनपुट को यह सुनिश्चित करने के लिए मान्य किया जाना चाहिए कि प्रोग्राम सही ढंग से और सुरक्षित रूप से संचालित हो।  यह इनपुट सैनिटेशन और एरर हैंडलिंग जैसी तकनीकों का उपयोग करके किया जा सकता है।

किस टेस्टिंग और डिबगिंग टेक्नीक्स का उपयोग किया जा रहा है?  

टेस्टिंग और डिबगिंग किसी भी सॉफ्टवेयर प्रोजेक्ट के लिए डेवलपमेंट प्रोसेस के महत्वपूर्ण भाग हैं।  सामान्य टेक्निक में यूनिट टेस्टिंग, इंटीग्रेशन टेस्टिंग और डिबगिंग टूल जैसे ब्रेकप्वाइंट और लॉगिंग शामिल हैं

उम्मीद है आपकोक्लास 12 के लिए C++ प्रोजेक्ट के संदर्भ में हमारा यह ब्लॉग पसंद आया होगा। यदि आप इसी तरह के और भी आकर्षक ब्लॉग्स पढ़ना चाहते हैं तो आप Leverage Edu Hindi Blogs इस लिंक के द्वारा पढ़ सकते हैं।

प्रातिक्रिया दे

Required fields are marked *

*

*