Лабораторная работа №6
Оператор множественного выбора
Решение нулевого варианта
Задача. Реализовать простейший калькулятор, который выполняет 4 арифметические операции: сложение, вычитание, умножение и деление. Операнды и операция вводятся с клавиатуры. В случае ввода некорректной операции, вывести соответствующее сообщение.
Входные данные: два числа (a и b), операция (op).
Выходные данные: результат выполнения операции (res) или сообщение об ошибке, в случае некорректно введенной операции.
В начале вводим значение операндов и знак операции (типа char). Логическая переменная f принимает значение true, предполагая, что введенный с клавиатуры знак операции корректен. Далее идет сравнения значения со списком констант символов. При обнаружении совпадения выполняется оператор, ассоциированным с данным значением. Оператор default выполняется, если не найдено соответствий, т.е. пользователь ввел некорректную арифметическую операцию. Значение логической переменной f принимает значение false. Выводится сообщение об ошибке.
Если значение логической переменной f=true, то выводится значение переменной res.
Текст программы:
#include "stdafx.h"
#include <iostream>
#include <clocale>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{setlocale (LC_ALL, "Russian");
int a,b, res;
char op;
cout<<"\nВведите первый операнд ";
cin>>a;
cout<<"\nВведите знак операции ";
cin>>op;
cout<<"\nВведите второй операнд ";
cin>>b;
bool f=true;
switch(op) {
case '+': res=a+b; break;
case '-': res=a-b; break;
case '*': res=a*b; break;
case '/': res=a/b; break;
default: cout<<"\nНеизвестная операция"; f=false;}
if (f) cout<<"\nРезультат: "<<res;
system("pause");
return 0;}
Задания для самостоятельного выполнения
- Дано целое число K. Вывести строку — описание оценки, соответствующей числу K (1 — «плохо», 2 — «удовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1 — 5, то вывести строку «ошибка».
- Дан номер месяца — целое число в диапазон 1 — 12 (1 — январь, 2 — февраль и т.д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).
- Дан номер месяца — целое число в диапазон 1 — 12 (1 — январь, 2 — февраль и т.д.). Определить количество дней в этом месяце для невисокосного года.
- Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1 — 4) и вещественные числа A и B (B не равно 0). Выполнить над числами указанное действие и вывести результат.
- Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1 — 5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
- Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 —миллиграмм, 3 —грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1 — 5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.
- Дано целое число в диапазоне 1 — 7. Ввести строку — название дня недели, соответствующего данному числу (1 — «понедельник», 2 — «вторник» и т.д.).
- Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значение D и M для даты, предшествующей указанной.
- Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D=2*R, 3 — длина L=2*π*R, 4 — площадь круга S=π*R2. Дан номер одного из этих элементов и его значение. вывести значения остальных элементов данной окружности ( в том же порядке).
- Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет a, 2 — гипотенуза
, 3 — высота h, опущенная на гипотенузу
, 4 — площадь
. Дан номер одного их этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).
- Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона a, 2 — радиус R1 вписанной окружности
, 3 — радиус R2 описанной окружности (R2=2*R1), 4 — площадь
. Дан номер одного их этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).
- Мастям игральных карт присвоены следующие порядковые номера: 1 — пики, 2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки, присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз. Даны два целых числа: N— достоинство
и M — масть карты
. Вывести название соответствующей карты вида «дама червей», «туз треф» и т.п.
- Дано целое число в диапазоне 100 — 999. вывести строку описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать» и т.п.
- Дано целое число в диапазоне 10 — 40, определяющее количество учебных заданий по некоторой теме. Вывести строку — описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 — «восемнадцать учебных заданий», 23 — «двадцать три учебных задания».
- Дано целое число в диапазоне 20 — 69, определяющее возраст (в годах). Вывести строку — описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 — «двадцать лет», 32 — «тридцать два года», 41 — «сорок один год».