#include<stdio.h>
#include<math.h>
void main()
{
char choice;
void
Regression();
void
Estimation();
void
Evaluation();
void
display();
clrscr();
do
{
printf("\nselect
your choice\n");
printf("0.display
kloc and effort values\n");
printf("1.Regression
Analysisl\n");
printf("2.Estimation
Model\n");
printf("3.Evaluation
of Model\n");
printf("4.Exit
This Code\n");
choice=getche();
switch(choice)
{
case '0':display();
break;
case '1':Regression();
break;
case '2':Estimation();
break;
case '3':Evaluation();
break;
default:exit(1);
}
printf("\nsome
other operation(Y/N)\n");
choice=getche();
}while((choice=='Y')||(choice=='y'));
}
void
Regression()
{
char choice;
void linear();
void
hyperbola();
void power();
void
display();
clrscr();
do
{
printf("select
your choice\n");
printf("0.display
kloc and effort values\n");
printf("1.Linear
Regression\n");
printf("2.Power
Regression\n");
printf("3.Inverse
Regression\n");
printf("4.Exit
this Regression\n");
choice=getche();
switch(choice)
{
case '0':display();
break;
case '1':linear();
break;
case '2':power();
break;
case '3':hyperbola();
break;
default:main();
}
printf("\nsome
other operation(Y/N)\n");
choice=getche();
}while((choice=='Y')||(choice=='y'));
}
void linear()
{
int i,n=13;
float
a,b,ab[13],bc=0,cd=0,de,ef=0,fg[13],gh=0,hi,kl;
float
kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
for(i=0;i<=12;i++)
{
ab[i]=kloc[i]*kloc[i];
bc=bc+ab[i];
cd=cd+effort[i];
ef=ef+kloc[i];
fg[i]=kloc[i]*effort[i];
gh=gh+fg[i];
}
kl=ef*ef;
de=bc*cd-ef*gh;
hi=n*bc-kl;
a=de/hi;
b=(n*gh-ef*cd)/hi;
printf("\na
value is:%.3f",a);
printf("\tb
value is:%.3f",b);
}
void
hyperbola()
{
int i,n=13;
float
a,b,ab[13],bc=0,cd=0,de,ef=0,fg[13],gh=0,hi,kl;
float kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
for(i=0;i<=12;i++)
{
",a);
printf("\tb
value is:%.3f",b);
}
void power()
{
int i,n=13;
double
a,b,aa,ab[13],kloc[13],effort[13],bc=0,cd=0,de,ef=0,fg[13],gh=0,hi,kl;
double
klocc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
double
effortt[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
for(i=0;i<=12;i++)
{
kloc[i]=log(klocc[i]);
effort[i]=log(effortt[i]);
}
for(i=0;i<=12;i++)
{
ab[i]=kloc[i]*kloc[i];
bc=bc+ab[i];
b=(n*gh-ef*cd)/hi;
aa=pow(2.7182,a);
printf("\na
value is:%.3lf",aa);
printf("\tb
value is:%.3lf",b);
}
void display()
{
int i;
float
kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
printf("\nSNO\tKLOC\tActual
Effort\n");
for(i=0;i<=12;i++)
{
printf("%d\t%.2f\t%.2f\n",i,kloc[i],effort[i]);
}
}
float Basic()
{
int i;
float
c,beffort[13],error[13],mm=0;
float
kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
printf("\nBASIC
EFFORT \tERROR %\n\n");
for(i=0;i<=12;i++)
{ +1,beffort[i],error[i]);
}
return mm;
}
float Halsted()
{
int i;
float
a,b,c,beffort[13],error[13],mm=0;
float
kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
printf("\nBASIC
EFFORT \tERROR %\n\n");
for(i=0;i<=12;i++)
{
c=pow(kloc[i],1.50);
}
return mm;
}
float Mittal()
{
int i;
float
a,b,c,d,e,f,g,h,beffort[13],error[13],mm=0;
float
kloc[13]={39,40.5,50,128.6,161.4,164.8,200,214.4,253.6,254.2,289,449.9,450};
float
effort[13]={72,82.5,84,230.7,157,246.9,130.3,86.9,287,258.7,116,336.3,1107.31};
printf("\nBASIC
EFFORT \tERROR %\n\n");
for(i=0;i<=12;i++)
{
c=pow(0.7*kloc[i],0.665);
d=pow(kloc[i],0.665);
e=pow(1.3*kloc[i],0.665);
beffort[i]=(1*6*c+4*6*d+1*6*e)/6;
error[i]=abs(((beffort[i]-effort[i])/effort[i])*100);
mm=mm+error[i];
printf("%d:%.3f\t%.3f\n",i+1,beffort[i],error[i]);
}
return mm;
}