/* Program Title : Diabetes Detection Programmer : Navi Arora E-Mail : naviarora@ymail.com Website : http://cbse-sample-papers.blogspot.com There is some personal infomation in the introduction and end. Please remove them before use. */ #include #include #include #include #include #include #include class diabetes { private: char name[40]; float age; int wt; float ht; char sex; char *s; public: void welcome_screen(void); void getvalue(void); void getlevel1_symptoms(void); void getlevel2_symptoms(void); void getlevel3_symptoms(void); int analyse_symptoms(int); char display_message(int,int); }; void main() { char ch,choice,cho; //int m,n=2; float m; int n=1; void diagnosis(void); diabetes dts; dts.welcome_screen(); dts.getvalue(); diagnosis(); dts.getlevel1_symptoms(); m=dts.analyse_symptoms(n); choice=dts.display_message(m,n); choice=toupper(choice); if(choice=='Y') { ++n; dts.getlevel2_symptoms(); m=dts.analyse_symptoms(n); choice=dts.display_message(n,m); choice=toupper(choice); if(choice=='Y') { ++n; dts.getlevel3_symptoms(); m=dts.analyse_symptoms(n); cho=dts.display_message(n,m); cho=toupper(cho); if(cho=='Y') { ++n; dts.getlevel3_symptoms(); m=dts.analyse_symptoms(n); choice=dts.display_message(m,n); } } } } void diabetes::welcome_screen() { clrscr(); gotoxy(23,7); textcolor(YELLOW); cputs("********* W E L C O M E ********* " ); gotoxy(25,9); cputs(" C A M P I O N S C H O O L " ); gotoxy(18,12); cputs(" M E D I C A L D I A G N O S I S S O F T W A R E "); textcolor(GREEN+BLINK); for(int x=50;x>=22;x--) { sound(2000); delay(120); nosound(); gotoxy(x,14); cputs("D O N E B Y : "); gotoxy(x,16); cputs("Navi Arora "); gotoxy(43,18); } gotoxy(17,25); cputs("******** PRESS ANY KEY TO CONTINUE ********* "); getch(); return; } void diabetes::getvalue() { clrscr(); textcolor(WHITE); gotoxy(20,8); cputs(" P E R S O N A L I N F O R M A T I O N"); gotoxy(25,10); cputs("N A M E :"); gotoxy(25,12); cputs("A G E :"); gotoxy(25,14); cputs("W E I G H T :"); gotoxy(25,16); cputs("H E I G H T :"); gotoxy(25,18); cputs("S E X (M/F) :"); textcolor(WHITE); gotoxy(42,10); gets(name); gotoxy(42,12); cin>>age; gotoxy(42,14); cin>>wt; gotoxy(42,16); cin>>ht; gotoxy(42,18); cin>>sex; getch(); return; } void diagnosis(void) { clrscr(); textcolor(WHITE); gotoxy(20,5); cputs(" ** D I A G N O S I S W I N D O W ** "); cout<<"\n\n\n"; cputs(" Let's have alook at symptoms........."); cout<<"\n\n\n"; cputs(" Please enter the form in next page ."); cout<<"\n\n\n\n\n\n\t\t\t "; textcolor(YELLOW); cputs("***** PRESS ANY KEY ***** "); getch(); } void diabetes::getlevel1_symptoms(void) { clrscr(); int i=0; gotoxy(23,3); textcolor(WHITE); cputs( " *** MEDICAL DIAGONOSIS FORM *** "); gotoxy( 3,6); cputs("APPETITE (H(HIGH),/L(LOW),/N(NORMAL):") ; gotoxy(64,6); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,8); cputs("FREQUENCY OF THIRST(H(HIGH),/L(LOW)/N(NORMAL):"); gotoxy(64,8); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,10); cputs("FREQUENCY OF URINATION(H(HIGH),/L(LOW),/N(NORMAL):"); gotoxy(64,10); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,12); cputs("VISION (I(IMPAIRMENT),/N(NORMAL)"); gotoxy(64,12); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,14); cputs("URINE SUGAR(P(PASSIVE)/A(ACTIVE);"); gotoxy(64,14); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,16); cputs("KETONUREA(P(PASSIVE)/A(ACTIVE)"); gotoxy(64,16); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,18); cputs("FASTING BLOOD SUGAR(H(HIGH)/L(LOW)/N(NOMAL)"); gotoxy(64,18); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,20); cputs("R B S (H(HIGH)/L(LOW)/N(NORMAL)"); gotoxy(64,20); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,22); cputs("FAMILY HISTORY OF DIABETES(P(PASSIVE)/A(ACTIVE)"); gotoxy(64,22); cin>>s[i]; s[i]=toupper(s[i]); ++i; gotoxy(3,24); cputs("OGTT(D/N)"); gotoxy(64,24); cin>>s[i]; s[i]=toupper(s[i]); ++i; } int diabetes::analyse_symptoms(int n) { int i=0; int count=0; int result=0; switch(n) { case 1: if(s[9]=='D' ) result=-1; else if(s[5]=='P'&& s[6]=='P' && s[7]=='H') result=-1; else { for(i=0;i<10;i++) { if(s[i]=='H'||s[i]=='P'||s[i]=='D'||s[i]=='I') count++; } if(count>5) result=-1; } break; case 2: if((s[0]=='P')||(s[1]=='P')||(s[2]=='P')||(s[3]=='H')||(s[4]=='P')||(s[5]=='P')||(s[6]=='P')) result=-1; else result=0; break; case 3: if((s[0]=='Y')&&(s[1]=='N')&&(s[2]=='W')&&(s[3]=='P')&&(s[4]=='P')|| (s[0]=='Y')&&(s[1]=='B')&&(s[2]=='W')&&(s[3]=='P')&&(s[4]=='P')|| (s[0]=='Y')&&(s[1]=='N')&&(s[2]=='M')&&(s[3]=='P')&&(s[4]=='P')|| (s[0]=='Y')&&(s[1]=='N')&&(s[2]=='Y')&&(s[3]=='P')&&(s[4]=='P')) result=0; else result=-1; break; default:break; } return(result); } char diabetes::display_message(int n,int m) { char ch; clrscr(); switch(n) { case 1: switch(m); { case 0: gotoxy(30,12); cputs("THE PERSON IS NOT DIABETIC"); gotoxy(50,20); cputs("PRESS ANY KEY TO QUIT." ); // gotoxy(70,20); //cin>>ch; //break; exit(0); case -1: gotoxy(30,20); cputs("THE PERSON IS DIABETIC "); gotoxy(54,20); cputs("PROCEED (Y/N) ?"); gotoxy(70,20); cin>>ch; break; // default: break; } break; case 2: switch(m) { case 0: gotoxy(30,12); cputs("IT IS PRIMARY DIABETES."); gotoxy(50,25); cputs("Proceed(Y/N)?"); gotoxy(70,25); cin>>ch; break; case -1: gotoxy(30,12); cputs("IT IS SECONDARY DIABETES"); gotoxy(50,25); cputs("PRESS ANY KEY TO QUIT"); getch(); break; } break; case 3:switch(m) { case 0: gotoxy(30,12); cputs(" IT IS INSULIN DEPENDENT DIABETES"); gotoxy(50,25); cputs("press any key to quit"); getch(); break; case -1: gotoxy(30,12); cputs("IT IS NON INSULIN DEPENDENT DIABETES"); gotoxy(50,25); cputs("PRESS ANY KEY TO QUIT ."); getch(); break; // default: break; } // break ; // default : break; } return (ch); } void diabetes::getlevel2_symptoms() { clrscr(); int j=0; gotoxy(20,8); cputs("PANCREATITIS(P/A) :"); gotoxy(60,8); cin>>s[j]; s[j]=toupper(s[j]); j++; gotoxy(20,10); cputs("CARCINOMA(P/A) :"); gotoxy(60,10); cin>>s[j]; s[j]=toupper(s[j]); ++j; gotoxy(20,12); cputs("CIRHHOSIS(P/A) :"); gotoxy(60,12); cin>>s[j]; s[j]=toupper(s[j]); ++j; gotoxy(20,14); cputs(" HCTS (H/L/N) :"); gotoxy(60,14); cin>>s[j]; s[j]=toupper(s[j]); ++j; gotoxy(20,16); cputs("HEPATITIS(P/A) :"); gotoxy(60,16); cin>>s[j]; s[j]=toupper(s[j]); ++j; gotoxy(20,18); cputs(" HORMONAL DISORDER(P/A):"); gotoxy(60,18); cin>>s[j]; s[j]=toupper(s[j]); ++j; gotoxy(20,20); cputs(" PANCREATECTOMY(P/A) :"); gotoxy(60,20); cin>>s[j]; s[j]=toupper(s[j]); ++j; return; } void diabetes::getlevel3_symptoms() { int k=0; clrscr(); gotoxy(10,8); cputs(" AGE(young(Y)/Middle aged(M)/Elderly(E))"); gotoxy(73,8); cin>>s[k]; s[k]= toupper (s[k]); ++k; gotoxy(10,12); cputs("BODY WEIGHT(normal(N)/Above normal(A)/Below normal(B)/obese)"); gotoxy(73,12); cin>>s[k]; s[k]= toupper(s[k]); ++k; gotoxy(10,16); cputs(" DURATION (weeks(W)/Months(M)/Years(Y))"); gotoxy(73,16); cin>>s[k]; s[k]= toupper(s[k]); ++k; gotoxy(10,20); cputs("KETONUREA(P/A)"); gotoxy(73,20); cin>>s[k]; s[k]= toupper(s[k]); ++k; gotoxy(10,24); cputs("AUTO ANTIBODIES(P/A)"); gotoxy(73,24); cin>>s[k]; s[k]= toupper(s[k]); ++k; return; }