Saturday, 19 October 2013

REGRESSION ANALYSIS CODE

#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;

}

FREE HIT COUNTERS