Monday, March 12, 2012

BANKING DATABASE


# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <stdlib.h>//library header file
int dmenu(); //main menu
void dadd(); //add to list
void dfind(); //search from the list
void dedit(); //edit the record
void ddel(); //delete from the list
void ddisp(); //display all
void ddisp1();//display1
void ddisp2();//display2
void dwith();
void ddepo();
void dcurrent_with();
void dcurrent_depo();
void deposit();
void withdrawal();
    struct dnode {
    int num,bal,check;
    char dlname[20], dfname[20], dtel[15];
    struct dnode *dnext;
};
typedef struct dnode node;
node *dstart, *dtemp;
int i=5000,chk=1,j=15000;
int dmenu()
    {
    int dch;
            gotoxy(30,5);
            printf(" BANKING DATABASE ");
    gotoxy(30,6);
    printf(" ================ ");
    gotoxy(3,24);
            gotoxy(27,10);
            printf(" 1. Create a new account");
            gotoxy(27,11);
            printf(" 2. Search customer details");
            gotoxy(27,12);
            printf(" 3. Edit customer details");
            gotoxy(27,13);
            printf(" 4. Delete a customer");
            gotoxy(27,14);
            printf(" 5. Display all account holders ");
            gotoxy(27,15);
            printf(" 6. Deposit money");
            gotoxy(27,16);
            printf(" 7. Withdrawal money");
            gotoxy(27,17);
            printf(" 8. Balance Enquiry");
            gotoxy(27,18);
            printf(" 9. Exit ");
            gotoxy(27,21);
            printf(" Enter your choice(1-9):");
            gotoxy(55,21);
            scanf("%d", &dch);
    return dch;
}
void dadd()
{
int type;
node *dptr,*dprev;
dtemp=(node *)malloc(sizeof(node));
printf("\nWhich type of account you want to create?\n1->Savings\n2->Current\nenter
 your choice : ");
scanf("%d",&type);
if(type==1)
{
do{
printf("\nYour Account No:");
dtemp->num=i;
printf("%d",dtemp->num);
i++;
}while(i>10000);
printf("\nFirst name: ");
scanf("%s", dtemp->dfname);
printf("Last name:");
scanf("%s", dtemp->dlname);
printf("Telephone No.: ");
scanf("%s", dtemp->dtel);
a:
printf("Deposit Sum:");
scanf("%d",&dtemp->bal);
if(dtemp->bal<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto a;
}
dtemp->dnext=NULL;
if(dstart==NULL) dstart=dtemp;
else {
dprev=dptr=dstart;
while(strcmp(dtemp->dfname,dptr->dfname)>0){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr==dprev) {
dtemp->dnext=dstart;
dstart=dtemp;
}
else if(dptr==NULL)
dprev->dnext=dtemp;
else {
dtemp->dnext=dptr;
dprev->dnext=dtemp;
}
}
ddisp1();
}
else if(type==2)
{
do{
printf("\nYour Account No:");
dtemp->num=j;
printf("%d",dtemp->num);
j++;
}while(j>20000);
printf("\nFirst name: ");
scanf("%s", dtemp->dfname);
printf("Last name:");
scanf("%s", dtemp->dlname);
printf("Telephone No.: ");
scanf("%s", dtemp->dtel);
m:
printf("Deposit Sum:");
scanf("%d",&dtemp->bal);
if(dtemp->bal<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto m;
}
dtemp->dnext=NULL;
if(dstart==NULL) dstart=dtemp;
else {
dprev=dptr=dstart;
while(strcmp(dtemp->dfname,dptr->dfname)>0){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr==dprev) {
dtemp->dnext=dstart;
dstart=dtemp;
}
else if(dptr==NULL)
dprev->dnext=dtemp;
else {
dtemp->dnext=dptr;
dprev->dnext=dtemp;
}
}
printf("Your provided Cheque nos.%d to %d",chk,chk+19);
ddisp2();
}
}
void dfind()
{
node *dptr;
int no,num;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter the account No : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no)
{
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL)
{
if(dptr->num>=5000 && dptr->num<10000)
{
printf("\t\t------------------------------\n");
if(dptr->num==no)
{
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tYou are a SAVINGS account holder of our bank");
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
printf("\n\t\t------------------------------\n");
}
}
else{
printf("\n\n");
printf("\t\t------------------------------\n");
if(dptr->num==no)
{
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tYou are a CURRENT account holder of our bank");
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
chk=1;
printf("\n\t\tCheque nos:%d to %d",chk,chk+19);
printf("\n\t\t------------------------------\n");
}
}
}
else
{
printf("No Matching Records Found .......\n");
}
getch();
}
void deposit()
{
int no;
node *dptr,*dprev;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter your account no : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no)
{
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL){
if(dptr->num>=5000 && dptr->num<10000)
{
ddepo();
}
else
{
 dcurrent_depo();
 }
 }
