![]() |
|
Модераторы: Poseidon |
![]()
|
|
| natashasuper5 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 10.3.2010 Репутация: нет Всего: нет |
Помогите пожалуйста!
Написать консольный калькулятор, выполняющий операции сложения, вычитания, умножения, деления, возведения в степень, нахождения корня, вычисления синуса и косинуса указанного угла, а также поиск логарифма числа по указанному основанию. вот ход работы: 1. Создаём пустой проект и добавляем в папку исходных кодов (Source Files) файл .cpp; 2. Подключаем необходимые библиотеки, в нашем случае iostream, conio и math. 3. Разрешаем использование типов в пространстве имен std используя для этого директиву using, поэтому уточнение использования типа в этом пространстве имен не требуется. 4. Создаём точку входа (основную функцию) программы void main(). 5. Для проведения вычислений нам понадобятся три переменные, две для хранения операндов, а третья для хранения операции. Так как вычисления могут производится и над десятичными дробями, переменные операндов будут типа double – с плавающей точкой двойной точности. Знак операции будет представлен символом, поэтому для его хранения будет использован символьный тип данных char. 6. Проинициализируем переменные данными из входящего потока cin, используя операцию чтения из потока “>>”. 7. После определения функции main(), объявим функции для вычисления выражений. В нашем случае будет определено лишь две функции: функция сложения и возведения в степень. Функция сложения (plus()) просто возвращает арифметическую сумму входных параметров, а функция возведения в степень (power()) , использует функцию из математического пакета Math 8. Производём вычисления и вывод результата в зависимости от знака операции, используя блок switch. 9. Если попытаться откомпилировать программу сейчас, появиться ошибка, так как компилятор, начав выполнения программы на момент вычисления функций в блоке switch не знает об их существованиий. Проблему можно исправить двумя способами, либо перенести определения функций перед функцией main(), либо добавить описание функции перед main(). Мы пошли вторым путём. Результат нашей работы представлен ниже, для успешного выполнения задания, необходимо повторить пункты 7 – 9 для операции вычитания, умножения, деления, нахождения корня, вычисления синуса и косинуса указанного угла, а также поиска логарифма числа по указанному основанию. а вот уже как бы есть половина программы....ну или пример... #include <iostream> #include <conio.h> #include <math.h> using namespace std; //Объявление функций double plus(double X, double Y); double power(double X, double Y); void main() { //Выбираем русскую локаль, чтобы можно было выводить //русские символы setlocale(LC_ALL,"Russian" ); //Получаем переменные и знак операции double x, y; char op; cout << "Введите X: "; cin >> x; cout << "Введите Y: "; cin >> y; cout << "Введите знак операции:\n" << " + - сложение;\n" << " ^ - возведение X в степень Y;\n : "; cin >> op; //Производим вычисления и вывод результата в зависимости //от знака операции switch (op) { case '+': cout << " X + Y = "<< plus(x, y); break; case '^': cout << " X ^ Y = "<< power(x, y); break; default: cout << "Введёный оператор не поддерживается."; } getch(); } //Определение функции double plus(double X, double Y) { return X + Y; } double power(double X, double Y) { return pow(X, Y); } вот задали такую лабораторную....если кто может помочь..ответьте...заранее спасибо!!! |
|||
|
||||
| world |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 2.10.2009 Где: Харьков Репутация: 6 Всего: 12 |
Глупый вопрос. А если есть уже рабочие функции калькулятора, то нельзя по образу и подобию написать оставшиеся функции ?..
Ладно, помогу. Первое замечание - у вас присутствуют функции, которые требуют или 1 (синус, косинус) или 2(все оставшиеся) операнда, следовательно прежде чем запросить 2 операнд, мы должны знать выполняемую операцию, а её можно узнать либо между 1 и 2 операндом(как было реализовано мной), либо перед запросом первого операнда. Во-вторых, пользуйтесь кнопкой "код". Лови код. Пытался написать как можно ближе к вашему стилю.
--------------------
Say what you mean, and mean what you say. Robert Wilson Cody |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |