//C program to calculate effort and productivity in stage-1 of cocomo-2 model//
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int no_of_screens,no_of_reports;
int screen[4],report[4];
int CPLX_table[3][3]={
{0,0,1}, //0-Small
{0,1,2}, //1-Medium
{1,2,2} //2-Difficult
};
int weight_table[3][3]={
{1,2,3},
{2,5,8},
{-1,-1,10}
};
int col,r_row,s_row,s_CPLX,r_CPLX;
int rating,OP,reuse;
float NOP,effort;
int PROD[5]={4,7,13,25,50};
clrscr();
printf("\nEnter number of Screens : ");
scanf("%d",&screen[0]);
printf("\nEnter number of Screen Views : ");
scanf("%d",&screen[1]);
printf("\nEnter number of clients and servers : ");
scanf("%d %d",&screen[2],&screen[3]);
printf("\nEnter number of Reports : ");
scanf("%d",&report[0]);
printf("\nEnter number of Report Sections : ");
scanf("%d",&report[1]);
printf("\nEnter number of clients and servers : ");
scanf("%d %d",&report[2],&report[3]);
if(screen[1]<3)
s_row=0;
else if(screen[1]>=3 && screen[1]<=7)
s_row=1;
else if(screen[1]>=8)
s_row=2;
if(report[1]==0 || report[1]==1)
r_row=0;
else if(report[1]==2 || report[1]==3)
r_row=1;
else if(report[1]>=4)
r_row=2;
if(screen[2]<2 && screen[3]<3)
col=0;
else if((screen[2]>=2 && screen[2]<=3) && (screen[3]>=3 && screen[3]<=5))
col=1;
else if(screen[2]>3 && screen[3]>5)
col=2;
s_CPLX=CPLX_table[s_row][col];
r_CPLX=CPLX_table[r_row][col];
OP=(screen[0]*weight_table[0][s_CPLX])+(report[0]*weight_table[1][r_CPLX]);
printf("\nObject Point = %d",OP);
printf("\nEnter Reuse % : ");
scanf("%d",&reuse);
NOP=(OP*(100-reuse))/100.0;
printf("\nNew Object Point (NOP) = %f",NOP);
printf("\nRate Programmer's Capability and Experience on Scale of 0-4 :\n");
printf("\n0 - Very Low\n1 - Low\n2 - Nominal\n3 - High\n4 - Very High\n\n");
scanf("%d",&rating);
printf("\nProductivity = %d",PROD[rating]);
effort=NOP/PROD[rating];
printf("\n\nEffort = NOP/Productivity");
printf("\nEffort = %f",effort);
getch();
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int no_of_screens,no_of_reports;
int screen[4],report[4];
int CPLX_table[3][3]={
{0,0,1}, //0-Small
{0,1,2}, //1-Medium
{1,2,2} //2-Difficult
};
int weight_table[3][3]={
{1,2,3},
{2,5,8},
{-1,-1,10}
};
int col,r_row,s_row,s_CPLX,r_CPLX;
int rating,OP,reuse;
float NOP,effort;
int PROD[5]={4,7,13,25,50};
clrscr();
printf("\nEnter number of Screens : ");
scanf("%d",&screen[0]);
printf("\nEnter number of Screen Views : ");
scanf("%d",&screen[1]);
printf("\nEnter number of clients and servers : ");
scanf("%d %d",&screen[2],&screen[3]);
printf("\nEnter number of Reports : ");
scanf("%d",&report[0]);
printf("\nEnter number of Report Sections : ");
scanf("%d",&report[1]);
printf("\nEnter number of clients and servers : ");
scanf("%d %d",&report[2],&report[3]);
if(screen[1]<3)
s_row=0;
else if(screen[1]>=3 && screen[1]<=7)
s_row=1;
else if(screen[1]>=8)
s_row=2;
if(report[1]==0 || report[1]==1)
r_row=0;
else if(report[1]==2 || report[1]==3)
r_row=1;
else if(report[1]>=4)
r_row=2;
if(screen[2]<2 && screen[3]<3)
col=0;
else if((screen[2]>=2 && screen[2]<=3) && (screen[3]>=3 && screen[3]<=5))
col=1;
else if(screen[2]>3 && screen[3]>5)
col=2;
s_CPLX=CPLX_table[s_row][col];
r_CPLX=CPLX_table[r_row][col];
OP=(screen[0]*weight_table[0][s_CPLX])+(report[0]*weight_table[1][r_CPLX]);
printf("\nObject Point = %d",OP);
printf("\nEnter Reuse % : ");
scanf("%d",&reuse);
NOP=(OP*(100-reuse))/100.0;
printf("\nNew Object Point (NOP) = %f",NOP);
printf("\nRate Programmer's Capability and Experience on Scale of 0-4 :\n");
printf("\n0 - Very Low\n1 - Low\n2 - Nominal\n3 - High\n4 - Very High\n\n");
scanf("%d",&rating);
printf("\nProductivity = %d",PROD[rating]);
effort=NOP/PROD[rating];
printf("\n\nEffort = NOP/Productivity");
printf("\nEffort = %f",effort);
getch();
}
No comments:
Post a Comment