else {
printf("\nNo Matching Records Found .......");
}
getch();
}
void ddepo()
{
node *dptr;
int bal;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
getch();
}
void dcurrent_depo()
{
node *dptr;
int bal,ch;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("\nHow do you wish to deposit?\n1->cash\n2->cheque\nEnter your choice : ");
scanf("%d",&ch);
if(ch==1)
{
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
}
else if(ch==2)
{
do{
printf("\nYour Check No:");
dtemp->check=chk;
printf("%d\n",dtemp->check);
chk++;
}while(chk>21);
printf("Deposit Amount:");
scanf("%d",&bal);
dptr->bal+=bal;
printf("Your New balance:%d",dptr->bal);
}
getch();
}
void withdrawal()
{
node *dptr;
int no;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter the account No : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no){
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL)
{
if(dptr->num>=5000 && dptr->num<10000)
{
dwith();
}
else
{
 dcurrent_with();
 }
}
else {
printf("No Matching Records Found .......\n");
}
getch();
}
void dwith()
{
node *dptr;
int bal;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
b:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto b;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
getch();
}
void dcurrent_with()
{
node *dptr;
int no,bal,ch;
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No:%d \n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Your Balance : %d\n",dptr->bal);
printf("\nHow do you wish to deposit?\n1->cash\n2->cheque\nEnter your choice : ");
scanf("%d",&ch);
if(ch==1)
{
b:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto b;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
}
else if(ch==2)
{
do{
printf("\nYour Check No:");
dtemp->check=chk;
printf("%d\n",dtemp->check);
chk++;
}while(chk>21);
c:
printf("Withdrawal Amount:");
scanf("%d",&bal);
if((dptr->bal-bal)<500)
{
printf("INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account\n");
goto c;
}
dptr->bal-=bal;
printf("Your New balance:%d",dptr->bal);
}
getch();
}
void dedit()
{
node *dptr;
int no,bal;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter number to Edit : ");
scanf("%d",&no);
dptr=dstart;
while(dptr->num!=no){
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL) {
printf("\t\t\n-----------------------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nOld First Name : %s", dptr->dfname);
printf("\nNew First Name : ");
scanf("%s", dptr->dfname);
printf("\nOld Last Name : %s", dptr->dlname);
printf("\nNew Last Name : ");
scanf("%s", dptr->dlname);
printf("\nPhone Number : %s", dptr->dtel);
printf("\nNew Phone Number : ");
scanf("%s", dptr->dtel);
printf("\nOld Balance : %d", dptr->bal);
m:
printf("\nNew Balance : ");
scanf("%d", &bal);
if(bal<500)
{
printf("INSUFFICIENT FUND-A minimum of Rs.500/- should be maintained\n");
goto m;
}
dptr->bal=bal;
}
else {
printf("No Matching Records Found .......\n");
}
getch();
}
void ddel()
{
node *dptr,*dprev,*dtemp;
int no;
char dyn='n';
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
printf("Enter your account no to delete : ");
scanf("%d",&no);
dprev=dptr=dstart;
while(dptr->num!=no){
dprev=dptr;
dptr= dptr->dnext;
if (dptr == NULL) break;
}
if(dptr!=NULL){
printf("\nDeleting Record.....Confirm [y/n]: ");
dyn=getch();
printf("\n\n---------------------------------------------------------");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\nAccount No : %d\n",dptr->num);
printf("First Name : %s\n",dptr->dfname);
printf("Last Name : %s\n",dptr->dlname);
printf("Phone Number : %s\n",dptr->dtel);
printf("Balance : %d\n",dptr->bal);
printf("---------------------------------------------------------");
if(dyn=='y') {
if (dptr==dstart) {
dtemp=dstart->dnext;
free(dstart);
dstart=dtemp;
}
else {
dtemp=dptr->dnext;
free(dptr);
dprev->dnext=dtemp;
}
printf("\n\n1 Record Deleted....");
}
else
printf("\n\nRecord not Deleted....");
}
else {
printf("\nNo Matching Records Found .......");
}
getch();
}
void ddisp()
{
node *dptr;
if(dstart==NULL) {
printf("\n\t\t\tNO ACCOUNT DATABASE....\n");
getch();
return;
}
clrscr();
printf("\t\t------------------------------\n");
for(dptr=dstart; dptr!=NULL; dptr=dptr->dnext) {
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dptr->dlname);
printf("\n\t\tAccount number: %d",dptr->num);
printf("\n\t\tFirst name: %s", dptr->dfname);
printf("\n\t\tLast name:%s", dptr->dlname);
printf("\n\t\tTelephone No.: %s", dptr->dtel);
printf("\n\t\tYour Balance: %d",dptr->bal);
printf("\n\t\t------------------------------\n");
}
getch();
}
void ddisp1()
{
printf("\n\n");
printf("\t\t------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dtemp->dlname);
printf("\n\t\tYou are a SAVINGS account holder of our bank");
printf("\n\t\tAccount number: %d",dtemp->num);
printf("\n\t\tFirst name: %s", dtemp->dfname);
printf("\n\t\tLast name:%s", dtemp->dlname);
printf("\n\t\tTelephone No.: %s", dtemp->dtel);
printf("\n\t\tYour Balance: %d",dtemp->bal);
printf("\n\t\t------------------------------\n");
getch();
}
void ddisp2()
{
printf("\n\n");
printf("\t\t------------------------------\n");
printf("\n\t\tHELLO %s WELCOME TO OUR BANK", dtemp->dlname);
printf("\n\t\tYou are a CURRENT account holder of our bank");
printf("\n\t\tAccount number: %d",dtemp->num);
printf("\n\t\tFirst name: %s", dtemp->dfname);
printf("\n\t\tLast name:%s", dtemp->dlname);
printf("\n\t\tTelephone No.: %s", dtemp->dtel);
printf("\n\t\tYour Balance: %d",dtemp->bal);
chk=1;
printf("\n\t\tCheque nos:%d to %d",chk,chk+19);
printf("\n\t\t------------------------------\n");
getch();
}
void main()
{
int dch;
dstart=(node *)malloc(sizeof(node));
dstart=NULL;
do{
clrscr();
dch=dmenu();
clrscr();
switch(dch) {
case 1: dadd();
break;
case 2: dfind();
break;
case 3: dedit();
break;
case 4: ddel();
break;
case 5:
ddisp();
break;
case 6:
deposit();
break;
case 7:
withdrawal();
break;
case 8:
dfind();
break;
}
}while(dch!=9);
}



No comments:

Post a Comment