Calculator.cpp

Calculator.h

#include <string.h>

#include <stdio.h>

#include <math.h>

#include <string>

#pragma once

using namespace std;

class Calculator

{

public:

Calculator(void);

~Calculator(void);

int Work();

char sTB1[20];

char sTB2[20];

char sL1[20];

};

#include "StdAfx.h"

#include "Calculator.h"

Calculator::Calculator(void)

{

}

Calculator::~Calculator(void)

{

}

int Calculator::Work()

{

int k;

float first;

int second;

float rez; // результат

char s[20];

k=sscanf(sTB1,"%f",&first); перевод строки в вещественное first

if(k<=0) // перевод не удался?

{

strcpy(sTB1,"");

strcpy(sL1,"неправильно");

return -1;

}

k=sscanf(sTB2,"%d",&second); // пкеревод строк в целое second

if(k<=0) // перевод не удался?

{

strcpy(sTB2,"");

strcpy(sL1,"неправильно");

return -1;

}

// числа правильные

rez=first+second;

sprintf(s,"%f",rez);

strcpy(sL1,"Ответ: ");

strcat(sL1,s);

return 1;

}

5) Обработка события на выход из textbox

в Java SE

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.lang.Math. *;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import javax.swing.*;

public class lab8

{

JFrame form;

JLabel lb;

JTextField tf1; // поле для вещественного

JTextField tf2; // поле для целого

JButton bt;

lab8 ()

{

// параметры form

form = new JFrame();

form.setBounds (10,20,500,300);

form.setTitle ("лабораторная 8");

form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

form.setLayout(null); // размешщать компоненты вручную

// заданиепараметров Label

lb = new JLabel();

lb.setBounds(20,10,400,40); // left,top,width,height

lb.setText("Ответ:");

form.add(lb); // добавка в форму Label lb

// заданиепараметровпервоготекстовогополя

tf1 = new JTextField();

tf1.setBounds(20,80,100,20);

tf1.setText("0.0");

tf1.addFocusListener(new FocusListener() // обработка событий

{

public void focusGained(FocusEvent e)

{

// припопаданиинатекстовоеполе получение фокуса

}

public void focusLost(FocusEvent e)

{

// привыходеизтекстовогополя потеря фокуса

Calculate();

}

});

form.add(tf1); // добавка в формутекстовогополя tf1

// заданиепараметроввтороготекстовогополя

tf2= new JTextField();

tf2.setBounds(180,80,100,20);

tf2.setText("0");

tf2.addFocusListener(new FocusListener()

{

public void focusGained(FocusEvent e)

{

// припопаданиинатекстовоеполе

}

public void focusLost(FocusEvent e)

{

// привыходеизтекстовогополя

Calculate();

}

});

form.add(tf2); // добавка в формутекстовогополя tf2

// заданиепараметровкнопки

bt=new JButton();

bt.setBounds(20,130,140,20);

bt. setLabel ("Завершить");

form.add(bt);

// добавлениеоткликанасобытие click

bt.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

// принажатиикнопкиbtпереход в даннуюточку

System.exit(0);

}

});

form. show ();

}

public void Calculate()

{

String s1;

double first;

int second;

double Sum;

boolean p; 1- числа нормальные. 0-перевод из строки не удался

s1=tf1.getText();

p=true;

first=0;

second=0;

try

{

first = Double.parseDouble(s1); // попытка перевода в вещественное

}

catch(NumberFormatException e) // ошибка перевода

{

tf1.setText("");

tf1.requestFocus(); // установка фокуса

p=false;

}

s1=tf2.getText();

try

{

second = Integer.parseInt(s1); // попытка перевода в целое

}

catch(NumberFormatException e)

{

tf2.setText("");

tf2.requestFocus();

p=false;

}

if(p) // перевод выполнен?

{

Sum=first+second;

s1=Double.toString(Sum); // перевод в строку

lb.setText("Ответ:"+s1);

}

else

{

lb.setText("неправильно:");

}

}

public static void main (String args[])

{

lab8 f;

f= new lab8();

}

}

6) Обработка события на выход из textbox

в Java ME

import javax.microedition.midlet.*;

import com.sun.lwuit.*;

import com.sun.lwuit.events.*;

import com.sun.lwuit.geom.*;

import com.sun.lwuit.layouts.*;

import java.lang.Math.*;

public class lab8 extends MIDlet

{

Form form;

Label lb;

TextField tf1;

TextField tf2;

Button bt;

public void startApp()

{

int w,h;

Dimension d=new Dimension(200,200);

Display.init(this);

form = new Form();

form.setPreferredSize(d);

form.setTitle("Лабораторная 8");

w=form.getWidth();

h=form.getHeight();

CoordinateLayout e = new CoordinateLayout(w,h);

form.setLayout(e);

// параметры label

lb=new Label();

lb.setX(20);

lb.setY(30);

lb.setText("Ответ: ");

form.addComponent(lb);

// параметры поля tf1 для ввода вещественного числа

tf1 = new TextField();

tf1.setX(20);

tf1.setY(60);

tf1.setText("0.0");

tf1.addFocusListener(new FocusListener()

{

public void focusGained(Component e) // получение фокуса

{

// при попадании на текстовое поле

}

public void focusLost(Component e) // выход из поля

{

// при выходе из текстового поля

Calculate();

}

});

form.addComponent(tf1);

// параметры текстового поля для ввода целого числа

tf2= new TextField();

tf2.setX(20);

tf2.setY(90);

tf2.setText("0");

tf2.addFocusListener(new FocusListener()

{

public void focusGained(Component e)

{

// при попадании на текстовое поле

}

public void focusLost(Component e)

{

// при выходе из текстового поля

Calculate();

}

});

form.addComponent(tf2);

// параметры кнопки

bt=new Button();

bt.setX(20);

bt.setY(120);

bt.setText("Завершить");

bt.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) // событие click

{

notifyDestroyed(); // завершение приложения

}

});

form.addComponent(bt);

form.show();

}

public void Calculate()

{

String s1;

double first;

int second;

double Sum;

boolean p;

s1=tf1.getText();

p=true;

first=0;

second=0;

try

{

first = Double.parseDouble(s1);

}

catch(NumberFormatException e)

{

tf1.setText("");

tf1.setFocus(true);

p=false;

}

s1=tf2.getText();

try

{

second = Integer.parseInt(s1);

}

catch(NumberFormatException e)

{

tf2.setText("");

tf2.setFocus(true);

p=false;

}

if(p)

{

Sum=first+second;

s1=Double.toString(Sum);

lb.setText("Ответ:"+s1+" ");

}

else

{

lb.setText("Неправильно ");

}

}

public void pauseApp()

{

}

public void destroyApp(boolean unconditional)

{

}

}

7) Использование переключателей флажков (checkbox) и переключателей (radiobutton)в Visual C++

Пример:

Покупатель может купить процессор за 2500 рублей и

видеокарту за 1300 рублей(checkbox). Рассчитаться

может наличными, по банковской карточке (+3%) и по

дисконтной карточке (-10%) (3 radiobutton).

Сумма покупки выводится в Label.

Начальная форма:

radioButton располагать внутри groupBox.

Заголовки – свойство Text

Выбран элемент – свойство Checked=true

Обработка события Load для Form1:

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

radioButton1->Checked=true; // выбрана обычная оплата

checkBox1->Checked=false; // товары не выбраны

checkBox2->Checked=false;

}

Запуск:

проект -> добавить класс -> shop


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: