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