Mashkur
25th October 2012, 19:27
hey guys i am getting lot of errors regarding qhash.h and qwindowdefs.h even though i have not used them in my program.....what to do?
I have given my code below...
#define alphaSi 0.473*.001
#define alphaGe 0.4774*.001
#define betaSi 636
#define betaGe 235
#define etSi 3.74*0.001
#define etGe 2.2*0.001
#define niSi pow(10,10)
#define niGe 2.4*pow(10,13)
#define K 8.62*pow(10,-5)
#include "semisim.h" //main class
#include "diode.h" //class in main
#include "ui_diode.h"
#include<qstring.h>
#include<qmessagebox.h>
#include<math.h>
#include<stdlib.h>
Diode::Diode(QWidget *parent) :
QDialog(parent),
ui(new Ui::Diode)
{
ui->setupUi(this);
}
Diode::~Diode()
{
delete ui;
}
void Diode::start_clicked(){
double voltage,current,ni,Eg;
QString x;
int temp,flag;
bool ok;
ui->bandgap->clear();
voltage=ui->doubleSpinBox->value();
x=ui->temperature->text();
temp=x.toInt(&ok);
if(ui->radioButton->isChecked())
flag=1;
else if(ui->radioButton_2->isChecked())
flag=2;
else
{
flag=0;
QMessageBox messagebox;
messagebox.critical(this,"ERROR","NO SEMICONDUCTOR IS SELECTED");
exit(0);
}
Eg=band_gap(temp,flag);
ni=intrinsic_conc( temp, flag, Eg);
}
void Diode::current(double vt,int temp){
double current;
}
void Diode::width(double Na,double Nd,double Vb,double Vd){ //Na,Nd,Vbi,Vd
}
void Diode::built_in(double Na,double Nd,double Ni){
}
double Diode::intrinsic_conc(int temp,int flag,double Eg){
double ni,e,n1,x;
if(flag==1){
e=-1*(etSi-(Eg/temp))/K;
x=(300/temp);
n1=pow(x,3)*exp(e);
}
else if(flag==2){
e=-1*(etGe-(Eg/temp))/K;
x=(300/temp);
n1=pow(x,3)*exp(e);
}
ni=sqrt(n1);
// printf("%lf",ni);
ni=ni/pow(10,10);
ui->intri_conc->insert(QString::number(ni)); //intri_conc is a line edit
return(ni);
}
double Diode::band_gap(int temp,int flag){
double Eg;
if(flag==1){
Eg=1.17-(alphaSi*pow(temp,2))/(temp+betaSi);
}
else if(flag==2){
Eg=0.7437-(alphaGe*pow(temp,2))/(temp+betaGe);
}
ui->bandgap->insert(QString::number(Eg)); bandgap is a line edit
return(Eg);
}
I have given my code below...
#define alphaSi 0.473*.001
#define alphaGe 0.4774*.001
#define betaSi 636
#define betaGe 235
#define etSi 3.74*0.001
#define etGe 2.2*0.001
#define niSi pow(10,10)
#define niGe 2.4*pow(10,13)
#define K 8.62*pow(10,-5)
#include "semisim.h" //main class
#include "diode.h" //class in main
#include "ui_diode.h"
#include<qstring.h>
#include<qmessagebox.h>
#include<math.h>
#include<stdlib.h>
Diode::Diode(QWidget *parent) :
QDialog(parent),
ui(new Ui::Diode)
{
ui->setupUi(this);
}
Diode::~Diode()
{
delete ui;
}
void Diode::start_clicked(){
double voltage,current,ni,Eg;
QString x;
int temp,flag;
bool ok;
ui->bandgap->clear();
voltage=ui->doubleSpinBox->value();
x=ui->temperature->text();
temp=x.toInt(&ok);
if(ui->radioButton->isChecked())
flag=1;
else if(ui->radioButton_2->isChecked())
flag=2;
else
{
flag=0;
QMessageBox messagebox;
messagebox.critical(this,"ERROR","NO SEMICONDUCTOR IS SELECTED");
exit(0);
}
Eg=band_gap(temp,flag);
ni=intrinsic_conc( temp, flag, Eg);
}
void Diode::current(double vt,int temp){
double current;
}
void Diode::width(double Na,double Nd,double Vb,double Vd){ //Na,Nd,Vbi,Vd
}
void Diode::built_in(double Na,double Nd,double Ni){
}
double Diode::intrinsic_conc(int temp,int flag,double Eg){
double ni,e,n1,x;
if(flag==1){
e=-1*(etSi-(Eg/temp))/K;
x=(300/temp);
n1=pow(x,3)*exp(e);
}
else if(flag==2){
e=-1*(etGe-(Eg/temp))/K;
x=(300/temp);
n1=pow(x,3)*exp(e);
}
ni=sqrt(n1);
// printf("%lf",ni);
ni=ni/pow(10,10);
ui->intri_conc->insert(QString::number(ni)); //intri_conc is a line edit
return(ni);
}
double Diode::band_gap(int temp,int flag){
double Eg;
if(flag==1){
Eg=1.17-(alphaSi*pow(temp,2))/(temp+betaSi);
}
else if(flag==2){
Eg=0.7437-(alphaGe*pow(temp,2))/(temp+betaGe);
}
ui->bandgap->insert(QString::number(Eg)); bandgap is a line edit
return(Eg);
}