Простейшие задания для изучения C++ и решения

Уровень сложности: 

Вначале задания, в конце страницы - решения для С++.

Задания для работы с вводом/выводом.

1) Создайте 5 переменных типа char, предложите пользователю ввести слово из пяти букв и покажите эти символы (слово) на экран. (Символы вводить латиницей, т.к. кириллица будет отображаться некорректно.)

2) Вывести на экран текст, состоящий из заголовка и стихотворения:
А.С.Пушкин "Вот север, тучи, нагоняя..."
Вот север, тучи нагоняя,
Дохнул, завыл – и вот сама
Идет волшебница-зима,
Пришла, рассыпалась; клоками
Повисла на суках дубов,
Легла волнистыми коврами
Среди полей вокруг холмов.
Брега с недвижною рекою
Сравняла пухлой пеленою;
Блеснул мороз, и рады мы
Проказам матушки-зимы.

3) Пользователь должен ввести 4 цифры. Нужно вывести на экран эти 4 цифры в обратном порядке. Пример: введены цифры: 9748 - отобразить: 8479.

 

Задания для работы с условными операторами

4) Предложить пользователю выбрать один из трёх фруктов и вывести цвет выбранного фрукта. Слива - синий, абрикос - жёлтый, мандарин - оранжевый.

5) Предложить выбор модели автомобиля : Mercedes-Benz CLA, Audi A6, BMW X5, Lexus RX 270, После выбора вывести стоимость, соответственно: 2 млн. рублей, 2,5 млн. рублей, 3,5 млн. рублей, 2,3 млн. рублей. Использовать оператор switch case.

6) Пользователь выбирает на каком языке нужно вывести названия дней недели. Программа выводит дни недели на русском или на английском по выбору пользователя. (Английские названия, начиная с понедельника: monday, tuesday, wednesday, thursday, friday, saturday, sunday).

 

Задания для работы с циклами

7) Пользователь вводит номер текущего месяца. Выведите на экран следующий. Если пользователь ввёл число меньше 1 или больше 12, укажите на ошибку и запросите месяц заново.

 

Задания для работы с массивами и строками

8) Запросить ввод имён нескольких человек на английском. Пользователь должен указать число человек и потом написать их имена на английском. Далее предложить на выбор оформление графика дежурств: на неделю, на две недели, на месяц. Пользователь должен получить график по выбору. Например:
1 Ivan
2 Vasiliy
3 Ivan
4 Vasiliy и т.д.

 

Решения на C++

 

1. Программа Слово из 5 букв.

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. char a,b,c,d,e;
  7.  
  8. cout << "Программа ввода слова\n";
  9. cout << "Введите слово из 5 латинских букв (и нажмите Ввод): ";
  10. cin >> a >> b >> c >> d >> e;
  11. cout << "Принято слово: " << a << b << c << d << e;
  12. cout << "\nСпасибо.";
  13.  
  14. return 0;
  15. }

 

2. Программа Стихотворение

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. cout << "Программа Стихотворение\n\n";
  7. cout << "А.С. Пушкин \"Вот север, тучи нагоняя...\"\n";
  8. cout << "Вот север, тучи нагоняя, \n";
  9. cout << "Дохнул, завыл – и вот сама \n";
  10. cout << "Идет волшебница-зима, \n";
  11. cout << "Пришла, рассыпалась; клоками \n";
  12. cout << "Повисла на суках дубов, \n";
  13. cout << "Легла волнистыми коврами \n";
  14. cout << "Среди полей вокруг холмов.\n";
  15. cout << "Брега с недвижною рекою \n";
  16. cout << "Сравняла пухлой пеленою; \n";
  17. cout << "Блеснул мороз, и рады мы \n";
  18. cout << "Проказам матушки-зимы.\n";
  19.  
  20. return 0;
  21. }

 

3. Программа Цифры наоборот

Если никаких других действий с числами не производится, тогда можно вводить их как буквы, а не как числа.

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. char a,b,c,d;
  7. cout << "Программа Цифры наоборот\n";
  8. cout << "Введите подряд 4 цифры без пробелов и нажмите Ввод (например: 3121) : ";
  9. cin >> a >> b >> c >> d ;
  10. cout << "Наоборот: " << d << c << b << a;
  11. cout << "\nСпасибо.";
  12.  
  13. return 0;
  14. }

 

