In this C Project source code series we are going to create a project about Medical Storage Management system. Medical Store Management is a c console-based project which doesn't use graphics. You are allowed to perform various operations like insert, delete and modify the details that are added in the stock (records of medicine, supplier, and customers) in this project.
The source code is a bit lengthy for this project, it is compiled in Code:: Block IDE using GCC compiler. The extensive storage of data is performed by the file handling method. Organizing and storage of data are done with Data structure.
This MSMS consist of below modules
Welcome Menu code will be like below
void welcome() { int j,k,l,m; system("cls"); for(m=0;m<16;m++) { //textcolor(m); wbox(); for(i=0;i<16;i++) { //textcolor(i); gotoxy(35,20); printf("WELCOME"); k=i+2; //textcolor(k); gotoxy(38,22); printf("TO"); l=i+3; //textcolor(l); gotoxy(28,24); printf("MEDICAL"); //textcolor(l); gotoxy(36,24); printf("STORE"); //textcolor(l); gotoxy(42,24); printf("SYSTEM"); gotoxy(52,45); j=i+1; //textcolor(j); printf("Loading......"); Sleep(40); } } } |
Main Menu Module
void main_menu() { char ch; do { //window(1,1,80,50); //textbackground(BLACK); system("cls"); //textcolor(4+BLINK); gotoxy(3,5); printf("S"); //textcolor(WHITE); gotoxy(4,5); printf("upplier Info"); //textcolor(4+BLINK); gotoxy(19,5); printf("C"); //textcolor(15); gotoxy(20,5); printf("ustomer Info"); //textcolor(4+BLINK); gotoxy(36,5); printf("M"); //textcolor(15); gotoxy(37,5); printf("edicine"); //textcolor(4+BLINK); gotoxy(48,5); printf("R"); //textcolor(15); gotoxy(49,5); printf("Report"); //textcolor(4+BLINK); gotoxy(57,5); printf("B"); //textcolor(15); gotoxy(58,5); printf("ill"); //textcolor(4+BLINK); gotoxy(64,5); printf("A"); //textcolor(15); gotoxy(65,5); printf("bout"); //textcolor(4+BLINK); gotoxy(72,5); printf("E"); //textcolor(15); gotoxy(73,5); printf("xit"); t(); //this function display date & time box1(); main_box(); gotoxy(30,10); //textcolor(GREEN); printf("Welcome To Medical Store "); gotoxy(2,28); //textcolor(15); remainder();//this function is active when medicine qty is less then 10. gotoxy(10,40); //textcolor(RED+BLINK); printf("Press "); gotoxy(16,40); //textcolor(15); printf("First Character for further Menu "); ch=toupper(getche()); switch(ch) { case 'S':supplier(); break; case 'C':customer(); break; case 'M':medicine(); break; case 'R':report_menu(); break; case 'B':bill(); break; case 'A':about(); break; case 'E':gotoxy(23,20); //textcolor(4); printf("Do you want to exit now? Y/N :"); Sleep(100); ch=(getche()); ch=toupper(ch); if(ch=='Y') { animation(); system("cls"); //textcolor(2); gotoxy(35,20); printf(" Please wait....."); Sleep(2000); exit(0); } else { main_menu(); } default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (S,C,M,R,B,A)."); getch(); } }while(ch!='E'); } |
Complete source code for Medical Storage Management System
#include #include #include #include #include #include #include #include COORD coord = {0, 0}; void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int i; //function for auto increment customer & supplier Id. int getcust_id(); int getsupp_id(); //function for welcome & main menu void welcome(); void main_menu(); //function for all box void main_box(); void box1(); void wbox(); //function for bill slip void bill(); //function for about menu void about(); //function for medicine menu void medicine(); void medi_sale(); void stock(); void update_stock(); void medi_entry(); void medi_search(); void remainder(); //function for supplier menu void supplier(); void supp_entry(); void supp_list(); void sup_update(); void search(); void search_id(); void search_name(); //function for customer menu void customer(); void cust_search(); void search_cid(); void search_cname(); void cust_entry(); void cust_list(); void cust_update(); //function for report menu void report_menu(); void report(); void sale_rpt(); void sale_rpt_daily(); void profit_rpt(); void pur_rpt(); void pur_rpt_daily(); //===================================structures ========================= struct medical { char id[6]; char medi_name[20]; int rack; char cabnit[2]; int quantity; float sale; float total; float unit; float cost; float profit; float bye; int qty; char pur_date[15]; char exp_date[15]; char manu_date[15]; int bill_no; char comp_name[20]; char supp_name[30]; }; struct medical temp; struct medical x[20]; FILE *ptr; char a[10]; struct supplier { int supp_id; char supp_name[25]; char city[20]; char mob_no[11]; char email[30]; }; struct supplier temp1; struct customer { int cust_id; char cust_name[30]; char city[20]; char mob_no[11]; char email[50]; }; struct customer temp_c; FILE *ptr1; struct bill { char billno[6]; char cname[30]; char mediname[30]; int medi_qty; float medi_rate; float total; int day; int month; int year; }; struct bill bil; FILE *ptrbill; struct sales_report { char medi_id[6]; char medir_name[20]; char cust_name[30]; int sDay,sMonth,sYear; int qty; float rate; float total; }; struct sales_report s_r; FILE *ptrs_r; struct purchase_report { char medi_id[6]; char medir_name[20]; char supp_name[30]; int sDay,sMonth,sYear; int qty; float rate; float total; }; struct purchase_report p_r; FILE *ptrp_r; struct profit_report { char medi_id[6]; char medir_name[20]; int sDay,sMonth,sYear; int qty; float rate; float unit; float profit; }; struct profit_report pr_r; FILE *ptrpr_r; void linkfloat() { float f,*p; p=&f; f=*p; } //=========================Time & Date ==================== int t(void) { //struct date d; //struct time t; time_t t = time(0); // get time now struct tm * now = localtime( & t ); //getdate(&d); //gettime(&t); gotoxy(55,46); printf("Date: %d-%d-%d ",now->tm_mday,now->tm_mon,now->tm_year); gotoxy(55,48); printf("Time: %d:%d:%d",now->tm_hour, now->tm_min,now->tm_sec); return 0; } //=======================Animation ========================== void animation() { for (i=45; i>=1; i--) { Sleep(30); gotoxy(1,i); //clreol(); } for (i=1; i<=20; i++) { //clreol(); Sleep(40); gotoxy(1,i); } } //=========================== validation ========================= void ventry(char t[],int code) { int i=0; if(code==0) { while((t[i]=getch())!='\r' && i<30) if((t[i]>=97 && t[i]<=122) || (t[i]>=65 && t[i]<=90) || t[i]==32 || t[i]=='_') { printf("%c",t[i]); i++; } else if(t[i]==8 && i>0) { printf("%c%c%c",8,32,8); i--; //Length counter is decremented. } } else if(code==1) { while((t[i]=getch())!='\r' && i<10 ) if((t[i]>=48 && t[i]<=57) || t[i]==46 || t[i]=='-') { printf("%c",t[i]); i++; } else if(t[i]==8 && i>0) { printf("%c%c%c",8,32,8); i--; //Length counter is decremented. } } else if(code==2) { while((t[i]=getch())!='\r' && i<30 ) if((t[i]>=97 && t[i]<=122) || (t[i]>=65 && t[i]<=90) ||(t[i]>=48 && t[i]<=57) || t[i]==32 || t[i]==8 ||t[i]=='@'||t[i]=='.') { printf("%c",t[i]); i++; } else if(t[i]==8 && i>0) { printf("%c%c%c",8,32,8); i--; //Length counter is decremented. } } t[i]='\0'; } //============================================================================ void box() { for(i=3;i<=79;i++) //This 'FOR' loop will print a combination of { gotoxy(i,3); //the 79th column is reached. printf("%c",219); gotoxy(78,45); printf("%c",219); gotoxy(i,45); printf("%c",219); } for(i=3;i<=45;i++) //This 'FOR' loop will print asterisks 'I' { //vertically till the 3th row is reached. gotoxy(3,i); printf("%c",219); gotoxy(79,i); printf("%c",219); } } void wbox() { for(i=5;i<=75;i++) //This 'FOR' loop will print a combination of { gotoxy(i,5); //the 75th column is reached. printf("%c",219); gotoxy(74,40); printf("%c",219); gotoxy(i,40); printf("%c",219); } for(i=5;i<=40;i++) //This 'FOR' loop will print asteriks 'I' { //vertically till the 17th row is reached. gotoxy(5,i); printf("%c",219); gotoxy(75,i); printf("%c",219); } } //=========================getsupp_id ======================= int getsupp_id() { FILE *fp; fp=fopen("supplier.dat","r"); if(fp==NULL) { gotoxy(22,15); printf("Data not Found....."); getch(); } else { temp1.supp_id=100; rewind(fp); while(fscanf(fp,"%d %s %s %s %s",&temp1.supp_id,temp1.supp_name,temp1.city, temp1.mob_no,temp1.email)!=EOF) { } } fclose(fp); return temp1.supp_id+1; } //=========================getcust_id ======================= int getcust_id() { FILE *fp; fp=fopen("customer.dat","r"); if(fp==NULL) { gotoxy(22,15); printf("Data not Found....."); getch(); } else { temp_c.cust_id=100; rewind(fp); while(fscanf(fp,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { } } fclose(fp); return temp_c.cust_id+1; } //=========================welcome screen ============== void welcome() { int j,k,l,m; system("cls"); for(m=0;m<16;m++) { //textcolor(m); wbox(); for(i=0;i<16;i++) { //textcolor(i); gotoxy(35,20); printf("WELCOME"); k=i+2; //textcolor(k); gotoxy(38,22); printf("TO"); l=i+3; //textcolor(l); gotoxy(28,24); printf("MEDICAL"); //textcolor(l); gotoxy(36,24); printf("STORE"); //textcolor(l); gotoxy(42,24); printf("SYSTEM"); gotoxy(52,45); j=i+1; //textcolor(j); printf("Loading......"); Sleep(40); } } } //============================ box for label ========== void lbox() { gotoxy(25,6); printf("%c",201); for(i=26;i<55;i++) { gotoxy(i,6); printf("%c",205); } gotoxy(55,6); printf("%c",187); gotoxy(25,6); for(i=6;i<8;i++) { gotoxy(25,i+1); printf("%c",186); } gotoxy(25,9); printf("%c",200); for(i=26;i<55;i++) { gotoxy(i,9); printf("%c",205); } gotoxy(55,9); printf("%c",188); gotoxy(55,6); for(i=6;i<8;i++) { gotoxy(55,i+1); printf("%c",186); } } //============================small box =============== void box1() { gotoxy(1,3); printf("%c",201); for(i=1;i<79;i++) { gotoxy(1+i,3); printf("%c",205); } gotoxy(80,3); printf("%c",187); gotoxy(1,3); for(i=4;i<10;i++) { gotoxy(1,i); printf("%c",186); } gotoxy(1,9); for(i=4;i<8;i++) { gotoxy(80,i); printf("%c",186); } } //===========================main =================== int main() { char name[15]; char pass[15]; int count=0,i; system("cls"); /*start: //textcolor(5); wbox(); lbox(); //textcolor(GREEN); gotoxy(35,8); printf(" LOGIN "); //textcolor(RED); gotoxy(32,18); printf("Enter user name :"); gotoxy(32,22); printf("Enter password :"); gotoxy(51,18); strcpy(gets(name),name); gotoxy(51,22); i=0; do { pass[i] = getch(); if(pass[i] == 13 ) { break; } else if(pass[i]==8 && i>0) { printf("%c%c%c",8,32,8); i--; } else { printf("*"); i++; } }while(pass[i]!=13); pass[i] = '\0'; if(strcmp(name,"rana") || strcmp(pass,"singh")) { system("cls"); gotoxy(20,20); printf("Please Enter vailid Username & Passward!!!!!"); count++; gotoxy(20,23); printf("%d chance left!!!!",3-count); getch(); system("cls"); if(count==3) exit(0); else goto start; } else {*/ //welcome(); main_menu(); //} } void main_box() { gotoxy(1,6); printf("%c",201); for(i=1;i<79;i++) { gotoxy(1+i,6); printf("%c",205); } gotoxy(80,6); printf("%c",187); gotoxy(1,6); for(i=5;i<35;i++) { gotoxy(1,2+i); printf("%c",186); } gotoxy(1,37); printf("%c",200); for(i=1;i<79;i++) { gotoxy(1+i,37); printf("%c",205); } gotoxy(80,37); printf("%c",188); gotoxy(80,6); for(i=5;i<35;i++) { gotoxy(80,2+i); printf("%c",186); } } void main_menu() { char ch; do { //window(1,1,80,50); //textbackground(BLACK); system("cls"); //textcolor(4+BLINK); gotoxy(3,5); printf("S"); //textcolor(WHITE); gotoxy(4,5); printf("upplier Info"); //textcolor(4+BLINK); gotoxy(19,5); printf("C"); //textcolor(15); gotoxy(20,5); printf("ustomer Info"); //textcolor(4+BLINK); gotoxy(36,5); printf("M"); //textcolor(15); gotoxy(37,5); printf("edicine"); //textcolor(4+BLINK); gotoxy(48,5); printf("R"); //textcolor(15); gotoxy(49,5); printf("Report"); //textcolor(4+BLINK); gotoxy(57,5); printf("B"); //textcolor(15); gotoxy(58,5); printf("ill"); //textcolor(4+BLINK); gotoxy(64,5); printf("A"); //textcolor(15); gotoxy(65,5); printf("bout"); //textcolor(4+BLINK); gotoxy(72,5); printf("E"); //textcolor(15); gotoxy(73,5); printf("xit"); t(); //this function display date & time box1(); main_box(); gotoxy(30,10); //textcolor(GREEN); printf("Welcome To Medical Store "); gotoxy(2,28); //textcolor(15); remainder();//this function is active when medicine qty is less then 10. gotoxy(10,40); //textcolor(RED+BLINK); printf("Press "); gotoxy(16,40); //textcolor(15); printf("First Character for further Menu "); ch=toupper(getche()); switch(ch) { case 'S':supplier(); break; case 'C':customer(); break; case 'M':medicine(); break; case 'R':report_menu(); break; case 'B':bill(); break; case 'A':about(); break; case 'E':gotoxy(23,20); //textcolor(4); printf("Do you want to exit now? Y/N :"); Sleep(100); ch=(getche()); ch=toupper(ch); if(ch=='Y') { animation(); system("cls"); //textcolor(2); gotoxy(35,20); printf(" Please wait....."); Sleep(2000); exit(0); } else { main_menu(); } default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (S,C,M,R,B,A)."); getch(); } }while(ch!='E'); } //=========================For supplier =========================== void supplier() { char ch; do { system("cls"); gotoxy(34,3); //textcolor(GREEN); printf("----------------"); gotoxy(35,4); //textcolor(GREEN); printf("Supplier MENU"); gotoxy(34,5); //textcolor(GREEN); printf("----------------"); gotoxy(25,11); //textcolor(4+BLINK); printf("A"); gotoxy(26,11); //textcolor(15); printf("dd New Supplier"); gotoxy(25,15); //textcolor(4+BLINK); printf("U"); gotoxy(26,15); //textcolor(15); printf("pdate Supplier"); gotoxy(25,19); //textcolor(4+BLINK); printf("S"); gotoxy(26,19); //textcolor(15); printf("earch Supplier"); gotoxy(25,23); //textcolor(4+BLINK); printf("L"); gotoxy(26,23); //textcolor(15); printf("ist of Existing Supplier"); gotoxy(25,27); //textcolor(4+BLINK); printf("M"); gotoxy(26,27); //textcolor(15); printf("ain Menu"); main_box(); gotoxy(10,40); //textcolor(15); printf("Press First Character for further Operation "); ch=toupper(getche()); switch(ch) { case 'A':animation(); supp_entry(); break; case 'U':animation(); sup_update(); break; case 'L':animation(); supp_list(); break; case 'S':search(); break; case 'M':main_menu(); break; default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (A,L,U,S,M)."); getch(); } }while(ch!='M'); } //=========================For customer =========================== void customer() { char ch; do { system("cls"); gotoxy(34,3); //textcolor(GREEN); printf("---------------"); gotoxy(35,4); printf("Customer Menu."); gotoxy(34,5); printf("---------------"); gotoxy(25,11); //textcolor(4+BLINK); printf("A"); gotoxy(26,11); //textcolor(15); printf("dd New Customer"); gotoxy(25,15); //textcolor(4+BLINK); printf("U"); gotoxy(26,15); //textcolor(15); printf("pdate Customer"); gotoxy(25,19); //textcolor(4+BLINK); printf("S"); gotoxy(26,19); //textcolor(15); printf("earch Customer"); gotoxy(25,23); //textcolor(4+BLINK); printf("L"); gotoxy(26,23); //textcolor(15); printf("ist of Existing Customer"); gotoxy(25,27); //textcolor(4+BLINK); printf("M"); gotoxy(26,27); //textcolor(15); printf("ain Menu"); main_box(); gotoxy(10,40); //textcolor(15); printf("Press First Character for further Operations "); ch=toupper(getche()); switch(ch) { case 'A':animation(); cust_entry(); break; case 'U':animation(); cust_update(); break; case 'L':animation(); cust_list(); break; case 'S':cust_search(); break; case 'M':main_menu(); break; default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (A,L,U,S,M)."); getch(); } }while(ch!='M'); } //=========================For Medicine =========================== void medicine() { char ch; do { system("cls"); gotoxy(34,3); //textcolor(GREEN); printf("---------------"); gotoxy(35,4); printf("Medicine Menu."); gotoxy(34,5); printf("---------------"); gotoxy(25,15); //textcolor(4+BLINK); printf("P"); gotoxy(26,15); //textcolor(15); printf("urchase New Medicine"); gotoxy(25,19); //textcolor(4+BLINK); printf("S"); gotoxy(26,19); //textcolor(15); printf("ale Medicine"); gotoxy(25,23); //textcolor(15); printf("Sto"); gotoxy(28,23); //textcolor(4+BLINK); printf("c"); gotoxy(29,23); //textcolor(15); printf("k of Medicine"); gotoxy(25,27); //textcolor(15); printf("Se"); gotoxy(27,27); //textcolor(4+BLINK); printf("a"); gotoxy(28,27); //textcolor(15); printf("rch Medicine"); gotoxy(25,31); //textcolor(4+BLINK); printf("M"); gotoxy(26,31); //textcolor(15); printf("ain Menu"); main_box(); gotoxy(10,40); //textcolor(15); printf("Press First Character for further Operations "); ch=toupper(getche()); switch(ch) { case 'P':medi_entry(); break; case 'S':medi_sale(); break; case 'C':stock(); break; case 'A':medi_search(); break; case 'M':main_menu(); break; default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (P,S,C,M)."); getch(); } }while(ch!='M'); } //=========================For Report =========================== void report_menu() { char ch; do { system("cls"); gotoxy(34,3); //textcolor(GREEN); printf("---------------"); gotoxy(35,4); printf("Report Menu."); gotoxy(34,5); printf("---------------"); gotoxy(25,12); //textcolor(4+BLINK); printf("P"); gotoxy(26,12); //textcolor(15); printf("urchase Report"); gotoxy(25,16); //textcolor(4+BLINK); printf("S"); gotoxy(26,16); //textcolor(15); printf("ale Report"); gotoxy(25,20); //textcolor(15); printf("Pr"); gotoxy(27,20); //textcolor(4+BLINK); printf("o"); gotoxy(28,20); //textcolor(15); printf("fit Report"); gotoxy(25,24); //textcolor(15); printf("D"); gotoxy(26,24); //textcolor(4+BLINK); printf("a"); gotoxy(27,24); //textcolor(15); printf("ily Sale Report"); gotoxy(25,28); //textcolor(4+BLINK); printf("D"); gotoxy(26,28); //textcolor(15); printf("aily Purchase Report"); gotoxy(25,32); //textcolor(4+BLINK); printf("M"); gotoxy(26,32); //textcolor(15); printf("ain Menu"); main_box(); gotoxy(10,40); //textcolor(15); printf("Press First Character for further Operations "); ch=toupper(getche()); switch(ch) { case 'P':pur_rpt(); break; case 'S':sale_rpt(); break; case 'A':sale_rpt_daily(); break; case 'O':profit_rpt(); break; case 'D':pur_rpt_daily(); break; case 'M':main_menu(); break; default://textcolor(4+BLINK); gotoxy(11,34); printf("Plese Enter right character ONLY (P,S,O,M)."); getch(); } }while(ch!='M'); } void about() { int c; system("cls"); do { // window(1,1,80,50); //textcolor(LIGHTGRAY); gotoxy(28,4); //textcolor(RED+BLINK); printf("***** MEDICAL STORE *****"); gotoxy(10,8); printf("=> This Project Is About Medical Store "); gotoxy(10,10); printf("=> In This Project we Can Add Medicine ,Customer,Supplier Details"); gotoxy(10,12); printf("=> We Can Modifed & Delete Existing Record"); gotoxy(10,14); printf("=> We Can Also Search Medicine ,Customer,Supplier Details"); gotoxy(10,16); printf("=> It's Helpfull For Display Stock Of Medicine "); printf("<<<<-Press 1 for main menu->>>>"); c = (getche()); switch (c) //This 'SWITCH' structure will ask the user for input from [1] to [7] and will display error on Invalid Entry. { case '1':animation(); main_menu(); gotoxy(26,24); puts("<<--ENTER FROM 1 PLEASE-->>"); //This message will only print on INVALID ENTRY and Will ask again for input. getch(); } }while(c != '1'); } //======================Remainder for medicine stock =============== void remainder() { ptr1=fopen("medical.dat","r"); if(ptr1==NULL) { // printf("\n\t Can not open File! "); } while((fread(&temp,sizeof(temp),1,ptr1))==1) { if(temp.quantity<10) { gotoxy(10,45); //textcolor(RED); printf("%s : ",temp.medi_name); printf("Quantity of this medicine is less then 10"); } } } //========================for bill ============================= void bill() { //struct date d; time_t td = time(0); // get time now struct tm * now = localtime( & td ); FILE *ptrbill; char id[6]; int j=1,d1,m,y,k; float netamt=0.0; //getdate(&d); d1=now->tm_mday; m=now->tm_mon; y=now->tm_year; system("cls"); ptrbill=fopen("dbbill.dat","r"); gotoxy(13,4); printf("Enter bill no : "); scanf("%s",&id); system("cls"); gotoxy(25,3); ////textcolor(YELLOW+BLINK); // printf("***** CareWell Medico *****"); box(); gotoxy(7,7); printf("Bill No: "); printf(" %s",id); gotoxy(7,9); printf("Customer Name: "); gotoxy(50,7); printf("Date : "); printf("%d-%d-%d",d1,m,y); gotoxy(7,12); printf("Sr.No Medicine Name Qty Rate Total "); gotoxy(6,14); printf("---------------------------------------------------------------------"); i=15; while(fscanf(ptrbill,"%s %s %s %d %f %f %d %d %d",bil.billno,bil.cname,bil.mediname,&bil.medi_qty,&bil.medi_rate,&bil.total,&bil.day,&bil.month,&bil.year)!=EOF) { do { if(strcmp(id,bil.billno)==0) { gotoxy(7,i); printf(" %d",j); gotoxy(14,i); printf(" %s",bil.mediname); gotoxy(22,9); printf(" %s",bil.cname); gotoxy(35,i); printf(" %d",bil.medi_qty); gotoxy(47,i); printf(" %.2f",bil.medi_rate); gotoxy(60,i); printf(" %.2f",bil.total); netamt=netamt+bil.total; i++; j++; gotoxy(35,32); printf(" "); gotoxy(20,50); //textcolor(YELLOW+BLINK); printf("Press Any key to go to MENU ..........."); // break; } }while(feof(ptrbill)); } gotoxy(6,35); printf("---------------------------------------------------------------------"); gotoxy(50,37); printf("Net Amount : "); printf("%.2f",netamt); fclose(ptrbill); getch(); } //========FOR SUPPLIERS ENTRY================= void supp_entry() { int id; char ch; FILE *fp; system("cls"); fp=fopen("supplier.dat","a"); if(fp==NULL) { printf("\n Can not open file!!"); exit(0); } system("cls"); ch='y'; while(ch=='y') { system("cls"); //textcolor(14); t(); box(); lbox(); gotoxy(30,8); printf(" SUPPLIER ENTRY "); gotoxy(8,13); // //flushall(); temp1.supp_id=getsupp_id(); printf("SUPPLIER ID : %d ",temp1.supp_id); //ventry(temp1.supp_id,1); //flushall(); gotoxy(39,13); printf("SUPPLIER NAME : "); gotoxy(8,18); printf("CITY : "); gotoxy(39,18); printf("CONTACT NO. : "); gotoxy(8,23); printf("EMAIL ID : "); gotoxy(55,13); //flushall(); ventry(temp1.supp_name,0); gotoxy(22,18); ventry(temp1.city,0); //flushall(); gotoxy(55,18); ventry(temp1.mob_no,1); //flushall(); gotoxy(22,23); gets(temp1.email); //flushall(); gotoxy(20,30); //textcolor(RED+BLINK); printf("S"); //textcolor(WHITE); gotoxy(21,30); printf("ave"); gotoxy(28,30); //textcolor(RED+BLINK); printf("C"); //textcolor(WHITE); gotoxy(29,30); printf("ancel"); gotoxy(18,36); printf("Press First charecter for the operation : "); ch=getch(); if(ch=='s' || ch=='S') { fprintf(fp,"%d %s %s %s %s\n\n",temp1.supp_id,temp1.supp_name,temp1.mob_no,temp1.city,temp1.email); fprintf(fp,"\n"); //flushall(); system("cls"); gotoxy(20,20); printf("Supplier Added successfully!!!!!"); //textcolor(10); gotoxy(20,25); printf("More entries [y/n]"); ch=getche(); } } fclose(fp); } //=========FOR SUPPLIER DISPLAY LIST ========== void supp_list() { char ch; int j; system("cls"); ptr1=fopen("supplier.dat","r"); if(ptr1==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); box(); t(); //textcolor(GREEN+BLINK); gotoxy(8,48); printf("Press Anykey to go to SUPPLIER MENU !!!"); //textcolor(GREEN); lbox(); gotoxy(30,8); printf(" SUPPLIER LIST "); //textcolor(WHITE); gotoxy(5,10); printf("ID. SUPPLIER NAME. PH.NO. CITY. EMAIL"); gotoxy(4,12); i=14; printf("================================================================="); while(fscanf(ptr1,"%d %s %s %s %s",&temp1.supp_id,temp1.supp_name,temp1.city,temp1.mob_no,temp1.email)!=EOF) { gotoxy(4,i); printf(" %d",temp1.supp_id); gotoxy(9,i); printf(" %s",temp1.supp_name); gotoxy(29,i); printf(" %s",temp1.city); gotoxy(41,i); printf(" %s",temp1.mob_no); gotoxy(54,i); printf(" %s",temp1.email); i=i+2; } getche(); } //======================search supplier================== void search() { int ch; do { system("cls"); //textcolor(WHITE); gotoxy(17,10); printf(" Two options Available for searching "); gotoxy(15,15); printf("Search by"); gotoxy(25,15); //textcolor(RED+BLINK); printf("I"); //textcolor(WHITE); gotoxy(26,15); printf("D number"); gotoxy(15,18); printf("Search by"); gotoxy(25,18); //textcolor(RED+BLINK); printf("N"); //textcolor(WHITE); gotoxy(26,18); printf("ame"); gotoxy(15,21); //textcolor(RED+BLINK); printf("R"); //textcolor(WHITE); gotoxy(16,21); printf("eturn"); main_box(); gotoxy(17,24); printf("Press First charecter for the operation : "); ch=toupper(getche()); switch(ch) { case 'I': animation(); search_id(); break; case 'N': animation(); search_name(); break; case 'R': animation(); supplier(); break; default: gotoxy(22,18); printf("You entered wrong choice!!!!!"); getch(); } }while(ch!='R'); } //=============================== Search by id ============================= void search_id() { int id; FILE *fp; fp=fopen("supplier.dat","r"); if(fp==NULL) { printf("file can't open!!!!"); } system("cls"); box(); gotoxy(13,8); printf("Enter id to be searched:"); scanf("%d",&id); gotoxy(20,35); //textcolor(YELLOW); printf("Press Any key to Return Back Menu ...."); gotoxy(12,14); printf("ID. SUPPLIER NAME. CITY. PH.NO. EMAIL"); gotoxy(12,16); i=18; printf("=============================================================="); while(fscanf(fp,"%d %s %s %s %s",&temp1.supp_id,temp1.supp_name,temp1.mob_no,temp1.city,temp1.email)!=EOF) { if(temp1.supp_id==id) { gotoxy(10,i); printf(" %d",temp1.supp_id); gotoxy(15,i); printf(" %s",temp1.supp_name); gotoxy(30,i); printf(" %s",temp1.city); gotoxy(40,i); printf(" %s",temp1.mob_no); gotoxy(53,i); printf(" %s",temp1.email); i++; break; } } if(temp1.supp_id!=id) { gotoxy(20,30); printf("Record not found!"); } fclose(fp); getche(); } //============================ Search by name ============================= void search_name() { char name[20]; FILE *fp; fp=fopen("supplier.dat","r"); if(fp==NULL) { printf("file can't open!!!!"); } system("cls"); box(); fp=fopen("supplier.dat","rb"); gotoxy(13,8); printf(" Enter Supplier Name to be searched : "); scanf("%s",&name); gotoxy(20,35); //textcolor(YELLOW); printf("Press Any key to Return Back Menu ...."); gotoxy(12,14); printf("ID. SUPPLIER NAME. CITY. PH.NO. EMAIL"); gotoxy(12,16); i=18; printf("=============================================================="); while(fscanf(fp,"%d %s %s %s %s",&temp1.supp_id,temp1.supp_name,temp1.mob_no, temp1.city,temp1.email)!=EOF) { if(strcmp(temp1.supp_name,name)==0) { gotoxy(11,i); printf(" %d",temp1.supp_id); gotoxy(15,i); printf(" %s",temp1.supp_name); gotoxy(30,i); printf(" %s",temp1.city); gotoxy(40,i); printf(" %s",temp1.mob_no); gotoxy(53,i); printf(" %s",temp1.email); i++; break; } } if(strcmp(temp1.supp_name,name)!=0) { gotoxy(20,30); //textcolor(YELLOW); printf("Record not found!!!"); } fclose(ptr1); getche(); } //============supp update================= void sup_update() { int i; char ch; int sid; FILE *ft; system("cls"); box(); ptr1=fopen("supplier.dat","rb+"); if(ptr1==NULL ) { printf("\n\t Can not open file!! "); exit(0); } lbox(); gotoxy(30,8); printf(" Modifying Supplier "); gotoxy(12,13); printf("Enter supplier ID : "); // //flushall(); scanf("%d",&sid); gotoxy(12,15); ft=fopen("temp.dat","w"); if(ft==NULL) { printf(" Can not open file"); exit(1); } else { while(fscanf(ptr1,"%d %s %s %s %s",&temp1.supp_id,temp1.supp_name,temp1.mob_no, temp1.city,temp1.email)!=EOF) { if(temp1.supp_id==sid) { gotoxy(18,17); printf(" Existing Record "); gotoxy(10,19); printf("%d\t %s \t%s \t%s \t%s",temp1.supp_id,temp1.supp_name,temp1.mob_no, temp1.city,temp1.email); gotoxy(12,22); printf("Enter New Name : "); //flushall(); ventry(temp1.supp_name,0); gotoxy(12,24); printf("Enter New mobile no : "); //flushall(); ventry(temp1.mob_no,1); gotoxy(12,26); printf("Enter New City : "); //flushall(); ventry(temp1.city,0); gotoxy(12,28); printf("Enter New email : "); //flushall(); ventry(temp1.email,2); gotoxy(20,32); //textcolor(RED+BLINK); printf("U"); gotoxy(21,32); //textcolor(WHITE); printf("pdate"); gotoxy(30,32); //textcolor(RED+BLINK); printf("C"); gotoxy(31,32); //textcolor(WHITE); printf("ancel"); gotoxy(18,36); printf("Press First charecter for the operation : "); ch=getch(); if(ch=='u' || ch=='U') { fprintf(ft,"%d %s %s %s %s\n",temp1.supp_id,temp1.supp_name,temp1.mob_no,temp1.city,temp1.email); //flushall(); gotoxy(20,38); printf("Supplier updated successfully..."); remove("supplier.dat"); rename("temp.dat","supplier.dat"); } } else { fprintf(ft,"%d %s %s %s %s\n",temp1.supp_id,temp1.supp_name,temp1.mob_no,temp1.city,temp1.email); fflush(stdin); } } fclose(ft); fclose(ptr1); } } //===============================END OF SUPPLIER FUNCTION=================== //========FOR CUSTOMER ENTRY================= void cust_entry() { char ch; int id; FILE *fp; system("cls"); fp=fopen("customer.dat","a"); if(fp==NULL) { printf("\n Can not open file!!"); exit(0); } system("cls"); ch='y'; while(ch=='y') { system("cls"); //textcolor(14); t(); box(); lbox(); gotoxy(30,8); printf(" CUSTOMER ENTRY "); gotoxy(8,13); //flushall(); temp_c.cust_id=getcust_id(); printf("CUSTOMER ID :%d",temp_c.cust_id); //ventry(temp_c.cust_id,1); //flushall(); gotoxy(39,13); printf("CUSTOMER NAME : "); gotoxy(8,18); printf("CITY : "); gotoxy(39,18); printf("CONTACT NO. : "); gotoxy(8,23); printf("EMAIL ID : "); gotoxy(55,13); //flushall(); ventry(temp_c.cust_name,0); gotoxy(22,18); ventry(temp_c.city,0); //flushall(); gotoxy(55,18); ventry(temp_c.mob_no,1); //flushall(); gotoxy(22,23); gets(temp_c.email); //flushall(); gotoxy(20,30); //textcolor(RED+BLINK); printf("S"); //textcolor(WHITE); gotoxy(21,30); printf("ave"); gotoxy(28,30); //textcolor(RED+BLINK); printf("C"); //textcolor(WHITE); gotoxy(29,30); printf("ancel"); gotoxy(18,36); printf("Press First charecter for the operation : "); ch=getch(); if(ch=='s' || ch=='S') { fprintf(fp,"%d %s %s %s %s\n",temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email); fprintf(fp,"\n"); fflush(stdin); system("cls"); gotoxy(20,20); printf("Customer Added Successfully!!!!!"); //textcolor(10); gotoxy(20,25); printf("More entries [y/n] "); ch=getche(); } } fclose(fp); } //=========FOR CUSTOMER DISPLAY LIST ========== void cust_list() { char ch; system("cls"); ptr1=fopen("customer.dat","r"); if(ptr1==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); box(); //textcolor(GREEN+BLINK); gotoxy(8,48); printf("Press Anykey to go to CUSTOMER MENU!!!"); //textcolor(GREEN); lbox(); gotoxy(30,8); printf(" CUSTOMER LIST "); //textcolor(WHITE); i=14; gotoxy(5,10); printf(" ID. CUSTOMER NAME. CITY. MOBILE.NO. EMAIL"); gotoxy(4,12); printf("=============================================================="); while(fscanf(ptr1,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { gotoxy(4,i); printf(" %d",temp_c.cust_id); gotoxy(11,i); printf(" %s",temp_c.cust_name); gotoxy(28,i); printf(" %s",temp_c.city); gotoxy(40,i); printf(" %s",temp_c.mob_no); gotoxy(53,i); printf(" %s",temp_c.email); i=i+2; } getche(); } //======================search CUSTOMER================== void cust_search() { int ch; do { system("cls"); //textcolor(WHITE); gotoxy(17,10); printf(" Two options Available for searching "); gotoxy(15,15); printf("Search by"); gotoxy(25,15); //textcolor(RED+BLINK); printf("I"); //textcolor(WHITE); gotoxy(26,15); printf("D number"); gotoxy(15,18); printf("Search by"); gotoxy(25,18); //textcolor(RED+BLINK); printf("N"); //textcolor(WHITE); gotoxy(26,18); printf("ame"); gotoxy(15,21); //textcolor(RED+BLINK); printf("R"); //textcolor(WHITE); gotoxy(16,21); printf("eturn"); main_box(); gotoxy(17,24); printf("Press First charecter for the operation : "); ch=toupper(getche()); switch(ch) { case 'I': animation(); search_cid(); break; case 'N': animation(); search_cname(); break; case 'R': animation(); customer(); break; default: gotoxy(22,18); printf("You entered wrong choice!!!!!"); getch(); } }while(ch!='R'); getche(); } //===========================Search by CustomerId========================= void search_cid() { int id; system("cls"); box(); ptr1=fopen("customer.dat","rb"); gotoxy(13,8); printf("\xDB\xDB\xB2 Enter id to be searched:"); scanf("%d",&id); //textcolor(GREEN); //textcolor(WHITE); i=18; gotoxy(9,15); printf(" ID. CUSTOMER NAME. CITY. MOBILE.NO. EMAIL"); gotoxy(8,16); printf("=============================================================="); while(fscanf(ptr1,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { if(temp_c.cust_id==id) { gotoxy(8,i); printf(" %d",temp_c.cust_id); gotoxy(15,i); printf(" %s",temp_c.cust_name); gotoxy(28,i); printf(" %s",temp_c.city); gotoxy(40,i); printf(" %s",temp_c.mob_no); gotoxy(54,i); printf(" %s",temp_c.email); gotoxy(20,35); //textcolor(YELLOW); printf("Press Any key to go to CUSTOMER MENU ..........."); break; } } if(temp_c.cust_id!=id) { gotoxy(20,30); printf("Record not found!"); } fclose(ptr1); getche(); } /*****************************search by CUSTOMERname******************************/ void search_cname() { char name[20]; system("cls"); box(); ptr1=fopen("customer.dat","rb"); gotoxy(12,8); printf("\xDB\xDB\xB2 Enter Customer Name to be searched:"); scanf("%s",&name); //textcolor(GREEN); //textcolor(WHITE); i=18; gotoxy(9,15); printf(" ID. CUSTOMER NAME. CITY. MOBILE.NO. EMAIL"); gotoxy(8,16); printf("=============================================================="); while(fscanf(ptr1,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { if(strcmp(temp_c.cust_name,name)==0) { gotoxy(8,i); printf(" %d",temp_c.cust_id); gotoxy(15,i); printf(" %s",temp_c.cust_name); gotoxy(28,i); printf(" %s",temp_c.city); gotoxy(40,i); printf(" %s",temp_c.mob_no); gotoxy(54,i); printf(" %s",temp_c.email); gotoxy(20,35); //textcolor(YELLOW); printf("Press Any key to go to CUSTOMER MENU ..........."); break; } } if(strcmp(temp_c.cust_name,name)!=0) { gotoxy(5,10); //textcolor(YELLOW); printf("Record not found!"); } fclose(ptr1); getche(); } //============CUSTOMER update================= void cust_update() { int i; char ch; int cid; FILE *ft; system("cls"); box(); ptr1=fopen("customer.dat","rb+"); if(ptr1==NULL) { printf("\n\t Can not open file!! "); exit(0); } lbox(); gotoxy(30,8); printf(" Modifying customer "); gotoxy(12,13); printf("Enter the CUSTOMER ID : "); scanf("%d",&cid); gotoxy(12,15); ft=fopen("temp.txt","w"); if(ft==NULL) { printf("\n Can not open file"); exit(0); } else { while(fscanf(ptr1,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { if(temp_c.cust_id==cid) { gotoxy(25,17); printf("*** Existing Record ***"); gotoxy(10,19); printf("%d\t %s \t%s \t%s \t%s",temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email); gotoxy(12,22); printf("Enter New Name : "); //flushall(); ventry(temp_c.cust_name,0); gotoxy(12,24); printf("Enter New mobile no : "); //flushall(); ventry(temp_c.mob_no,1); gotoxy(12,26); printf("Enter New City : "); //flushall(); ventry(temp_c.city,0); gotoxy(12,28); printf("Enter New email : "); //flushall(); scanf("%s",temp_c.email); gotoxy(20,32); //textcolor(RED+BLINK); printf("U"); gotoxy(21,32); //textcolor(WHITE); printf("pdate"); gotoxy(30,32); //textcolor(RED+BLINK); printf("C"); gotoxy(31,32); //textcolor(WHITE); printf("ancel"); gotoxy(18,35); printf("Press First charecter for the operation : "); ch=getche(); if(ch=='u' || ch=='U') { fprintf(ft,"%d %s %s %s %s\n",temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email); // fprintf(ft,"\n"); fflush(stdin); gotoxy(20,36); printf("Customer updated successfully..."); remove("customer.dat"); rename("temp.txt","customer.dat"); } } else { fprintf(ft,"%d %s %s %s %s\n",temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email); fflush(stdin); } } fclose(ft); fclose(ptr1); } } //============================ END OF CUSTOMER FUNCTION =================== //============================ FOR MEDICINE PURCHASE =================== void medi_entry() { char ch,id[6]; // struct date d; time_t t = time(0); // get time now struct tm * now = localtime( & t ); int f; FILE *fp; system("cls"); //getdate(&d); ptrp_r=fopen("purreport.dat","a"); ch='Y'; while(ch=='Y') { system("cls"); box(); //textcolor(14); // t(); // THIS FUN IS USED FOR DISPLAY DATE & TIME....... lbox(); gotoxy(30,8); ////textcolor(GREEN+BLINK); printf(" MEDICINE PURSHASE "); { //textcolor(WHITE); gotoxy(7,11); printf("MEDICINE ID : "); gotoxy(40,11); printf("MEDICINE NAME : "); gotoxy(7,14); printf("ENTER RACK NO : "); gotoxy(40,14); printf("CABNIT NO : "); gotoxy(7,18); printf("COMPANY NAME : "); gotoxy(40,18); printf("SUPPLIER NAME : "); gotoxy(7,21); printf("UNIT COST Rs.: "); gotoxy(40,21); printf("SALE COST Rs.: "); gotoxy(7,24); printf("QUANTITY : "); gotoxy(7,27); printf("MFG.DATE(dd-mm-yyyy): "); gotoxy(7,29); printf("EXP.DATE(dd-mm-yyyy): "); gotoxy(25,11); ventry(temp.id,1); strcpy(id,temp.id); fp=fopen("medical.dat","r"); while((fread(&temp,sizeof(temp),1,fp))==1) { if(strcmp(id,temp.id)==0) { f=1; break; } } fclose(fp); if(f==1) { gotoxy(20,31); printf("ID Allready Exists"); getche(); system("cls"); medi_entry(); } else { ptr=fopen("medical.dat","a+b"); strcpy(temp.id,id); strcpy(p_r.medi_id,temp.id); } //flushall(); gotoxy(58,11); ventry(temp.medi_name,0); strcpy(p_r.medir_name,temp.medi_name); //flushall(); gotoxy(25,14); ventry(a,1); temp.rack= atoi(a);//atoi() used for convert str to int. //flushall(); gotoxy(58,14); ventry(temp.cabnit,2); //flushall(); gotoxy(25,18); ventry(temp.comp_name,0); //flushall(); gotoxy(58,18); ventry(temp.supp_name,0); strcpy(p_r.supp_name,temp.supp_name); //flushall(); gotoxy(25,21); ventry(a,1); temp.unit= atof(a); //flushall(); p_r.rate=temp.unit; gotoxy(58,21); ventry(a,1); temp.sale= atof(a); //flushall(); gotoxy(25,24); ventry(a,1); temp.quantity= atoi(a); p_r.qty=temp.quantity; //flushall(); gotoxy(29,27); //flushall(); ventry(temp.manu_date,1); gotoxy(29,29); //flushall(); ventry(temp.exp_date,1); gotoxy(7,31); printf("=========================================================="); temp.total=temp.quantity*temp.sale; //textcolor(10); gotoxy(10,33); printf("TOTAL SALE COST = Rs. %.2f",temp.total); temp.cost=(temp.unit*temp.quantity); gotoxy(40,33); printf("TOTAL UNIT COST = Rs. %.2f",temp.cost); p_r.total=temp.cost; p_r.sDay=now->tm_mday; p_r.sMonth=now->tm_mon; p_r.sYear=now->tm_year; } gotoxy(20,35); //textcolor(RED+BLINK); printf("S"); //textcolor(WHITE); gotoxy(21,35); printf("ave"); gotoxy(28,35); //textcolor(RED+BLINK); printf("C"); //textcolor(WHITE); gotoxy(29,35); printf("ancel"); gotoxy(18,38); printf("Press First charecter for the operation : "); ch=toupper(getche()); if(ch=='S') { fwrite(&temp,sizeof(temp),1,ptr); fflush(stdin); //textcolor(10); fprintf(ptrp_r,"%s %s %s %d %.2f %.2f %d %d %d\n",p_r.medi_id,p_r.medir_name,p_r.supp_name,p_r.qty,p_r.rate,p_r.total,p_r.sDay,p_r.sMonth,p_r.sYear); system("cls"); gotoxy(20,20); printf("Medicine Added sucessfully!!!!!!"); gotoxy(20,25); printf("More entries [y/n]"); ch=toupper(getche()); /* if(ch=='Y') { system("cls"); medi_entry(); }*/ } } fclose(ptr); fclose(ptrp_r); } //===========FOR MEDICINE SALE========================= void medi_sale() { struct bill bil; //struct date d; time_t t = time(0); // get time now struct tm * now = localtime( & t ); int j,n,i,a,billno; int d1,m,y; float b,total,rate; char tar[30],ch,mediname[30],c_name[30],cname[30]; FILE *fp,*fpc; int count=0; //getdate(&d); d1=now->tm_mday; m=now->tm_mon; y=now->tm_year; ch='y'; while(ch=='y') { fp = fopen("dbbill.dat","a"); ptr1 = fopen("customer.dat","r"); ptr = fopen("medical.dat","r"); ptrs_r=fopen("saleRpt.dat","a"); ptrpr_r=fopen("profitRpt.dat","a"); system("cls"); box(); for(i=3;i<=45;i++) //This 'FOR' loop will print asteriks 'I' { //vertically till the 3th row is reached. gotoxy(50,i); printf("%c",219); } i=9; gotoxy(52,7); printf("Cust_ID Cust_Name"); //flushall(); while(fscanf(ptr1,"%d %s %s %s %s",&temp_c.cust_id,temp_c.cust_name,temp_c.mob_no, temp_c.city,temp_c.email)!=EOF) { gotoxy(53,i); printf("%d",temp_c.cust_id); gotoxy(64,i); printf("%s",temp_c.cust_name); i+=2; } gotoxy(9,7); printf("ENTER MEDICINE ID TO BE SOLD : "); ventry(tar,1); //scanf("%s",&tar); j=0; while((fread(&temp,sizeof(temp),1,ptr))==1) { if((strcmp(temp.id,tar)<0) || (strcmp(temp.id,tar)>0)) { x[j] = temp; j++; } else if((strcmp(temp.id,tar)==0)) { gotoxy(8,10); printf(" Medicine Name : %s",temp.medi_name); gotoxy(8,12); printf(" Quantity in stock : %d",temp.quantity); gotoxy(8,14); printf(" Sales price : %.2f",temp.sale); gotoxy(8,16); printf("Enter bill number : "); //flushall(); ventry(bil.billno,1); //scanf("%s",&bil.billno); gotoxy(8,18); printf("Enter customer Name : "); //flushall(); ventry(c_name,0); //scanf("%s",&c_name); gotoxy(8,20); printf("Quantity want to sale : "); //ventry(a,1); scanf("%d",&a); pr_r.profit=(temp.sale-temp.unit)*a; x[j]=temp; x[j].quantity=(x[j].quantity-a); x[j].total=(x[j].quantity*temp.sale); x[j].cost=(x[j].quantity*temp.unit); x[j].bye=(x[j].sale*a); b=x[j].bye; x[j].qty=a; j++; count++; strcpy(bil.cname,c_name); strcpy(s_r.cust_name,c_name); strcpy(bil.mediname,temp.medi_name); bil.medi_qty=a; bil.medi_rate=temp.sale; bil.total=temp.sale*a; bil.day=d1; bil.month=m; bil.year=y; fprintf(fp,"%s %s %s %d %.2f %.2f %d %d %d\n",bil.billno,bil.cname,bil.mediname,bil.medi_qty,bil.medi_rate,bil.total,bil.day,bil.month,bil.year); fflush(stdin); fclose(fp); s_r.sDay=d1; s_r.sMonth=m; s_r.sYear=y; strcpy(s_r.medi_id,tar); strcpy(s_r.medir_name,temp.medi_name); s_r.qty=a; s_r.rate=temp.sale; s_r.total=temp.sale*a; //sale report fprintf(ptrs_r,"%s %s %s %d %.2f %.2f %d %d %d\n",s_r.medi_id,s_r.medir_name,s_r.cust_name,s_r.qty,s_r.rate,s_r.total,s_r.sDay,s_r.sMonth,s_r.sYear); fflush(stdin); fclose(ptrs_r); //profit report pr_r.sDay=d1; pr_r.sMonth=m; pr_r.sYear=y; strcpy(pr_r.medi_id,tar); strcpy(pr_r.medir_name,temp.medi_name); pr_r.qty=a; pr_r.rate=temp.sale; pr_r.unit=temp.unit; fprintf(ptrpr_r,"%s %s %d %d %d %d %.2f %.2f %.2f\n",pr_r.medi_id,pr_r.medir_name,d1,pr_r.sMonth,pr_r.sYear,pr_r.qty,pr_r.unit,pr_r.rate,pr_r.profit); fflush(stdin); fclose(ptrpr_r); } } if (count==0) { system("cls"); gotoxy(33,10); printf("Not in stock!!!!!"); getch(); return; } fclose(ptr1); fclose(ptr); n = j; system("cls"); ptr=fopen("medical.dat","wb"); for(i=0; isizeof(x[i]),1,ptr); fclose(ptr); system("cls"); box(); gotoxy(8,15); printf("* Price paid by customer = %.2f",b); gotoxy(8,17); printf("* Quantity sold = %d",a); getch(); gotoxy(10,20); printf("more enteries=(y/n) :"); ch=getche(); } } //===========================MEDICINE STOCK===================================== void stock() { char ch; int i,c; do { system("cls"); ptr1=fopen("medical.dat","r"); if(ptr1==NULL) { printf("\n\t Can not open File! "); exit(1); } system("cls"); box(); lbox(); //textcolor(GREEN); gotoxy(30,8); ////textcolor(GREEN+BLINK); printf(" STOCK OF MEDICINE "); //textcolor(WHITE); i=14; gotoxy(9,10); printf("ID. MEDICINE NAME. QTY Supplier Name Exp.Date"); gotoxy(9,12); printf("==================================================================\n"); while((fread(&temp,sizeof(temp),1,ptr1))==1) { gotoxy(9,i); printf(" %s",temp.id); gotoxy(15,i); printf(" %s",temp.medi_name); gotoxy(32,i); printf(" %d",temp.quantity); gotoxy(43,i); printf(" %s",temp.supp_name); gotoxy(60,i); printf(" %s",temp.exp_date); i++; } gotoxy(10,42); printf("Press [1] for Update Medicine Stock & [0] for main menu "); c = (getche()); switch (c) { case '0':animation(); main_menu(); break; case '1':update_stock(); break; } }while(c != '1'); getche(); } //=============================== FOR MEDICINE SEARCH ==================== void medi_search() { char mid[6]; int i,c; system("cls"); ptr1=fopen("medical.dat","r"); if(ptr1==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); box(); gotoxy(10,7); printf("Enter Medicine Id to be searched : "); scanf("%s",&mid); system("cls"); box(); lbox(); //textcolor(GREEN); gotoxy(30,8); //textcolor(GREEN+BLINK); printf(" MEDICINE "); //textcolor(WHITE); i=14; gotoxy(9,10); printf("ID. MEDICINE NAME. QTY Supplier Name Exp.Date"); gotoxy(9,12); printf("==================================================================\n"); while((fread(&temp,sizeof(temp),1,ptr1))==1) { if(strcmp(mid,temp.id)==0) { gotoxy(9,i); printf(" %s",temp.id); gotoxy(15,i); printf(" %s",temp.medi_name); gotoxy(32,i); printf(" %d",temp.quantity); gotoxy(43,i); printf(" %s",temp.supp_name); gotoxy(60,i); printf(" %s",temp.exp_date); i++; break; } } if(strcmp(mid,temp.id)!=0) { gotoxy(20,20); printf("Not in Stock....."); } getche(); } //============================ FOR MEDICINE UPDATE ===================== void update_stock() { char mid[6]; int j,a,count=0,n; system("cls"); ptr=fopen("medical.dat","rb"); if(ptr==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); box(); gotoxy(20,45); printf("Press Enter to go to MENU ..........."); //textcolor(GREEN); gotoxy(27,8); ////textcolor(GREEN+BLINK); printf(" UPDATE MEDICINE QUANTITY "); //textcolor(WHITE); gotoxy(9,10); printf("Enter medicine id to be update qty: "); scanf("%s",&mid); j=0; while((fread(&temp,sizeof(temp),1,ptr))==1) { if((strcmp(temp.id,mid)<0) || (strcmp(temp.id,mid)>0)) { x[j] = temp; j++; } else { gotoxy(8,12); printf("Medicine Name : %s",temp.medi_name); gotoxy(8,14); printf("Quantity in stock : %d",temp.quantity); gotoxy(8,16); printf("Quantity want to update : "); scanf("%d",&a); x[j]=temp; x[j].quantity=(x[j].quantity+a); x[j].total=(x[j].quantity*temp.sale); x[j].cost=(x[j].quantity*temp.unit); x[j].bye=(x[j].sale*a); x[j].qty=a; j++; count++; } } if (count==0) { system("cls"); gotoxy(33,10); printf("Not in stock!!!!!!"); getch(); return; } fclose(ptr); n = j; system("cls"); ptr=fopen("medical.dat","wb"); for(i=0; isizeof(x[i]),1,ptr); fclose(ptr); } //===================== view report =============================/ void sale_rpt() { char ch; int j; system("cls"); ptrs_r=fopen("saleRpt.dat","r"); if(ptrs_r==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); box(); gotoxy(20,50); printf("Press any key to go to REPORT MENU ..........."); lbox(); //textcolor(GREEN); gotoxy(30,8); ////textcolor(GREEN+BLINK); printf("Sales Report"); //textcolor(WHITE); gotoxy(7,10); printf("ID. Medicine Name. Customer Name. Qty. Rate. Total. Date"); gotoxy(7,12); printf("==================================================================="); j=14; while(fscanf(ptrs_r,"%s %s %s %d %f %f %d %d %d\n",s_r.medi_id,s_r.medir_name,s_r.cust_name,&s_r.qty,&s_r.rate,&s_r.total,&s_r.sDay,&s_r.sMonth,&s_r.sYear)!=EOF) { gotoxy(6,j); printf("%s",s_r.medi_id); gotoxy(11,j); printf("%s",s_r.medir_name); gotoxy(28,j); printf("%s",s_r.cust_name); gotoxy(44,j); printf("%d",s_r.qty); gotoxy(50,j); printf("%.2f",s_r.rate); gotoxy(57,j); printf("%.2f",s_r.total); gotoxy(65,j); printf("%d-%d-%d",s_r.sDay,s_r.sMonth,s_r.sYear); j=j+2; } getche(); } //======================= VIEW PURCHASE REPORT =========================== void pur_rpt() { char ch; int j; system("cls"); t(); box(); ptrp_r=fopen("purreport.dat","r"); if(ptrp_r==NULL) { printf("\n\t Can not open File! "); exit(0); } gotoxy(20,50); printf("Press Enter to go to REPORT MENU ..........."); lbox(); //textcolor(GREEN); gotoxy(30,8); printf("Purchase Report"); //textcolor(WHITE); gotoxy(7,10); printf("ID. Medicine Name. Supplier Name. Qty. Rate. Total. Date"); gotoxy(7,12); printf("==================================================================="); j=14; while(fscanf(ptrp_r,"%s %s %s %d %f %f %d %d %d\n",p_r.medi_id,p_r.medir_name,p_r.supp_name,&p_r.qty,&p_r.rate,&p_r.total,&p_r.sDay,&p_r.sMonth,&p_r.sYear)!=EOF) { gotoxy(6,j); printf("%s",p_r.medi_id); gotoxy(11,j); printf("%s",p_r.medir_name); gotoxy(28,j); printf("%s",p_r.supp_name); gotoxy(44,j); printf("%d",p_r.qty); gotoxy(50,j); printf("%.2f",p_r.rate); gotoxy(57,j); printf("%.2f",p_r.total); gotoxy(65,j); printf("%d-%d-%d",p_r.sDay,p_r.sMonth,p_r.sYear); j+=2; } getche(); } //========================= report of profit =========================== void profit_rpt() { char ch; int j; system("cls"); t(); box(); ptrpr_r=fopen("profitRpt.dat","r"); if(ptrpr_r==NULL) { printf("\n\t Can not open File! "); // exit(0); } gotoxy(20,50); printf("Press Enter to go to REPORT MENU ..........."); lbox(); //textcolor(GREEN); gotoxy(30,8); printf("Profit Report"); //textcolor(WHITE); gotoxy(7,10); printf("ID. Medicine Name. Date Qty. Unit Price Sale Price. Profit. "); gotoxy(7,12); printf("==================================================================="); j=14; while(fscanf(ptrpr_r,"%s %s %d %d %d %d %f %f %f \n",pr_r.medi_id,pr_r.medir_name,&pr_r.sDay,&pr_r.sMonth,&pr_r.sYear,&pr_r.qty,&pr_r.unit,&pr_r.rate,&pr_r.profit)!=EOF) { gotoxy(6,j); printf("%s",pr_r.medi_id); gotoxy(11,j); printf("%s",pr_r.medir_name); gotoxy(28,j); printf("%d-%d-%d",pr_r.sDay,pr_r.sMonth,pr_r.sYear); gotoxy(40,j); printf("%d",pr_r.qty); gotoxy(48,j); printf("%.2f",pr_r.unit); gotoxy(60,j); printf("%.2f",pr_r.rate); gotoxy(70,j); printf("%.2f",pr_r.profit); gotoxy(10,j); printf("%c",124); j+=2; } getche(); } void sale_rpt_daily() { char ch; int j,d,m,y; float total=0.00; system("cls"); ptrs_r=fopen("saleRpt.dat","r"); if(ptrs_r==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); gotoxy(15,10); printf("Enter Date(dd-mm-yyyy): "); scanf("%d-%d-%d",&d,&m,&y); system("cls"); gotoxy(20,50); printf("Press any key to go to REPORT MENU ..........."); box(); lbox(); //textcolor(GREEN); gotoxy(30,8); ////textcolor(GREEN+BLINK); printf("Sales Report"); //textcolor(WHITE); gotoxy(7,10); printf("ID. Medicine Name. Customer Name. Qty. Rate. Total. Date"); gotoxy(7,12); printf("==================================================================="); j=14; while(fscanf(ptrs_r,"%s %s %s %d %f %f %d %d %d\n",s_r.medi_id,s_r.medir_name,s_r.cust_name,&s_r.qty,&s_r.rate,&s_r.total,&s_r.sDay,&s_r.sMonth,&s_r.sYear)!=EOF) { if(d==s_r.sDay &&m== s_r.sMonth && y==s_r.sYear) { gotoxy(6,j); printf("%s",s_r.medi_id); gotoxy(11,j); printf("%s",s_r.medir_name); gotoxy(28,j); printf("%s",s_r.cust_name); gotoxy(44,j); printf("%d",s_r.qty); gotoxy(50,j); printf("%.2f",s_r.rate); gotoxy(57,j); printf("%.2f",s_r.total); gotoxy(65,j); printf("%d-%d-%d",s_r.sDay,s_r.sMonth,s_r.sYear); j=j+2; total=total+s_r.total; } } gotoxy(7,42); printf("-------------------------------------------------------------------"); gotoxy(45,43); printf("Total: %.2f",total); getche(); } void pur_rpt_daily() { char ch; int j,d,m,y; float total=0.00; ptrp_r=fopen("purreport.dat","r"); if(ptrp_r==NULL) { printf("\n\t Can not open File! "); exit(0); } system("cls"); gotoxy(15,10); printf("Enter Date(dd-mm-yyyy): "); scanf("%d-%d-%d",&d,&m,&y); system("cls"); gotoxy(20,50); printf("Press Enter to go to REPORT MENU ..........."); t(); box(); lbox(); //textcolor(GREEN); gotoxy(30,8); printf("Purchase Report"); //textcolor(WHITE); gotoxy(7,10); printf("ID. Medicine Name. Supplier Name. Qty. Rate. Total. Date"); gotoxy(7,12); printf("==================================================================="); j=14; while(fscanf(ptrp_r,"%s %s %s %d %f %f %d %d %d\n",p_r.medi_id,p_r.medir_name,p_r.supp_name,&p_r.qty,&p_r.rate,&p_r.total,&p_r.sDay,&p_r.sMonth,&p_r.sYear)!=EOF) { if(d==p_r.sDay &&m== p_r.sMonth && y==p_r.sYear) { gotoxy(6,j); printf("%s",p_r.medi_id); gotoxy(11,j); printf("%s",p_r.medir_name); gotoxy(28,j); printf("%s",p_r.supp_name); gotoxy(44,j); printf("%d",p_r.qty); gotoxy(50,j); printf("%.2f",p_r.rate); gotoxy(57,j); printf("%.2f",p_r.total); gotoxy(65,j); printf("%d-%d-%d",p_r.sDay,p_r.sMonth,p_r.sYear); j+=2; total=total+p_r.total; } } gotoxy(7,42); printf("-------------------------------------------------------------------"); gotoxy(45,43); printf("Total: %.2f",total); getche(); } //=============================================:) THE END :) ================================= |
Conclusion: In this C Projects source codes we created simple Medical Storage Management System project for beginners. Medical Store Management is a c console-based project which doesn't use graphics. You are allowed to perform various operations like insert, delete and modify the details that are added in the stock (records of medicine, supplier, and customers) in this project
Article Contributed By :
|
|
|
|
1269 Views |