Разработка программы "Цифровой калькулятор"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
а скриптового языка , улучшена интеграция с рабочим столом, добавлены некоторые новые возможности в создании графических интерфейсов.
Формулировка задачи:
Создание программы, обеспечивающей вычисление арифметических выражений. Основные функции: сложение, вычитание, умножение, деление, sin (), cos (), exp (), sqr (), sqrt (). При разработке использовать объектно-ориентированный подход.
Руководство пользователя
Содержание:
1.Управление
Осуществляется только манипулятором мышь.
.Меню
Меню программы активируется нажатием на кнопку Файл". Далее мышкой можно выбрать соответствующие подменю: Информация о калькуляторе (где можно посмотреть версию и разработчика и выход (с помощью которого можно завершить работу приложения)
Функции:
Основные (Элементарные)
Математические
Тригонометрические
Основные (Элементарные):
Вычитание (-)
Сложение (+)
Деление (/)
Умножение (*)
Математические:
Вычисление числа обратного x (1/x)
Вычисление квадрата числа x (x^2)
Извлечение квадратного корня из x ()
Вычисление процента (X%)
Вычисление натурального логарифма (Ln (x))
Возведение x в любую степень (X^Y)
Вычисление экспоненты числа x (Exp (x))
Вычисление факториала числа x (n!;! =x)
Вычисление y процентов от числа x (Y%X)
Вычисление куба числа x (x^3)
Возведение 10 в степень числа x (10^x)
Тригонометрические:
1)Обычные:
Вычисление синуса числа x (sin (x))
Вычисление косинуса числа x (cos (x))
Вычисление тангенса числа x (tan (x))
Вычисление котангенса числа x (ctg (x))
2)Обратные:
Вычисление арксинуса числа x (Asin (x))
Вычисление арккосинуса числа x (Acos (x))
Вычисление арктангенса числа x (Atan (x))
4. Дополнительные замечания:
Перед использованием математических функций следует удостовериться, что калькулятор завершил предыдущую операцию. Для этого нужно предварительно несколько раз щёлкнуть мышкой по выбранной кнопке, реализующей нужную математическую функцию.
Листинг программы
import javax. swing. *; // импортируем пакет swing для работы с графическим интерфейсом (для всех ОС)
import java. awt. *; // импортируем пакет awt для работы с графическим интерфейсом (для определённых ОС)
import java. awt. event. *; // импортируем класс event для обработки событий
import java. math. *; // импортируем пакет math для работы с математическими функциями
public class Калькулятор // создаём новый класс Калькулятор
{
public static void main (String [] args) // метод main позволяет начать работу в консольном окне
{
System. out. println ("It is program calculator (Version 1; Developer - Dyakonov A. V.)"); // метод println выводит на консольное окно строку в ()
MyFrame frame=new MyFrame (); // создаём экземпляр класса MyFrame
frame. setBackground (Color. blue); // задаём цвет фона. setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); // метод setDefaultCloseOperation завершает работу приложения. show (); // метод show рисует наш frame
}
}MyFrame extends JFrame // создаём новый класс MyFrame на основе класса JFrame
{
public MyFrame () // указываем конструктор класса MyFrame
{
setTitle ("Калькулятор"); // задаём имя заголовка
Container pane= getContentPane (); // группируем компоненты
MyPanel panel= new MyPanel (); // создаём экземпляр класса MyPanel
pane. add (panel); // добавляем компоненту panal
setSize (350,350); // задаём размер фрэйма
JMenu fileMenu=new JMenu ("Файл"); // создаём экземпляр класса JMenunewItem=fileMenu. add
("Информация о калькуляторе: Версия 1; Разработчик - Дьяконов А.В. ");
fileMenu. addSeparator ();exitItem=fileMenu. add (new AbstractAction ("Выход")
{void actionPerformed (ActionEvent event)
{System. exit (0);
}
});menuBar=new JMenuBar ();(menuBar);. add (fileMenu);
}
}MyPanel extends JPanel // создаём новый класс MyPanel на основе класса JPanel
{JLabel display; // создаём поле JLabel для компоненты display (текстовое поле)JPanel panel; // создаём поле JPanel для компоненты panelboolean start; // создаём переменную start типа boolean String lastCommand; // создаём переменную, хранящую значение последней введённой команды
private double result; // создаём переменную для хранения результата
public MyPanel () // указываем конструктор класса MyPanel
{
setLayout (new BorderLayout ()); // разместим компоненту текстового типа (компонента BorderLayout () делит панель на две части)
start=true; // проинициализируем переменную start
result=0;
lastCommand="=";=new JLabel ("0"); // создаём компоненту display(display,BorderLayout. NORTH); // добавляем объект display на frame. setBackground (Color. green);=new JPanel (); // проинициализируем компоненту panel. setLayout (new GridLayout (10,4)); // задаём сеточную компановку
// добавим все необходимые кнопки на окно нашего калькулятора
addButton ("7",0);
addButton ("8",0);
addButton ("9",0);
addButton ("/",1);
addButton ("4",0);
addButton ("5",0);
addButton ("6",0);
addButton ("*",1);
addButton ("1",0);
addButton ("2",0);
addButton ("3",0);
addButton ("-",1);
addButton ("0",0);
addButton (". ",0);
addButton ("=",1);
addButton ("+",1);
addButton ("X^2",1);
addButton ("sqrt",1);
addButton ("1/x",1);("%",1);("sin",1);("cos",1);
addButton ("tan",1);("ctg",1);("X^Any",1);("Asin",1);("Acos",1);("Atan",1);("X^3",1);("LN",1);("Exp",1);("n!",1);("y%x",1);("10^x",1);(panel,BorderLayout. CENTER); // добавим нашу компоненту (область) в середину
}
private void addButton (String s, int i) // создадим метод addButton (метод addButton создаёт кнопки)
{
JButton button=new JButton (s); // создаём объект button (кнопку) класса JButton
button. setBackground (Color. white); // задаём цвет кнопки. setForeground (Color. bl