8 Ekim 2024 Salı

Güzel Bir Kod (Simple Menu)

 Merhaba dostlarım,

 Az önce çok güzel bir kod hazırlamış bulunmaktayım... Sorunsuz bir C++ derleyicisinde çalışacaktır... :) İsmi SimpleMenu

Hoca bu kodu if else yapısıyla yapmış, ben de switch-case kullanarak yaptım ve 129 satırlık bir kod... :) Bu kod sayıları yazmaya, listeye sayı eklemeye, ortalamayı almaya, en küçük ya da en büyük sayıları bulmaya yarıyor... :) Kodlama alıştırması oldu... Tadını çıkarın... :) C++'ta her geçen gün uzmanlaşıyoruz... :)

-------------------------------------------------------------------------------------

#include <iostream>

#include <vector>


using namespace std;


int main()

{

    vector<int> numbers{};

    char selection{};

    

    do 

    {

        //Display menu

        cout << "\nP - Print numbers" << endl;

        cout << "A - Add a number" << endl;

        cout << "M - Display mean of the numbers" << endl;

        cout << "S - Display the smallest number" << endl;

        cout << "L - Display the largest number" << endl;

        cout << "Q - Quit" << endl;

        cout << "\nEnter your choice: ";

        cin >> selection;

        

        switch (selection)

        {

            case 'P':

            case 'p':

            {

                if (numbers.size() == 0)

                    cout << "[] - The list is empty" << endl;

                else

                {

                    cout << "[ ";

                    for (auto num: numbers)

                        cout << num << " ";

                    cout << "]" << endl;

                }

    

                break;

            }

        

            case 'A':

            case 'a':

            {

                int num_to_add {};

                cout << "Enter an integer to add to the list: ";

                cin >> num_to_add;

                numbers.push_back(num_to_add);

                cout << num_to_add << " added" << endl;

                break;

            }

           

        

            case 'M':

            case 'm':

            {

                if (numbers.size() == 0)

                {

                    cout << "Unable to calculate mean - no data" << endl;

                }

                else

                {

                int total{};

                    for (auto num: numbers)

                        total += num;

                    cout << "The mean is " << static_cast<double>(total)/numbers.size() << endl;

                }

                break;

            }

            

            case 'S':

            case 's':

            {

                if (numbers.size() == 0)

                {

                    cout << "Unable to determine the smallest - the list is empty." << endl;

                }

                else

                {

                    int smallest = numbers.at(0);

                    for (auto num: numbers)

                    {

                        if (num < smallest)

                            smallest = num;

                    }

                    cout << "The smallest number is: " << smallest << endl;

                }

                break;

            }

            

            case 'L':

            case 'l':

            {

                if (numbers.size() == 0)

                {

                    cout << "Unable to determine the largest - the list is empty." << endl;

                }

                else

                {

                    int largest = numbers.at(0);

                    for (auto num: numbers)

                    {

                        if (num > largest)

                            largest = num;

                    }

                    cout << " The largest number is " << largest << endl;

                }

                break;

            }

            

            case 'Q':

            case 'q':

            {

                cout << "Goodbye" << endl;

                break;

            }

            

            default:

            {

                cout << "Unknown selection, please try again." << endl;

                break;

            }

            

        }

        

    } while (selection != 'q' && selection != 'Q');

    

    cout << endl;

return 0;

}

-------------------------------------------------------------------------------------

Hiç yorum yok:

Yorum Gönder

Güzel Bir Perşembe :)

 Merhaba dostlarım, Tarih 3 Temmuz 2025 Perşembe, bir satranç maçı daha yaptım ve bir yanlış hamle yaptım mouse'un konumu yüzünden sanır...