Shop.cpp
Добавленная функция
void ChangeSum()
{
int b;
b=0;
if(checkBox1->Checked) // куплен процессор
b=1;
if(checkBox2->Checked) // куплена видеокарта
{
if(b==0)
b=2;
else
b=3;
}
sh.Buy=b; // передача в shop
b=0;
if(radioButton1->Checked)
b=1;
if(radioButton2->Checked)
b=2;
if(radioButton3->Checked)
b=3;
sh.Pay=b; // передача в shop
sh.Calculate(); // пересчет цены
String ^ss= gcnew String(sh.sL1);
label1->Text=ss; // вывод в label1 результата
}
#include "StdAfx.h"
#include "shop.h"
const float CenaProc=2500;
const float CenaVideo=1300;
shop::shop(void)
{
}
shop::~shop(void)
{
}
void shop::Calculate()
{
Summa=0;
if(Buy==1)
Summa=CenaProc;
if(Buy==2)
Summa=CenaVideo;
if(Buy==3)
Summa=CenaProc+CenaVideo;
if(Pay==2)
Summa=Summa+0.03*Summa;
if(Pay==3)
Summa=Summa-0.1*Summa;
// округление
Summa=floor(Summa*100)/100.0; // округление до копеек
sprintf((char *)sL1,"%7.2f",Summa); // перевод вещ. в строку sL1
}
8) Использование переключателей флажков (checkbox) и переключателей (radiobutton)в
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 javax.swing.*;
public class lab8
{
int Summa;
JFrame form;
JCheckBox cb1;
JCheckBox cb2;
JLabel lb;
JRadioButton jr1;
JRadioButton jr2;
JRadioButton jr3;
ButtonGroup bg;
lab8 ()
{
// параметрыформы
form = new JFrame();
form.setBounds (10,20,500,300);
form.setTitle ("лабораторная 8");
form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form.setLayout(null);
// параметры checkbox1
cb1 = new JCheckBox();
cb1.setBounds(20,50,180,20);
cb1.setText("Процессор");
cb1.setSelected(false);
cb1.addItemListener(new ItemListener()
{
// откликвыбор-невыбор
public void itemStateChanged(ItemEvent e)
{
Calculate();
}
});
form.add(cb1);
// параметры checkbox2
cb2 = new JCheckBox();
cb2.setBounds(20,70,180,20);
cb2.setText("Видеокарта");
cb2.setSelected(false);
cb2.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
Calculate();
}
});
form.add(cb2);
// параметры label
lb = new JLabel();
lb.setBounds(20,220,400,40);
lb.setText("Ответ:");
form.add(lb);
// параметры radiobutton1
jr1=new JRadioButton();
jr1.setBounds(20,100,180,20);
jr1.setText("Обычный");
jr1.setSelected(true);
jr1.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
Calculate();
}
});
form.add(jr1);
// параметры radiobutton2
jr2=new JRadioButton();
jr2.setBounds(20,120,180,20);
jr2.setText("Карточка");
jr2.setSelected(false);
jr2.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
Calculate();
}
});
form.add(jr2);
// параметры radiobutton3
jr3=new JRadioButton();
jr3.setBounds(20,140,180,20);
jr3.setText("Дисконт");
jr3.setSelected(false);
jr3.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
Calculate();
}
});
form.add(jr3);
// параметрыradiogroup
bg = new ButtonGroup();
bg.add(jr1); // объединениекнопок в группу
bg.add(jr2);
bg.add(jr3);
form.show();
}
public void Calculate()
{
String s1;
double pr;
Summa=0;
if(cb1.isSelected()==true)
{
Summa += 2500;
}
if(cb2.isSelected()==true)
{
Summa += 1300;
}
if(jr1.isSelected()==true)
{
// неменять
}
if(jr2.isSelected()==true)
{
// карточка + 3%
pr=Summa*0.03;
pr=(int)Math.round(pr);
Summa += pr;
}
if(jr3.isSelected()==true)
{
// дисконт - 10%
pr=Summa*0.1;
pr=(int)Math.round(pr);
Summa -= pr;
}
s1=Integer.toString(Summa);
s1="Ответ: "+s1;
lb.setText(s1);
}
public static void main (String args[])
{
lab8 f;
f= new lab8();
}
}
Результат:
9) Использование переключателей флажков (checkbox) и переключателей (radiobutton)в
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
{
int Summa;
double pr;
Form form;
CheckBox cb1;
CheckBox cb2;
Label lb;
RadioButton jr1;
RadioButton jr2;
RadioButton jr3;
ButtonGroup bg;
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);
cb1=new CheckBox();
cb1.setX(20);
cb1.setY(30);
cb1.setText("Процессор");
cb1.setSelected(true);
cb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Calculate();
}
});
form.addComponent(cb1);
cb2=new CheckBox();
cb2.setX(20);
cb2.setY(60);
cb2.setText("Видеокарта");
cb2.setSelected(false);
cb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Calculate();
}
});
form.addComponent(cb2);
lb = new Label();
lb.setX(10);
lb.setY(220);
lb.setText("Ответ: ");
form.addComponent(lb);
jr1=new RadioButton();
jr1.setX(20);
jr1.setY(90);
jr1.setText("Обычный");
jr1.setSelected(true);
jr1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Calculate();
}
});
form.addComponent(jr1);
jr2=new RadioButton();
jr2.setX(20);
jr2.setY(120);
jr2.setText("Карточка");
jr2.setSelected(false);
jr2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Calculate();
}
});
form.addComponent(jr2);
jr3=new RadioButton();
jr3.setX(20);
jr3.setY(150);
jr3.setText("Дисконт");
jr3.setSelected(false);
jr3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Calculate();
}
});
form.addComponent(jr3);
bg = new ButtonGroup();
bg.add(jr1);
bg.add(jr2);
bg.add(jr3);
form.show();
}
public void Calculate()
{
String s1;
Summa=0;
if(cb1.isSelected()==true)
{
Summa += 2500;
}
if(cb2.isSelected()==true)
{
Summa += 1300;
}
if(jr1.isSelected()==true)
{
// ничего не делать
}
if(jr2.isSelected()==true)
{
// карточка + 3%
pr=Summa*0.03;
pr=(int)Math.floor(pr);
Summa += pr;
}
if(jr3.isSelected()==true)
{
// дисконт - 10%
pr=Summa*0.1;
pr=(int)Math.floor(pr);
Summa -= pr;
}
s1=Integer.toString(Summa);
s1="ответ:"+s1;
lb.setText(s1);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional)
{
}
}
Результат: