write a program of billing system in c language with explanation in Hindi

C Project : Billing System एक बहुत ही आसान प्रोजेक्ट है जिसे student अपने minor प्रोजेक्ट मे आसानी से सबमिट कर सकते है | इस article मे , students के support के लिए C Project : Billing System (for telecom industry ) को discuss किया गया है |

Explanation

इस प्रोजेक्ट मे मुख्य सात user define function है | जो की निन्म है :-

void main(); – इस function का use यूजर द्वारा दिए गये input के आधार पर कार्यो को perform करवाना  होता है | दूसरी भाषा मे , इस प्रोजेक्ट का हार्ट होता है |

void add(); – इस function का use , client की detail को add करने के लिए किया जाता है |

void view_record(); इस function का use , clients की लिस्ट को देखने के लिए किया जाता है |

void modify_records();- इस function का use , client की information को modify करने के लिए किया जाता है |

void delete_records();इस function का use , किसी record को डिलीट करने के लिए किया जाता है |

void search_records();इस function का use , किसी record को search करने के लिए किया जाता है |

void pay();इस function का use , किसी record के द्वारा किये गये payment को update करने के लिए किया जाता है |

main() मे ,

सबसे पहले यूजर के द्वारा choice को input करा दिया जाता है | इस choice के आधार function को call किया जाता है |

अगर user द्वारा दिए गये input ‘A’ , add() function call होगा |

अगर user द्वारा दिए गये input ‘L’ , view_record() function call होगा |

अगर user द्वारा दिए गये input ‘M’ , modify_records() function call होगा |

अगर user द्वारा दिए गये input ‘P’ , pay() function call होगा |

अगर user द्वारा दिए गये input ‘S’ , search_records() function call होगा |

अगर user द्वारा दिए गये input ‘D’ , delete_records() function call होगा |

अगर user द्वारा दिए गये input ‘E’ , Exit function call होगा |

यूजर द्वारा input की गयी choice को switch () मे pass करते है इसके आधार function call किया जाता है |

void add() मे ,

file जिसमे data को add करना है का नाम data.ojs है |

1.सबसे पहले file को append mode मे open करते है |

2.फिर loop चलाया जाता है जो continuos चलता है क्योकि exits का option loop की body मे है |

loop की body मे ,

3.यूजर के द्वारा client का नाम को structure client के customer_name member मे assign हो जाता है

4.यूजर के द्वारा  client का phone number  को structure client के phone member मे assign हो जाता है |

5.यूजर के द्वारा  client के द्वारा pay की जाने वाले अमाउंट को   को structure client के BillAmount member मे assign हो जाता है |

6.इस तरह से client की detail insert हो जाती है | अगर यूजर द्वारा escape press किया जाता है तब loop terminate हो जाता है |

7.अन्यथा दुरसे client की detail को add किया जाता है |

view_record() मे ,

 file जिसमे data को add करना है का नाम data.ojs है |

1.सबसे पहले file को read  mode मे open करते है |

2.फिर loop चलाया जाता है जो तब तक  चलता है जब तक की ‘i’ की value ,file मे store होने वाली record से कम होती है |

उसके बाद while loop चलाया जाता है जिसमे सभी structure की detail को print किया जाता है |

3.यूजर के द्वारा client का नाम को print किया जाता है

4.यूजर के द्वारा  client का phone number  print किया जाता है |

5.यूजर के द्वारा  client के द्वारा pay की जाने वाले अमाउंट को  किया  जाता है |

6.इस तरह , file मे उपस्थित सभी record की detail print हो जाती है |

void modify_records() मे 

1.सबसे पहले जिस record को modify करना है उसका phone number input करा लेते है इसे change_phone मे assign करा लेते है |

2.loop चलाया जाता है |

3.अगर file मे कोई record का phone number , यूजर द्वारा input किये गये phone number से सामान होता है तब

4.उस position पर यूजर द्वारा किये गये नया इनपुट्स को add करा लेते है |

void search_records()

1.सबसे पहले जिस record को modify करना है उसका phone number input करा लेते है इसे search_phone मे assign करा लेते है |

2.loop चलाया जाता है |

3.अगर file मे कोई record का phone number , यूजर द्वारा input किये गये phone number से सामान होता है तब

4.उस position पर उपस्थित record को display करते है |

void pay() मे ,

1.सबसे पहले जिस record को modify करना है उसका phone number input करा लेते है इसे search_phone मे assign करा लेते है |

2.loop चलाया जाता है |

3.अगर file मे कोई record का phone number , यूजर द्वारा input किये गये phone number से सामान होता है तब

4.उस position पर उपस्थित record के लिए paid amount को calculate करते है |

Source Code

#include<stdio.h>

#include<conio.h>

#include<ctype.h>

#include<windows.h>

#include<stdlib.h>

struct customer

{

char phone[20];

char customer_name[50];

float BillAmount;

}s;

void add();

void view_record();

void modify_records();

void delete_records();

void search_records();

void pay();

char get;

int main()

{ int pass;

int phone;

char c;

system(“cls”);

printf(“nnnnnnnnn**************************************************************”);

printf(“ntt——WELCOME TO THE BILLING MANAGEMENT SYSTEM ( For Telecom Sector )—“);

printf(“ntt****************************************************************”);

Sleep(3000);

getch();

    system(“cls”);

while (1)

{

system(“cls”);

printf(“n A : for adding new records.n “);

printf(“n L : for viewing list of recordsn”)

printf(“n M : for modifying records.n”);

printf(“n P : for payment.n”);

printf(“n S : for searching records.n”);

printf(“n D : for deleting records.n “);

printf(“n E : for exitn”);

c=getche();

c=toupper(c);

switch(c)

{

case ‘P’:

pay();

break;

case ‘A’:

add();

break;

case ‘L’:

view_record();

break;

case ‘M’:

modify_records();

break;

case ‘S’:

search_records();

break;

case ‘D’:

delete_records();

break;

case ‘E’:

system(“cls”);

printf(“nnttttTHANK YOU”);

printf(“nnnnn:nt Using this portal for your data maintance”);

Sleep(3000);

exit(0);

break;

default:

system(“cls”);

printf(“Incorrect Choice”);

printf(“n Press Any key to continue”);

getch();

}

}

}

void add()

{

FILE *f;

char test;

f=fopen(“c:/data.ojs”,”ab+”); // here file data.ojs : file name .which contain datas //

if(f==0)

{   f=fopen(“c:/data.ojs”,”wb+”);

system(“cls”);

printf(“please wait while we ready your system”);

printf(“/n Press any key to continue”);

getch();

}

while(1)

{

system(“cls”);

printf(“n phone number: “);

scanf(“%s”,&s.phone);

printf(“n Enter customer Name:”);

fflush(stdin);

scanf(“%[^n]”,&s.customer_name);

printf(“n Enter Bill Amount:”);

scanf(“%f”,&s.BillAmount);

fwrite(&s,sizeof(s),1,f);

fflush(stdin);

system(“cls”);

printf(” Your record successfully added”);

printf(“n Press esc key to exit, any other key to add other record:”);

test=getche();

if(test==27)  // 27 is ASCII value of ESC key // 

break;

}

fclose(f);  //file close //

}

void view_record()

{

FILE *f;

int i;

if((f=fopen(“c:/data.ojs”,”rb”))==NULL)

exit(0);

system(“cls”);

printf(“Phone NumberttUser customer Namettt Bill Amountn”);

for(i=0;i<80;i++) // Here 80 is limit of record //

printf(“-“);

while(fread(&s,sizeof(s),1,f)==1)

{

printf(“n%-10stt%-20sttRs. %.2f /-“,s.phone,s.customer_name,s.BillAmount);

}

printf(“n”);

for(i=0;i<80;i++)

printf(“-“);

fclose(f);

getch();

}

void delete_records()

