# 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);
}
TESTING
Testing is the major control
measure used during software development. Its basic function is to detect
errors in the software. During requirement analysis and design, the output is a
document that is usually textual and no executable. After the coding phase,
computer programs are available that can be executed for testing purpose. This
implies that testing not only, has to uncover errors introduced during coding,
but also errors introduced during previous phase. Thus the goal of testing is
to uncover the requirements, design and coding errors in the programs. So after
testing the outputs of my project are as follows:
ONE TYPE OF OUTPUT:-
BANKING DATABASE
================
1.
Create a new account
2.
Search customer details
3.
Edit customer details
4. Delete a customer
5.
Display all account holders
6.
Deposit money
7.
Withdrawal money
8.
Balance Enquiry
9.
Exit
Enter
your choice(1-9): 1
Which type of account you want to create?
1->Savings
2->Current
enter your choice : 1
Your Account No:5001
First name: AKSHI
Last name:SHARMA
Telephone No.: 2251678
Deposit Sum:400
INSUFFICIENT FUND-Need a minimum of Rs.500/- to open an account
Deposit Sum:1000
------------------------------
HELLO SHARMA
WELCOME TO OUR BANK
You are a SAVINGS
account holder of our bank
Account number:
5001
First name: AKSHI
Last name:SHARMA
Telephone No.:
2251678
Your Balance:
1000
------------------------------
SECOND
TYPE OF OUTPUT:-
BANKING DATABASE
================
1.
Create a new account
2.
Search customer details
3.
Edit customer details
4. Delete a customer
5.
Display all account holders
6.
Deposit money
7.
Withdrawal money
8.
Balance Enquiry
9. Exit
Enter
your choice(1-9): 7
Enter the account No : 5001
-----------------------------------------------
HELLO SHARMA
WELCOME TO OUR BANK
Account No:5001
First Name : AKSHI
Last Name : SHARMA
Phone Number : 2251678
Your Balance : 1000
Withdrawal Amount:300
Your
New balance:700
0 comments :
Post a Comment