4. Программа Цвета фруктов

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int i;
  7. cout << "Программа Цвета фруктов\n";
  8. cout << "Выберите один фрукт и введите его номер\n";
  9. cout << "1 - слива\n";
  10. cout << "2 - абрикос\n";
  11. cout << "3 - мандарин\n";
  12. cout << "Введите номер фрукта: ";
  13. cin >> i;
  14.  
  15. if (i == 1) cout << "Цвет сливы - синий\n";
  16. if (i == 2) cout << "Цвет абрикоса - жёлтый\n";
  17. if (i == 3) cout << "Цвет мандарина - оранжевый\n";
  18.  
  19. cout << "Конец работы.";
  20.  
  21. return 0;
  22. }

 

5. Программа Цены автомобилей

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int i;
  7. cout << "Программа Цены автомобилей\n";
  8. cout << "Цену какого автомобиля вы хотите узнать?\n";
  9. cout << "1 - Mercedes-Benz CLA\n";
  10. cout << "2 - Audi A6\n";
  11. cout << "3 - BMW X5\n";
  12. cout << "4 - Lexus RX 270\n";
  13. cout << "Введите номер автомобиля (1, 2, 3 или 4): ";
  14. cin >> i;
  15.  
  16. switch (i)
  17. {
  18. case 1: cout << "Стоимость Mercedez-Benz CLA: 2 млн. рублей\n";
  19. break;
  20. case 2: cout << "Стоимость Audi A6: 2,5 млн. рублей\n";
  21. break;
  22. case 3: cout << "Стоимость BMW X5: 3,5 млн. рублей\n";
  23. break;
  24. case 4: cout << "Стоимость Lexus RX 270: 2,3 млн. рублей\n";
  25. break;
  26. }
  27.  
  28. cout << "Конец работы.";
  29.  
  30. return 0;
  31. }

 

6. Программа Дни недели

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int i;
  7. cout << "Программа Дни недели\n";
  8. cout << "Выберите язык, на котором нужно вывести названия дней недели:\n";
  9. cout << "1 - русский\n";
  10. cout << "2 - английский\n";
  11. cout << "Введите 1 или 2: ";
  12. cin >> i;
  13.  
  14. switch (i)
  15. {
  16. case 1: cout << "Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье";
  17. break;
  18. case 2: cout << "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday";
  19. break;
  20. }
  21.  
  22. return 0;
  23. }

 

7. Программа Следующий месяц.

В этой программе нужно правильно составить условие проверки и цикл ввода числа.

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int i, n;
  7.  
  8. cout << "Программа Следующий месяцn\n";
  9. do {
  10. cout << "Введите номер текущего месяца (от 1 до 12): ";
  11. cin >> i;
  12. if (!(1 <= i) || !(i <= 12)) {
  13. cout << "Неверный ввод! Номер месяца должен быть числом от 1 до 12.\n";
  14. }
  15. } while (!(1 <= i) || !(i <= 12));
  16.  
  17. n = i + 1;
  18. if (n > 12) n = 1;
  19.  
  20. cout << "Номер следующего месяца: " << n;
  21.  
  22. return 0;
  23. }

 

8. Программа График дежурств

В этой программе не реализована проверка ввода, однако при неправильном выборе длины графика производится повтор ввода.

  1. #include <string>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int i,j,k,n;
  9. char str[50];//строковая переменная, массив символов
  10.  
  11. cout << "Программа График дежурств\n";
  12. cout << "Введите количество человек: ";
  13. cin >> n;
  14.  
  15. std::string mas[n];//массив строк
  16. cout << "Введите их имена\n";
  17.  
  18. /*цикл ввода имён*/
  19. for (i=0; i<n; i++) {
  20. j = i+1;
  21. cout << "Имя " << j << ":";
  22. cin >> mas[i];
  23. cout << " Вы ввели: " << mas[i] << endl;
  24. }
  25.  
  26. cout << "Ввод имён завершён.\n\n";
  27.  
  28. do {
  29. cout << "Выберите длину графика\n";
  30. cout << " 1 - 7 дней\n 2 - две недели \n 3 - месяц\n";
  31. cin >> i;
  32. if ((i != 1) && (i != 2) && (i != 3)) cout << "Ошибка!\n";
  33. } while ((i != 1) && (i != 2) && (i != 3));
  34.  
  35. switch (i) {
  36. case 1: i = 7; break;
  37. case 2: i = 14; break;
  38. case 3: i = 30; break;
  39. }
  40. cout << "\nГрафик дежурств\n";
  41.  
  42. /*вывод графика*/
  43. k=0; //schetchik chelovek
  44. for (j=0; j<i; j++) {
  45. cout << j+1 << " " << mas[k] << endl;
  46. k++;
  47. if (k>=n) k=0;
  48. }
  49.  
  50. return 0;
  51. }