QT Creator es uno de los mejores IDE para c++ en especial cuando se trata de crear formularios, maneja todos los controles como cuadro de texto, botones, Table, combos box, listas, conexion a base de datos, generacion de archivos pdf, archivos de texto, tiene otros temas como qt network, es excelente.
File mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <cmath>
#include <QDateTime>
#include <QTimer>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("Simulacion de Recibo");
QStringList titu;
ui->tblPro->setColumnCount(4);
titu<<"Producto"<<"Precio_U"<<"Cantidad"<<"Importe";
ui->tblPro->setHorizontalHeaderLabels(titu);
ui->tblPro->setColumnWidth(0,150);
cargar_combo();
cargar_cli();
setHora();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::setHora()
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(cargar_fecha()));
timer->start(1000);
}
void MainWindow::on_btnAdd_clicked()
{
//ui->txtPrecio->setText(ui->txtNombre->text());
ui->tblPro->insertRow(ui->tblPro->rowCount());
ui->tblPro->setItem(ui->tblPro->rowCount()-1,0,new QTableWidgetItem(ui->cmbPro->currentText()));
ui->tblPro->setItem(ui->tblPro->rowCount()-1,1,new QTableWidgetItem(ui->txtPrecio->text()));
ui->tblPro->setItem(ui->tblPro->rowCount()-1,2,new QTableWidgetItem(ui->txtCan->text()));
calTot();
}
void MainWindow::cargar_combo()
{
ui->cmbPro->addItem("PlayStation 4");
ui->cmbPro->addItem("Laptop Dell i7");
ui->cmbPro->addItem("Hard disk 1Tb");
ui->cmbPro->addItem("TV 60 LED Sony");
ui->cmbPro->addItem("Laptop Apple i7");
ui->cmbPro->addItem("Samsung Galaxy S6");
}
void MainWindow::calTot()
{
double imp;
double precio;
double can;
double S=0;
double tax=0;
double total=0;
int i;
for(i=0;i<ui->tblPro->rowCount();i++){
precio=ui->tblPro->item(i,1)->text().toDouble();
//precio=ui->tblPro->takeItem(i,1)->text().toDouble();
can=ui->tblPro->item(i,2)->text().toDouble();
imp=precio*can;
ui->tblPro->setItem(i,3,new QTableWidgetItem(QString::number(imp)));
S=S+imp;
S=redo(S);
tax=0.09*S;
tax=redo(tax);
total=1.09*S;
total=redo(total);
ui->lblSub->setText(QString::number(S));
ui->lblTax->setText(QString::number(tax));
ui->lblTotal->setText(QString::number(total));
}
}
double MainWindow::redo(double n)
{
n=n*100;
n=round(n);
n=n/100;
return n;
}
void MainWindow::cargar_cli()
{
ui->cmbCli->addItem("Miguel Nunez Varillas");
ui->cmbCli->addItem("Rosa Castro");
ui->cmbCli->addItem("Soila Monge");
ui->cmbCli->addItem("Luis Salvatierra");
ui->cmbCli->addItem("Alberto Lozano");
ui->cmbCli->addItem("Fernando Garcia");
ui->cmbCli->addItem("Julio Ortiz Jason");
}
void MainWindow::cargar_fecha()
{
QDateTime tiempo2=QDateTime();
ui->lblFecha->setText(tiempo2.currentDateTime().toString());
QString h=QString::number(tiempo2.currentDateTime().time().hour());
QString m=QString::number(tiempo2.currentDateTime().time().minute());
QString s=QString::number(tiempo2.currentDateTime().time().second());
ui->lblRelog->setText(h+":"+m+":"+s);
}
void MainWindow::on_cmbPro_currentIndexChanged(const QString &arg1)
{ QString cad;
switch (ui->cmbPro->currentIndex()) {
case 1:cad="500";break;
case 2:cad="89";break;
case 3:cad="700";break;
case 4:cad="800";break;
case 5:cad="200";break;
default:cad="220";
break;
}
ui->txtPrecio->setText(cad);
ui->txtCan->setText("1");
}
void MainWindow::on_btnDel_clicked()
{ QMessageBox mensa;
if (ui->tblPro->currentRow()>-1){
ui->tblPro->removeRow(ui->tblPro->currentRow());
}else{
mensa.setText("Seleccione una fila");
mensa.exec();
}
}
martes, 1 de septiembre de 2015
jueves, 6 de agosto de 2015
sábado, 2 de mayo de 2015
viernes, 1 de mayo de 2015
sábado, 24 de enero de 2015
Metodo de Newton - Metodos Numericos con Java
package pktNewton;
import javax.swing.table.DefaultTableModel;
public class frmNewton extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
public frmNewton() {
initComponents();
tblCoe.setModel(modelo);
tblCoe.setVisible(false);
}
private void btnGenActionPerformed(java.awt.event.ActionEvent evt) {
int i;
int n=Integer.parseInt(txtN.getText());
String titu[]=new String[n+1];
String dato[]=new String[n+1];
for(i=0;i<=n;i++){ titu[i]="X^"+(n-i); dato[i]="1"; }
tblCoe.setVisible(true);
modelo.setColumnIdentifiers(titu);
modelo.addRow(dato);
}
private double df(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
if ((n-i)!=0){
s=s+(n-i)*Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0,n-1-i);
}
}
return s;
}
private double f(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
s=s+Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0, n-i);
}
return s;
}
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
double x0,x1;
double error=1,e=0.01;
double n=6,i=0;
if (mayor()+menor()==0){ x0=mayor();
}else{ x0=(mayor()+menor())/2; }
while (error>=e || i==n){
x1=x0-f(x0)/df(x0);
i=i+1;
error=Math.abs((x1-x0)/x1);
txtR.setText(txtR.getText()+"iteraccion="+i+"\n"+"x1="+x1+"\n"+"f(x1)="+f(x1)+"\n");
if (f(x1)==0){ txtR.setText(txtR.getText()+"Raiz="+x1+"\n"); break; }
x0=x1;
}
lblF.setText("f(x0):"+f(x0)+" mayor:"+mayor()+" menor:"+menor()+" x0="+x0+" df(x0)="+df(x0));
}
private double mayor(){
double may;
may=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())>may){
may=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return may;
}
private double menor(){
double men;
men=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())<men){
men=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return men;
}
El programa calcula una raiz del polinomio ingresado en la tabla, se ingresan los coheficientes.
el metodo f evalua un valor x0, el metodo df evalua un valor en la derivada del polinomio, el metodo mayor calcula el coheficiente mayor del polinomio, el metodo menor calcula el coheficiente menor del polinomio.
Se realizan Proyectos de Programacion de Computadoras en Java, Visual Basic, SQL, MySql.
e-mail: minuvasoft10@gmail.com
import javax.swing.table.DefaultTableModel;
public class frmNewton extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
public frmNewton() {
initComponents();
tblCoe.setModel(modelo);
tblCoe.setVisible(false);
}
private void btnGenActionPerformed(java.awt.event.ActionEvent evt) {
int i;
int n=Integer.parseInt(txtN.getText());
String titu[]=new String[n+1];
String dato[]=new String[n+1];
for(i=0;i<=n;i++){ titu[i]="X^"+(n-i); dato[i]="1"; }
tblCoe.setVisible(true);
modelo.setColumnIdentifiers(titu);
modelo.addRow(dato);
}
private double df(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
if ((n-i)!=0){
s=s+(n-i)*Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0,n-1-i);
}
}
return s;
}
private double f(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
s=s+Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0, n-i);
}
return s;
}
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
double x0,x1;
double error=1,e=0.01;
double n=6,i=0;
if (mayor()+menor()==0){ x0=mayor();
}else{ x0=(mayor()+menor())/2; }
while (error>=e || i==n){
x1=x0-f(x0)/df(x0);
i=i+1;
error=Math.abs((x1-x0)/x1);
txtR.setText(txtR.getText()+"iteraccion="+i+"\n"+"x1="+x1+"\n"+"f(x1)="+f(x1)+"\n");
if (f(x1)==0){ txtR.setText(txtR.getText()+"Raiz="+x1+"\n"); break; }
x0=x1;
}
lblF.setText("f(x0):"+f(x0)+" mayor:"+mayor()+" menor:"+menor()+" x0="+x0+" df(x0)="+df(x0));
}
private double mayor(){
double may;
may=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())>may){
may=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return may;
}
private double menor(){
double men;
men=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())<men){
men=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return men;
}
El programa calcula una raiz del polinomio ingresado en la tabla, se ingresan los coheficientes.
el metodo f evalua un valor x0, el metodo df evalua un valor en la derivada del polinomio, el metodo mayor calcula el coheficiente mayor del polinomio, el metodo menor calcula el coheficiente menor del polinomio.
Se realizan Proyectos de Programacion de Computadoras en Java, Visual Basic, SQL, MySql.
e-mail: minuvasoft10@gmail.com
jueves, 1 de enero de 2015
Mysql Select 3 tables inner join
Se tiene las siguientes tablas
inner join lineas as l on o.N_L = l.N_L
inner join actividad as a on a.id_Activi = o.N_O
where o.N_L = 73760 order by o.N_O
-- El objetivo es seleccionar campos de las tres tablas, relacionados por su llave primaria y foranea.
Se realizan Proyectos de Programacion por Internet minuvasoft10@gmail.com
Miguel Nunez
lineas
ordentrabajo
actividad
select o.N_O, o.fecha, l.N_L, l.Origen, l.Fin, a.programa from ordentrabajo as o inner join lineas as l on o.N_L = l.N_L
inner join actividad as a on a.id_Activi = o.N_O
where o.N_L = 73760 order by o.N_O
-- El objetivo es seleccionar campos de las tres tablas, relacionados por su llave primaria y foranea.
Se realizan Proyectos de Programacion por Internet minuvasoft10@gmail.com
Miguel Nunez
Suscribirse a:
Entradas (Atom)
Conectar a MySql con Java Netbeans mediante un Formulario
Tener agregado en libraries el conector mysql. clase coneBD.java package pktForm12; import java.sql.*; import javax.swing.JOptionPane; publ...
-
package pktNewton; import javax.swing.table.DefaultTableModel; public class frmNewton extends javax.swing.JFrame { DefaultTableModel m...
-
Basicamente se realiza botones de navegacion como primero, siguiente, anterior, ultimo de una tabla Mysql con Java Netbeans. Ademas se na...
-
Se soluciona un Sistema de Ecuaciones lineales por determinantes utilizando el lenguaje de programacion Java, Metodos Numericos, Analisis Nu...