{

FILE *f,*t;

int i=1;

char del_phone[20];

if((t=fopen(“c:/temp.ojs”,”w+”))==NULL)

exit(0);

if((f=fopen(“c:/data.ojs”,”rb”))==NULL)

exit(0);

system(“cls”);

printf(“Enter the phone number to be deleted from the Database”);

fflush(stdin);

scanf(“%[^n]”,del_phone);

while(fread(&s,sizeof(s),1,f)==1)

{

if(strcmp(s.phone,del_phone)==0)

{       i=0;

continue;

}

else

fwrite(&s,sizeof(s),1,t);

}

if(i==1)

{       system(“cls”);

printf(“Phone number ”%s” not found in database “,del_phone);

remove(“c:/data.ojs”);

rename(“c:/temp.ojs”,”c:/data.ojs”);

getch();

fclose(f);

fclose(t);

main();

}

remove(“c:/data.ojs”);

rename(“c:/temp.ojs”,”c:/data.ojs”);

system(“cls”);

printf(“The Number %s Successfully Deleted!!!!”,del_phone);

fclose(f);    // close main file //

fclose(t);   // close temperory File //

getch();

}

void search_records()

{

FILE *f;

char search_phone[20];

int flag=1;

f=fopen(“c:/data.ojs”,”rb+”);

if(f==0)

exit(0);

fflush(stdin);

system(“cls”);

printf(“Enter Phone Number to search in our database”);

scanf(“%s”, search_phone);

while(fread(&s,sizeof(s),1,f)==1)

{

if(strcmp(s.phone,search_phone)==0)

{ system(“cls”);

printf(” Record Founded ! Details is given below. “);

printf(“nnphone: %sncustomer_name: %snBillAmount: Rs.%0.2fn”,s.phone,s.customer_name,s.BillAmount);

flag=0;

break;

}

else if(flag==1)

{ system(“cls”);

printf(“Phone Number %s Not found in database “,search_phone);

}

}

getch();

fclose(f);

}

void modify_records()

{

FILE *f;

char change_phone[20];

long int size=sizeof(s);

if((f=fopen(“c:/data.ojs”,”rb+”))==NULL)

exit(0);

system(“cls”);

printf(“Enter phone number of the customer to modify:”);

scanf(“%[^n]”,change_phone);

fflush(stdin);

while(fread(&s,sizeof(s),1,f)==1)

{

if(strcmp(s.phone,chnage_phone)==0)

{

system(“cls”);

printf(“n Enter phone number:”);

scanf(“%s”,&s.phone);

printf(“n Enter customer name: “);

fflush(stdin);

scanf(“%[^n]”,&s.customer_name);

printf(“n Enter Bill Amount: “);

scanf(“%f”,&s.BillAmount);

fseek(f,-size,SEEK_CUR);

fwrite(&s,sizeof(s),1,f);

break;

}

}

fclose(f);

}

void pay()

{

FILE *f;

char pay_phone[20];

long int size=sizeof(s);

float PaidAmount;

int i;

if((f=fopen(“c:/data.ojs”,”rb+”))==NULL)

exit(0);

system(“cls”);

printf(“Enter phone number of the customer for pay”);

scanf(“%[^n]”,pay_phone);

fflush(stdin);

while(fread(&s,sizeof(s),1,f)==1)

{

if(strcmp(s.phone,pay_phone)==0)

{

system(“cls”);

printf(“n Phone No.: %s”,s.phone);

printf(“n customer_name: %s”,s.customer_name);

printf(“n Current BillAmount: %f”,s.BillAmount);

printf(“n”);

for(i=0;i<79;i++)

printf(“-“);

printf(“nnEnter Bill Amount of pay :”);

fflush(stdin);

scanf(” %f”,&PaidAmount);

s.BillAmount=s.BillAmount-PaidAmount;

fseek(f,-size,SEEK_CUR);

fwrite(&s,sizeof(s),1,f);

break;

}

}

system(“cls”);

printf(“THANK YOU %s ! FOR Paying Your Bill On Time “,s.customer_name);

getch();

fclose(f);

}

हम आशा करते है कि यह नोट्स आपकी स्टडी में उपयोगी साबित हुए होंगे | अगर आप लोगो को इससे रिलेटेड कोई भी किसी भी प्रकार का डॉउट हो तो कमेंट बॉक्स में कमेंट करके पूंछ सकते है |
आप इन्हे अपने Classmates & Friends के साथ शेयर कर सकते है |

Leave a Comment

Your email address will not be published. Required fields are marked *