C++ Project on Music

Submitted by Editor

// Declaration of header files #include <iostream.h> #include <fstream.h> #include <process.h> #include <string.h> #include <stdio.h> #include <ctype.h> #include <conio.h> #include <dos.h> #include <stdlib.h> #include <iomanip.h> #include <graphics.h>

typedef char option[15]; const int ROW = 10, COL = 10;

int scan;    // To hold the special characters for moving the prompt in menu int ascii;

// To display the main menu options option a[]= { "NewCassPur", "ListOfPurchase", "DailyCassSales", "SalesReport", "AddOtherExp", "OtherExpRep", "ClosingStock", "MonthlyProfit", "Exit" };

// Function used to do screening class main_menu { int i,done;

public: void normalvideo(int x,int y,char *str); void reversevideo(int x,int y,char *str); void box(int x1,int y1,int x2,int y2); char menu(); void control_menu(); void help(void); };

/* Class member functions for drawing boxes */ class shape { public: void line_hor(int, int, int, char); void line_ver(int, int, int, char); void box(int, int, int, int, char); };

// Class contains the cassettes deposit of customers class cassettes { public: void new_cassettes(void);    // Function to add new cassettes in music shop // For cassettes entry into the cassettes.dat data file void add_to_file(int, char t_Cass_name[30], char t_Comp_name[30], int, int, int, int, float); void display_list(void); // Displaying the cassettes list void delete_cassette(int); // Deletes the temporary cassette record int last_cas_code(void); // if the file is exist or not char *return_name(int); // Function for validation entry of name char *return_address(int); // Function for validation entry of address int recordno(int); void display(int); // To display the cassette information account

private: // Data Members of cassette.dat data file

int cas_code;    // Cassette code - film, nonfilm, religious char Cass_name[30];    // Title of the cassette char Comp_name[30];    // Cassette company int tot_cassette;    // Total cassette purchased int dd, mm, yy;    // Date of purchase float price;    // Price per cassette };

class balance { public: void add_to_file(int, int, int, int, int, float);    // Add record for balance cassette void balance_cassette(void);    // Function to display the balance cassette void delete_balance(int);    // Deleting the balance from Tbal.dat int give_balance(int);    // returns the current balance of a particular // cassette code void Update_balance(int, int, int , int , int, float); // Function to update balance after cassette sale float return_price(int);    // Return the cassette price

void monthly_profit(void);    // Monthly profit after every transaction

private:

// Data members of Tbal.dat data file int cas_code;    // Cassette code to be balance int cas_bal;    // Total number of cassettes in balance int dd;    // Balance date int mm; int yy; float price;    // Unit price of cassettes on code wise

};

// Class contains the customers daily cassette transaction entry class account { public: void new_account(void);  // Function to sale cassettes void close_account(void);    // Function to close the cassette purchase void clear(int, int); // Function to perform a clear screen function void Display_sales(void);    // Displaying the sales report of cassettes int last_cas_code(void); // if the file is exist or not float sales_status(int m1, int y1, float cod1, float cod2, float cod3); private: void add_to_file(int, char tP_name[30], char tP_address[30],int, int, int, int); // Function to add transaction records void delete_account(int); // Function to delete a transaction record

// Data members of person.dat data file int cas_code;        // Cassette code - film, nonfilm, religious char P_name[30];    // Person Name char P_address[30];    // Person Address int No_cass;        // Number of cassette int dd, mm, yy;     // To store the system date/ purchase date };

class other { public : // Function to display other expense screen like salary, // electricity bill, telephone and miscellaneous expences void Expense_other(void);

// Add the data to Other.dat data file void add_to_file(int, char tNat_Expen[30], int, int, int, float); void display_expense(void);    // Display the expenses float other_status(int m1, int y1);

private : // Data members of other.dat data file int O_code;        // Other expence code /* The other expence code as : 1     -    Salary to workers, 2    -    Electricity bill 3    -    Telephone bills 4    -    Miscellaneous expenses    */ char Nat_Expen[30];    // Nature of expense description int dd, mm, yy;    // Expense date float amount;    // Expense amount };

// Function to displays all the menu prompt messages // from the pointer array of option a[] void main_menu::normalvideo(int x,int y,char *str) { gotoxy(x,y); cprintf("%s",str); }

// Function to move the cursor on the menu prompt // with a reverse video color void main_menu::reversevideo(int x,int y,char *str) { textcolor(5+143); textbackground(WHITE); gotoxy(x,y); cprintf("%s",str); textcolor(GREEN); textbackground(BLACK); }

void main_menu::box(int x1,int y1,int x2,int y2) { for(int col=x1;col<x2;col++) { gotoxy(col,y1); cprintf("%c",196); gotoxy(col,y2); cprintf("%c",196); }

for(int row=y1;row<y2;row++) { gotoxy(x1,row); cprintf("%c",179); gotoxy(x2,row); cprintf("%c",179); } gotoxy(x1,y1); cprintf("%c",218); gotoxy(x1,y2); cprintf("%c",192); gotoxy(x2,y1); cprintf("%c",191); gotoxy(x2,y2); cprintf("%c",217); }

// Displaying the main menu of music system char main_menu::menu() { clrscr();

textcolor(22); box(20, 6, 65, 20); box(18, 4, 67, 22); textcolor(5+143); gotoxy(36, 5); textbackground(BLUE); cprintf("M U S I C"); textbackground(BLACK); textcolor(22); for(i = 1; i < 9; i++) normalvideo(32, i+10, a[i]); reversevideo(32, 10, a[0]); i = done = 0; _setcursortype(_NOCURSOR); do { int key = getch();

switch (key) { case 00: key = getch();

switch (key) { case 72: normalvideo(32, i+10, a[i]); i--; if (i == -1) i = 8; reversevideo(32,i+10, a[i]); break; case 80: normalvideo(32, i+10, a[i]); i++; if (i == 9) i = 0; reversevideo(32, i+10, a[i]); break; } break; case 13: done = 1; } } while (!done);

_setcursortype(_NOCURSOR); return(i+49); }

/* The function main_menu() is used to display the main menu system */ void main_menu::control_menu() {

char choice; cassettes cas; account a; balance bal; other oth;

do { choice = menu(); clrscr();

switch (choice) { case '1': _setcursortype(_NORMALCURSOR); box(3, 1, 75, 24); box(5, 2, 73, 23);

cas.new_cassettes(); // New cassette entry function break; case '2': box(3, 1, 75, 24); box(5, 2, 73, 23); cassettes ini; ini.display_list(); // Glogal list of cassettes function break; case '3': box(3, 1, 75, 24); box(5, 2, 73, 23);

_setcursortype(_NORMALCURSOR);

a.new_account(); // Enter the personwise sale cassette break; case '4': box(3, 1, 75, 24); box(5, 2, 73, 23);

account a; _setcursortype(_NORMALCURSOR); a.Display_sales(); // Displays the sales cassettes break; case '5': box(3, 1, 75, 24); box(5, 2, 73, 23);

_setcursortype(_NORMALCURSOR); oth.Expense_other(); // Entry of other expenses break; case '6': box(3, 1, 75, 24); box(5, 2, 73, 23); gotoxy(10,10); oth.display_expense();    // Displays the expenses break; case '7': box(3, 1, 75, 24); box(5, 2, 73, 23); gotoxy(10,10); bal.balance_cassette(); // Function to display the balance cassettes in shop break; case '8' : box(3, 1, 75, 24); box(5, 2, 73, 23); gotoxy(10,10); // Monthly profit after every transaction bal.monthly_profit(); break; case '9' :exit(0); } } while (choice != 8); }

/* Function to draw horizontal line for menu*/ void shape::line_hor(int column1, int column2, int row, char c) { for (column1; column1 <= column2; column1++) { gotoxy(column1, row); cout << c; } }

/* Function to draw vertical line for menu */ void shape::line_ver(int row1, int row2, int column, char c) { for (row1; row1 <= row2; row1++) { gotoxy(column, row1); cout << c; } }

/* Function for drawing boxes for menu */ void shape::box(int column1, int row1, int column2, int row2, char c) { char ch = 218; char c1, c2, c3, c4; char l1 = 196, l2 = 179; if (c == ch) { c1 = 218; c2 = 191; c3 = 217; c4 = 217; l1 = 196; l2 = 179; } else { c1 = c; c2 = c; c3 = c; c4 = c; l1 = c; c2 = c; }

gotoxy(column1, row1); cout << c1; gotoxy(column2, row1); cout << c2; gotoxy(column1, row2); cout << c3; gotoxy(column2, row2); cout << c4; column1++; column2--; line_hor(column1, column2, row1, l1); //Horizontal line line_hor(column1, column2, row2, l1); column1--; column2++; row1++; row2--; line_ver(row1, row2, column1, l2); // Vertical line line_ver(row1, row2, column2, l2); }

/* Function to display help about this project */ void main_menu::help(void) { clrscr();

setbkcolor(7); settextstyle(7,HORIZ_DIR,5); outtextxy(70,20,"Welcome to Music Shop"); settextstyle(2,HORIZ_DIR,5); outtextxy(60,100, "This project your can keep record of daily music cassettes "); delay(2); outtextxy(60,130, "transaction. This program is capable of holding any no. of cassettes."); delay(2); outtextxy(60,160, "-In first option you can enter new cassette information"); delay(2); outtextxy(60,190, "-In second option you can see the list of all the cassettes"); delay(2); outtextxy(60,220,"-In third option you can sales the cassettes according to demand"); delay(2); outtextxy(60,250, "-Through fourth optiion you can see the sales status"); delay(2); outtextxy(60,280, "In the fifth option enter your daily other expenses"); delay(2); outtextxy(60,310, "-In fifth option you can take monthWise individual account report"); delay(2); outtextxy(60,340,"-In sixth option you can take reports of other expenses"); delay(2); outtextxy(60,370, "Note-: Enter only valid data while you maintain this package"); delay(2); outtextxy(60,400, "-And last option is Quit (Exit From Music Window)"); delay(2);

settextstyle(7,HORIZ_DIR,4); outtextxy(80,420,"Press any key to continue..."); getch();

}

/* Function for displaying a cassette information when required */ void cassettes::display(int t_cas_code) { fstream file; file.open("cassettes.dat", ios::in); file.seekg(0, ios::beg);

// Displays the record contents matching // with t_cas_code from cassettes.dat data file while (file.read((char *)this, sizeof(cassettes))) { if (t_cas_code == cas_code) { gotoxy(8, 5); cout << "Account no. " << cas_code; gotoxy(10, 8); cout << "Name : "; puts(Cass_name); gotoxy(10, 9); cout << "Comany Name : "; puts(Comp_name);

gotoxy(10, 10); cout << "Price : " << setw(15)    // setwidth << setprecision(2)    // set position of decimal point << setiosflags(ios::left)   // set left justified output << setiosflags(ios::showpoint)  // always show decimal point << setiosflags(ios::fixed)    // set fixed notation for display << price; break; } }

file.close(); }

/* Function to find is their records in cassette.dat file or not */

int cassettes::last_cas_code(void) { fstream file; file.open("cassettes.dat", ios::in); file.seekg(0, ios::beg); int tcount = 0; int count = 0;

// Founds the last account no. while (file.read((char *)this, sizeof(cassettes))) { tcount = cas_code; count = count + tcount; }

file.close(); return count; }

/* Function to find is their records in file person.dat or not */

int account::last_cas_code(void) { fstream file; file.open("Person.dat", ios::in); file.seekg(0, ios::beg); int tcount = 0; int count = 0; // Founds the last account no. while (file.read((char *)this, sizeof(account))) { tcount = cas_code; count = count + tcount; } file.close(); return count; }

/* Function for returning balance cassette. This function returns the balance cassette on code wise to know the current balance from "Tbal.dat" data file. */

int balance::give_balance(int t_cas_code) { fstream file; file.open("Tbal.dat", ios::in); file.seekg(0, ios::beg); int t_balance = 0;

// Gives the last balance of an individual account while (file.read((char *)this, sizeof(balance))) { if (file.eof()) break;

if (cas_code == t_cas_code) { t_balance = cas_bal; break; } } file.close(); return t_balance; }

// Function to return the cassette price float balance::return_price(int t_cas_code) { float t_price = 0.0; fstream file; file.open("Tbal.dat", ios::in); file.seekg(0, ios::beg);

// Gives the last balance of an individual account while (file.read((char *)this, sizeof(balance))) { if (file.eof()) break;

if (cas_code == t_cas_code) { t_price = price; break; } } file.close(); return t_price; }

/* This function add_to_file() is used to create new/fresh record in the data file */

void cassettes::add_to_file(int t_cas_code, char t_Cass_name[30], char t_Comp_name[30], int t_cas, int tdd, int tmm, int tyy, float t_price) { cas_code = t_cas_code; strcpy(Cass_name, t_Cass_name); strcpy(Comp_name, t_Comp_name); tot_cassette = t_cas; dd = tdd; mm = tmm; yy = tyy; price = t_price;

fstream file;

// Appends new account record with the price into cassettes.dat data file file.open("cassettes.dat", ios::out|ios::app); file.write((char *)this, sizeof(cassettes)); file.close(); }

/* This function add_to_file() is used to create new/fresh record in the data file */

void balance::add_to_file(int t_cas_code, int t_cas, int tdd, int tmm, int tyy, float t_price) { int bal = give_balance(t_cas_code);

if (bal > 0) { fstream file; file.open("Tbal.dat", ios::in); fstream temp; temp.open("TEMP.dat", ios::out); file.seekg(0,ios::beg);

// Uses a copy method to delete the cassette // from cassette.dat data file while (!file.eof()) { file.read((char *)this, sizeof(balance)); if (file.eof()) break; if (cas_code != t_cas_code) temp.write((char *)this, sizeof(balance)); else { cas_code = t_cas_code; cas_bal = t_cas + bal; dd = tdd; mm = tmm; yy = tyy; price = t_price; temp.write((char *)this, sizeof(balance)); } }

file.close(); temp.close(); file.open("Tbal.dat", ios::out); temp.open("TEMP.dat", ios::in); temp.seekg(0, ios::beg);

// Copy the TEMP.dat contents into cassette.dat data file while (!temp.eof()) { temp.read((char *)this, sizeof(balance)); if (temp.eof()) break; file.write((char *)this, sizeof(balance)); } file.close(); temp.close(); } else { cas_code = t_cas_code; cas_bal = t_cas; dd = tdd; mm = tmm; yy = tyy; price = t_price; fstream file;

// Appends new account record with the // price into cassettes.dat data file file.open("Tbal.dat", ios::out|ios::app); file.write((char *)this, sizeof(balance)); file.close(); } }

// Function for deleting a account from cassettes.dat file void cassettes::delete_cassette(int t_cas_code) { fstream file; file.open("cassettes.dat", ios::in); fstream temp; temp.open("TEMP.dat", ios::out); file.seekg(0,ios::beg);

// Uses a copy method to delete the account // from cassette.dat data file while (!file.eof()) { file.read((char *)this, sizeof(cassettes)); if (file.eof()) break; if (cas_code != t_cas_code) temp.write((char *)this, sizeof(cassettes)); }

file.close(); temp.close(); file.open("cassettes.dat", ios::out); temp.open("TEMP.dat", ios::in); temp.seekg(0, ios::beg);

// Copy the TEMP.dat contents into cassette.dat data file while (!temp.eof()) { temp.read((char *)this, sizeof(cassettes)); if (temp.eof()) break; if (cas_code != t_cas_code) file.write((char *)this, sizeof(cassettes)); }

file.close(); temp.close(); }

// Function for deleting a balance from Tbal.dat file void balance::delete_balance(int t_cas_code) { fstream file; file.open("Tbal.dat", ios::in); fstream temp; temp.open("TEMP.dat", ios::out); file.seekg(0,ios::beg);

// Uses a copy method to delete the account from Tbal.dat data file while (!file.eof()) { file.read((char *)this, sizeof(balance)); if (file.eof()) break; if (cas_code != t_cas_code) temp.write((char *)this, sizeof(balance)); } file.close(); temp.close(); file.open("Tbal.dat", ios::out); temp.open("TEMP.dat", ios::in); temp.seekg(0, ios::beg);

// Copy the TEMP.dat contents into Tbal.dat data file while (!temp.eof()) { temp.read((char *)this, sizeof(balance)); if (temp.eof()) break; if (cas_code != t_cas_code) file.write((char *)this, sizeof(balance)); }

file.close(); temp.close(); }

/* Function for add an account details of daily tranaction into person.dat file. */

void account::add_to_file(int t_cas_code, char tP_name[30], char tP_address[30],int tNo_cass, int d1, int m1, int y1) {

cas_code = t_cas_code; strcpy(P_name, tP_name); strcpy(P_address, tP_address); No_cass = tNo_cass; dd = d1; mm = m1; yy = y1;

fstream file;

// Appends the transaction record into person.dat data file file.open("person.dat", ios::out|ios::app); file.write((char *)this, sizeof(account)); file.close(); }

/* Function for deleting an account from person.dat file. */ void account::delete_account(int t_cas_code) { fstream file; file.open("person.dat", ios::in); // Open to read records fstream temp; temp.open("TEMP.dat", ios::out); // Open to write records file.seekg(0, ios::beg);    // Positioned from begining of the file

// Uses the copy method for deleting the // transaction record from person.dat data file while (!file.eof()) { file.read((char *)this, sizeof(account)); if (file.eof()) break; if (cas_code != t_cas_code) temp.write((char *)this, sizeof(account)); }

file.close(); temp.close(); file.open("person.dat", ios::out); temp.open("TEMP.dat", ios::in); temp.seekg(0, ios::beg);

// Uses copy method to transfer the record // from TEMP.dat file to person.dat data file while (!temp.eof()) { temp.read((char *)this, sizeof(account)); if (temp.eof()) break; if (cas_code != t_cas_code) file.write((char *)this, sizeof(account)); }

file.close(); temp.close(); }

// Function for add an other expenses details in other.dat data file void other::add_to_file(int tO_code, char tNat_Expen[30], int d1, int m1,  int y1, float tamount) { O_code = tO_code; strcpy(Nat_Expen, tNat_Expen); dd = d1; mm = m1; yy = y1; amount = tamount;

fstream file;

// Appends the transaction record into other.dat data file file.open("other.dat", ios::out|ios::app); file.write((char *)this, sizeof(other)); file.close(); }

/* Function for displaying an account from "cassettes.dat". */ void cassettes::display_list(void) { clrscr(); int flag; float tot_price = 0.0, tot_balance = 0.0; fstream file; gotoxy(25,2);

cout << "List of cassettes in Music Shop"; gotoxy(25, 3); cout << "==============================="; int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year; gotoxy(62, 3); cout << "Date: " << d1 << "/" << m1 << "/" << y1; gotoxy(1, 4); for (int j = 1; j <= 79; j++) cout << "=";

gotoxy(1, 5); cout << "Code #"; gotoxy(9, 5); cout << "Cassette Name"; gotoxy(34, 5); cout << "Company Name"; gotoxy(55, 5); cout << "Qty"; gotoxy(61, 5); cout << "Price"; gotoxy(72, 5); cout << "Total"; gotoxy(1, 6); for (j = 1; j <= 79; j++) cout << "=";

file.open("cassettes.dat", ios::in); file.seekg(0,ios::beg); int row = 7;

// Reads all the records to display on the screen while (file.read((char *)this, sizeof(cassettes))) { tot_price = 0.0; flag = 0; delay(2); gotoxy(3, row); cout << cas_code; gotoxy(9, row); puts(Cass_name); gotoxy(34, row); puts(Comp_name); gotoxy(55, row); cout << tot_cassette;

gotoxy(61, row); cout <<  setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << price;

tot_price = tot_cassette * price;

gotoxy(72, row); cout <<  setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << tot_price;

tot_balance = tot_balance + tot_price;

row++; if (row > 23) { flag = 1; row = 6; gotoxy(4, 24); cout << "Press any key to continue.... "; getch(); clrscr(); } }

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++; gotoxy(3, row); cout << "Total price of Cassettes is : ";

gotoxy(72, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << tot_balance;

file.close(); if (!flag) { gotoxy(4, 24); cout << "Press any key to continue..."; getch(); } getch(); }

/* Function for displaying an cassette sales on day wise */ void account::Display_sales(void) { clrscr(); int flag; fstream file;

int tcas_code; int xdd, xmm, xyy; clrscr(); gotoxy(10, 8); cout << "Enter the Cassette Code "; gotoxy(10, 9); cout <<"As 1 or 2 or 3 "; gotoxy(10, 11); cout << "Enter the date " ; gotoxy(30, 9); cin >> tcas_code; gotoxy(30, 11); cin >> xdd; gotoxy(32, 11); cout << "-"; gotoxy(33, 11); cin >> xmm; gotoxy(35, 11); cout << "-"; gotoxy(36, 11); cin >> xyy; if (tcas_code < 1) { gotoxy(5, 23); cout << "Your entry is not valid"; getch(); return; } else if (tcas_code > 3) { gotoxy(5, 23); cout << "Your entry is not valid"; getch(); return; }

clrscr(); gotoxy(25, 2); cout << "Sales Report in Music Shop"; gotoxy(25, 3); cout << "=========================="; int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year; gotoxy(62, 3); cout << "Date: " << d1 << "/" << m1 << "/" << y1; gotoxy(1, 5); for (int j = 1; j <= 79; j++) cout << "=";

gotoxy(1, 6); cout << "Code #"; gotoxy(9, 6); cout << "Name"; gotoxy(34, 6); cout << "Address"; gotoxy(55, 6); cout << "Qty"; gotoxy(61, 6); cout << "Date";

gotoxy(1, 7); for (j = 1; j <= 79; j++) cout << "="; file.open("Person.dat", ios::in); file.seekg(0,ios::beg); int row = 8;

// Reads all the records to display on the screen while (file.read((char *)this, sizeof(account))) { if ((tcas_code == cas_code) && (xmm == mm) && (xyy == yy)) { flag = 0; delay(2); gotoxy(3, row); cout << cas_code; gotoxy(9, row); puts(P_name); gotoxy(34, row); puts(P_address); gotoxy(55, row); cout << No_cass;

gotoxy(61, row); cout << dd << "-" << mm << "-" << yy; ++row; if (row > 23) { flag = 1; row = 6; gotoxy(4, 24); cout << "Press any key to continue.... "; getch(); clrscr(); } } }

++row;

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++;

file.close(); if (!flag) { gotoxy(4, 24); cout << "Press any key to continue..."; getch(); } getch(); }

/* Function for displaying other expenses in shop */ void other::display_expense(void) { clrscr(); int flag; fstream file;

/* The other expence code as : 1     -    Salary to workers, 2    -    Electricity bill 3    -    Telephone bills 4    -    Miscellaneous expenses    */

int tO_code; int xdd, xmm, xyy; clrscr(); gotoxy(10, 8); cout << "Enter the Expense Code "; gotoxy(10, 9); cout <<"1 Salary to Worker "; gotoxy(10, 10); cout <<"2 Electricity bill "; gotoxy(10, 11); cout <<"3 Telephone bill "; gotoxy(10, 12); cout <<"4 Miscellaneous ";

gotoxy(10, 13); cout <<"Enter your Choice";

gotoxy(10, 14); cout << "Enter the date " ; gotoxy(30, 13); cin >> tO_code; gotoxy(30, 14); cin >> xdd; gotoxy(32, 14); cout << "-"; gotoxy(33, 14); cin >> xmm; gotoxy(35, 14); cout << "-"; gotoxy(36, 14); cin >> xyy; if (tO_code < 1) { gotoxy(5, 23); cout << "Your entry is not valid"; getch(); return; } else if (tO_code > 4) { gotoxy(5, 23); cout << "Your entry is not valid"; getch(); return; }

clrscr();

gotoxy(25, 2); cout << "Other Expenses in Music Shop"; gotoxy(25, 3); cout << "============================"; int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year;

gotoxy(62, 3); cout << "Date: " << d1 << "/" << m1 << "/" << y1;

gotoxy(1, 5); for (int j = 1; j <= 79; j++) cout << "=";

gotoxy(1, 6); cout << "Code #"; gotoxy(9, 6); cout << "Nature Expense"; gotoxy(34, 6); cout << "Date"; gotoxy(55, 6); cout << "Amount";

gotoxy(1, 7); for (j = 1; j <= 79; j++) cout << "=";

file.open("other.dat", ios::in); file.seekg(0,ios::beg); int row = 8;

// Reads all the records to display on the screen while (file.read((char *)this, sizeof(other))) {

if ((tO_code == O_code) && (xmm == mm) && (xyy == yy)) { flag = 0; delay(2); gotoxy(3, row);

cout << O_code; gotoxy(9, row); puts(Nat_Expen); gotoxy(34, row); cout << dd << "-" << mm << "-" << yy; gotoxy(55, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << amount;

++row; if (row > 23) { flag = 1; row = 6; gotoxy(4, 24); cout << "Press any key to continue.... "; getch(); clrscr(); } } }

++row; gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++;

file.close(); if (!flag) { gotoxy(4, 24); cout << "Press any key to continue..."; getch(); } getch(); }

/* Function for clearing specified row and column. */ void account::clear(int col, int row) { for (int j = col; j <= 79; j++) { gotoxy(j, row); cout << " "; } }

/* Function for return name of the account holder from cassettes.dat. */ char *cassettes::return_name(int t_cas_code) { fstream file; file.open("cassettes.dat", ios::in); file.seekg(0, ios::beg); char t_Cass_name[30];

// Return the name to display at report screen if found while (file.read((char *)this, sizeof(cassettes))) { if (cas_code == t_cas_code) { strcpy(t_Cass_name, Cass_name); break; } } file.close(); return t_Cass_name; }

/* Function for return Comp_name of the account holder from cassettes.dat. */ char *cassettes::return_address(int t_cas_code) { fstream file; file.open("cassettes.dat", ios::in); file.seekg(0, ios::beg); char t_Comp_name[30];

// Return the Comp_name to display at report screen if found while (file.read((char *)this, sizeof(cassettes))) { if (cas_code == t_cas_code) { strcpy(t_Comp_name, Comp_name); break; } } file.close(); return t_Comp_name; }

void balance::monthly_profit() {

clrscr(); int flag; fstream file; gotoxy(25,1);

cout << "Monthly Profit Statement"; gotoxy(25, 2); cout << "========================";

int d1, m1, y1; struct date d;        // For extracting system date getdate(&d);

d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year;

float T_bal = 0.0; float G_bal = 0.0; gotoxy(55, 3); cout << "As on Date: " << d1 << "/" << m1 << "/" << y1;

gotoxy(1, 4); for (int j = 1; j <= 79; j++) cout << "=";

gotoxy(1, 5); cout << "Code #"; gotoxy(15, 5); cout << "Total Balance"; gotoxy(40, 5); cout << "Date";

gotoxy(50, 5); cout << "Unit Price";

gotoxy(65, 5); cout << "Total Amount";

gotoxy(1, 6); for (j = 1; j <= 79; j++) cout << "=";

file.open("Tbal.dat", ios::in); file.seekg(0,ios::beg); int row = 7;

float cod1=0.0; float cod2=0.0; float cod3=0.0; // Reads all the records to display on the screen while (file.read((char *)this, sizeof(balance))) { flag = 0; if (cas_code == 1) cod1 = price; else if (cas_code == 2) cod2 = price; else cod3 = price; T_bal = cas_bal * price; delay(2); gotoxy(3, row); cout << cas_code; gotoxy(20, row); cout << cas_bal; gotoxy(40, row); cout << dd <<"-"<< mm << "-" << yy; gotoxy(53, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << price; G_bal = G_bal + T_bal;

gotoxy(68, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << T_bal; T_bal = 0.0; row++; if (row > 23) { flag = 1; row = 6; gotoxy(4, 24); cout << "Press any key to continue.... "; getch(); clrscr(); } }

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++; gotoxy(50, row); cout << "Grand Total"; gotoxy(68, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << G_bal;

file.close(); row++; float saltotal = 0.0; account a; saltotal = a.sales_status(m1, y1, cod1, cod2, cod3);    // Will display the sales status row++;

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++; gotoxy(5, row); cout << "This month's Sales Amount"; gotoxy(50, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << saltotal;

float gother = 0.0; other oth; gother =  oth.other_status(m1, y1); row = row + 2; gotoxy(5, row); cout << "Other expenses "; gotoxy(50, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << gother;

row++;

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++; gotoxy(5, row); cout << "Net Profit";

float net_bal = 0.0; net_bal = (G_bal + saltotal) - gother; gotoxy(50, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << net_bal;

if (!flag) { gotoxy(4, 24); cout << "Press any key to continue..."; getch(); } getch(); }

// Function to find the sales total value float account::sales_status(int m1, int y1, float cod1, float cod2, float cod3) { fstream file; file.open("Person.dat", ios::in); file.seekg(0,ios::beg); // Reads all the records to display on the screen float ts = 0.0; float gts = 0.0; while (file.read((char *)this, sizeof(account))) { if ((m1 == mm) && (y1 == yy)) { if (cas_code == 1) ts = No_cass * cod1; else if (cas_code == 2) ts = No_cass * cod2; else ts = No_cass * cod3; gts = gts + ts; ts = 0; } } file.close(); return gts; }

// Function to find the other status float other::other_status(int m1, int y1) { fstream file; file.open("other.dat", ios::in); file.seekg(0,ios::beg); // Reads all the records to display on the screen float goth = 0.0; while (file.read((char *)this, sizeof(other))) { if ((m1 == mm) && (y1 == yy)) { goth = goth + amount; } } file.close(); return goth; }

// Function to display the balance cassette in music shop

void balance::balance_cassette(void) {

clrscr(); int flag; fstream file; gotoxy(25,1);

cout << "List of Balance Cassettes"; gotoxy(25, 2); cout << "========================="; int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year;

float T_bal = 0.0; float G_bal = 0.0; gotoxy(55, 3); cout << "As on Date: " << d1 << "/" << m1 << "/" << y1;

gotoxy(1, 4); for (int j = 1; j <= 79; j++) cout << "=";

gotoxy(1, 5); cout << "Code #"; gotoxy(15, 5); cout << "Total Balance"; gotoxy(40, 5); cout << "Date";

gotoxy(50, 5); cout << "Unit Price";

gotoxy(65, 5); cout << "Total Amount";

gotoxy(1, 6); for (j = 1; j <= 79; j++) cout << "=";

file.open("Tbal.dat", ios::in); file.seekg(0,ios::beg); int row = 7;

// Reads all the records to display on the screen while (file.read((char *)this, sizeof(balance))) { flag = 0; T_bal = cas_bal * price; delay(2); gotoxy(3, row); cout << cas_code; gotoxy(20, row); cout << cas_bal; gotoxy(40, row); cout << dd <<"-"<< mm << "-" << yy; gotoxy(53, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << price; G_bal = G_bal + T_bal;

gotoxy(68, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << T_bal; T_bal = 0.0; row++; if (row > 23) { flag = 1; row = 6; gotoxy(4, 24); cout << "Press any key to continue.... "; getch(); clrscr(); } }

gotoxy(1, row); for (j = 1; j <= 79; j++) cout << "="; row++; gotoxy(50, row); cout << "Grand Total"; gotoxy(68, row); cout << setw(15) << setprecision(2) << setiosflags(ios::left) << setiosflags(ios::showpoint) << setiosflags(ios::fixed) << G_bal;

file.close(); if (!flag) { gotoxy(4, 24); cout << "Press any key to continue..."; getch(); } getch(); }

/* Function for recording the new cassettes in shop */ void cassettes::new_cassettes(void) { char ch; int i, valid; clrscr();

// Declaring the class objects for different operations with // member functions

account a; balance bal; cassettes ini;

shape s; s.box(2, 1, 79, 25, 218); s.box(25, 2, 54, 4, 219);

gotoxy(65, 2); cout << "<0>=Exit";

gotoxy(3,3); for (i = 1; i<= 76; i++) cprintf(" "); textbackground(BLACK); textcolor(BLACK+BLINK); textbackground(WHITE); gotoxy(30, 3); cprintf("Add New Cassette"); textcolor(LIGHTGRAY); textbackground(BLACK); int d1, m1, y1;        // Declare the variable for purchase date of cassette struct date d;        // For extracting system date

getdate(&d);        // Extract the system.date d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year;

// Declaring the temporary variables for cassette entry

char c_code[10];

int t_cas_code; char t_Cass_name[30]; char t_Comp_name[30]; int t_cas; int tdd, tmm, tyy; float t_price;

t_cas_code = ini.last_cas_code();

// Appends and deletes a false record // to create primary position in data files if (t_cas_code == 0) { ini.add_to_file(t_cas_code, "abc", "xyz", 1, 1, 1, 1, 1.1); ini.delete_cassette(t_cas_code); bal.add_to_file(t_cas_code, 0, 0, 0, 0, 0.0); bal.delete_balance(t_cas_code); }

gotoxy(4, 6); cout << "Date: " << d1 << '/' << m1 << '/' << y1;

gotoxy(5, 8); cout << "Cassette Code # "; gotoxy(5, 10); cout << "Cassette Name : "; gotoxy(5, 12); cout << "Company Name : "; gotoxy(5, 14); cout << "Total Cassettes: "; gotoxy(5, 16); cout << "Individual Cassette price : "; gotoxy(5, 18); cout << "Enter the Date ";

// Steps to enter the cassette code either 1 - 2 - 3. do { a.clear(22, 8); a.clear(5, 23);        // Clears the buttom message gotoxy(5, 23); cout << "Enter cassettes Code either 1/2/3 "; valid = 1; gotoxy(22, 8); gets(c_code); t_cas_code = atoi(c_code);

if (t_cas_code <= 0) { valid = 0; a.clear(5, 23); gotoxy(5, 23); cprintf("\7Should not other than 1, 2, 3"); getch(); gotoxy(5, 23); cout << "Enter cassettes Code either 1/2/3 ";

} } while (!valid); a.clear(5, 23);

// Steps to enter the Cassette name do { a.clear(22, 10); a.clear(5, 23); gotoxy(5, 23); cout << "Enter Name of the Cassette"; valid = 1; gotoxy(22, 10); gets(t_Cass_name); strupr(t_Cass_name); if (t_Cass_name[0] == '0') return; if (strlen(t_Cass_name) == 0 || strlen(t_Cass_name) > 25) { valid = 0; gotoxy(5, 23); cprintf("\7Cassette Name should not greater than 25"); getch(); } }while (!valid); a.clear(5, 23);

// Steps to enter company name do { a.clear(22, 12); a.clear(5, 23); gotoxy(5, 23); cout << "Enter Company Name "; valid = 1; gotoxy(22, 12); gets(t_Comp_name); strupr(t_Comp_name); if (t_Comp_name[0] == '0') return; if (strlen(t_Comp_name) == 0 || strlen(t_Comp_name) > 25) { valid = 0; gotoxy(5, 23); cprintf("\7Company Name should not greater than 25"); getch(); } }while (!valid); a.clear(5, 23);

// Steps to enter the total cassettes purchased do { a.clear(22, 14); a.clear(5, 23); gotoxy(5, 23); cout << "Enter Total number of cassettes purchased"; valid = 1; gotoxy(22, 14); gets(c_code); t_cas = atoi(c_code); if (t_cas == 0) { valid = 0; a.clear(5, 23); gotoxy(5, 23); cprintf("\7Enter valid cassette number"); getch(); gotoxy(5, 23); cout << "Enter Total number of cassettes purchased";

} }while (!valid); a.clear(5, 23);

// Steps to enter the cassette/price do { a.clear(35, 16); a.clear(5, 23); gotoxy(5, 23); cout << "Enter individual cassette price"; valid = 1; gotoxy(35, 16); gets(c_code); t_price = atof(c_code); if (t_price <= 0) { valid = 0; gotoxy(5, 23); cprintf("\7Enter valid price for cassette"); getch(); } }while (!valid); a.clear(5, 23);

// Steps to enter the purchase date a.clear(22, 18); a.clear(5, 23); gotoxy(5, 23); cout << "Enter date on which the cassette is purchase"; valid = 1; gotoxy(22, 18); cin >> tdd; gotoxy(25, 18); cout << "-"; gotoxy(26, 18); cin >> tmm; gotoxy(28, 18); cout << "-"; gotoxy(29, 18); cin >> tyy; a.clear(5, 23);

do { a.clear(5, 20); valid = 1; gotoxy(5, 20); cout << "Do you want to save the record <Y/N>: "; ch = getche(); if (ch == '0') return; ch = toupper(ch); }while (ch != 'N' && ch != 'Y');

if (ch == 'N') return;

// Appends the records contents into // both cassettes.dat and person.dat data files ini.add_to_file(t_cas_code, t_Cass_name, t_Comp_name, t_cas, tdd, tmm, tyy, t_price);

bal.add_to_file(t_cas_code, t_cas, tdd, tmm, tyy, t_price); }

/* This function update_balance() is used to update the balance cassette in Tbal.dat data file */

void balance::Update_balance(int t_cas_code, int t_cas, int tdd, int tmm, int tyy, float t_price) { int bal = give_balance(t_cas_code);

if (bal > 0) { fstream file; file.open("Tbal.dat", ios::in); fstream temp; temp.open("TEMP.dat", ios::out); file.seekg(0,ios::beg);

// Uses a copy method to delete the account from Tbal.dat data file while (!file.eof()) { file.read((char *)this, sizeof(balance)); if (file.eof()) break; if (cas_code != t_cas_code) temp.write((char *)this, sizeof(balance)); else { cas_code = t_cas_code; cas_bal = bal - t_cas; dd = tdd; mm = tmm; yy = tyy; price = t_price; temp.write((char *)this, sizeof(balance)); } }

file.close(); temp.close(); file.open("Tbal.dat", ios::out); temp.open("TEMP.dat", ios::in); temp.seekg(0, ios::beg);

// Copy the TEMP.dat contents into Tbal.dat data file while (!temp.eof()) { temp.read((char *)this, sizeof(balance)); if (temp.eof()) break; file.write((char *)this, sizeof(balance)); }

file.close(); temp.close(); } else { cas_code = t_cas_code; cas_bal = t_cas; dd = tdd; mm = tmm; yy = tyy; price = t_price; fstream file;

// Appends new account record with the price // into cassettes.dat data file file.open("Tbal.dat", ios::out|ios::app); file.write((char *)this, sizeof(balance));

file.close(); } }

/* Function for creating new account for new customer. */ void account::new_account(void) { char ch; int i, valid; clrscr(); balance bal;

shape s; s.box(2, 1, 79, 25, 218); s.box(25, 2, 54, 4, 219);

gotoxy(65, 2); cout << "<0>=Exit";

gotoxy(3,3); for (i = 1; i<= 76; i++) cprintf(" "); textbackground(BLACK); textcolor(BLACK+BLINK); textbackground(WHITE); gotoxy(30, 3); cprintf("Sales of Cassettes"); textcolor(LIGHTGRAY); textbackground(BLACK); int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year; int t_cas_code;

int C_bal = 0; float t_price; char c_code[2]; char tP_name[30];    // Person Name char tP_address[30];    // Person Address int tNo_cass;        // Number of cassette

t_cas_code = last_cas_code();

// Appends and deletes a false record to create // primary position in data files if (t_cas_code == 0) { add_to_file(t_cas_code, "xxxx", "xxxxx", 1, 1, 1, 1); delete_account(t_cas_code); }

gotoxy(5, 6); cout << "Date: " << d1 << '/' << m1 << '/' << y1; gotoxy(5, 8); cout << "Cassette Code "; gotoxy(5, 10); cout << "Name of Person : "; gotoxy(5, 12); cout << "Address : ";

gotoxy(5, 14); cout << "Total Cassette : ";

// Steps to enter the cassette code either 1 - 2 - 3. do { clear(22, 8); clear(5, 23);        // Clears the buttom message gotoxy(5, 23); cout << "Enter cassettes Code either 1/2/3 "; valid = 1; gotoxy(22, 8); gets(c_code); t_cas_code = atoi(c_code);

if (t_cas_code <= 0) { valid = 0; clear(5, 23); gotoxy(5, 23); cprintf("\7Should not other than 1, 2, 3"); getch(); gotoxy(5, 23); cout << "Enter cassettes Code either 1/2/3 "; } else { C_bal = bal.give_balance(t_cas_code); t_price = bal.return_price(t_cas_code); if (C_bal > 0) { gotoxy(40, 8); cout << "Total cassettes in Shop : " << C_bal; break; } else { cout << "There is no cassette in shop"; return; } } } while (!valid); clear(5, 23);

// Steps to enter the name of the purchase person do { clear(22, 10); clear(5, 23); gotoxy(5, 23); cout << "Enter Name of the Person"; valid = 1; gotoxy(22, 10); gets(tP_name); strupr(tP_name); if (tP_name[0] == '0') return; if (strlen(tP_name) == 0 || strlen(tP_name) > 25) { valid = 0; gotoxy(5, 23); cprintf("\7Name should not greater than 25"); getch(); clear(5, 23); }

}while (!valid); clear(5, 23);

// Steps to enter the address of the purchase person do { clear(22, 12); clear(5, 23); gotoxy(5, 23); cout << "Enter Name of the Person"; valid = 1; gotoxy(22, 12); gets(tP_address); strupr(tP_address); if (tP_address[0] == '0') return; if (strlen(tP_address) == 0 || strlen(tP_address) > 25) { valid = 0; gotoxy(5, 23); cprintf("\7Address should not greater than 25"); getch(); clear(5, 23); }

}while (!valid); clear(5, 23);

do { clear(22, 14); clear(5, 23); gotoxy(5, 23); cout << "No. of cassette "; valid = 1; gotoxy(22, 14); cin >> tNo_cass; if (tNo_cass > C_bal) { valid = 0; gotoxy(5, 23); cprintf("\7The availability of cassette is not sufficient"); getch(); } }while (!valid); clear(5, 23);

do { clear(5, 17); valid = 1; gotoxy(5, 17); cout << "Do you want to save the record <Y/N>: "; ch = getche(); if (ch == '0') return; ch = toupper(ch); }while (ch != 'N' && ch != 'Y');

if (ch == 'N') return;

// Updates the new balance after deducting the current sales

// Appends the records contents into both person.dat data files add_to_file(t_cas_code, tP_name, tP_address, tNo_cass, d1, m1,  y1);

bal.Update_balance(t_cas_code, tNo_cass, d1, m1, y1, t_price); }

/* Function for enter the other expences in other.dat data file. */ void other::Expense_other(void) { char ch; int i, valid; clrscr(); account a;

shape s; s.box(2, 1, 79, 25, 218); s.box(25, 2, 54, 4, 219);

gotoxy(65, 2); cout << "<0>=Exit"; gotoxy(3,3); for (i = 1; i<= 76; i++) cprintf(" "); textbackground(BLACK); textcolor(BLACK+BLINK); textbackground(WHITE); gotoxy(30, 3); cprintf("Other Expence in Shop"); textcolor(LIGHTGRAY); textbackground(BLACK); int d1, m1, y1; struct date d;        // For extracting system date getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year;

char c_code[2]; int tO_code;        // Other expence code char tNat_Expen[30];    // Nature of expense description float tamount;    // Expense amount

gotoxy(5, 6); cout << "Date: " << d1 << '/' << m1 << '/' << y1; gotoxy(5, 8); cout << "Expense Code "; gotoxy(5, 10); cout << "Nature of Expense : "; gotoxy(5, 12); cout << "Amount : ";

// Steps to enter the other expense code do { a.clear(22, 8); a.clear(5, 23);        // Clears the buttom message gotoxy(5, 23); cout << "Enter Expense code Code either 1/2/3/4 "; valid = 1; gotoxy(22, 8); gets(c_code); tO_code = atoi(c_code);

if (tO_code <= 0) { valid = 0; a.clear(5, 23); gotoxy(5, 23); cprintf("\7Expence code should not other than 1/2/3/4"); getch(); gotoxy(5, 23); cout << "Enter other expense Codes either 1/2/3/4 "; } } while (!valid); a.clear(5, 23);

// Steps to enter the nature of expense do { a.clear(22, 10); a.clear(5, 23); gotoxy(5, 23); cout << "Enter the Nature of expense"; valid = 1; gotoxy(22, 10); gets(tNat_Expen); strupr(tNat_Expen); if (tNat_Expen[0] == '0') return; if (strlen(tNat_Expen) == 0 || strlen(tNat_Expen) > 25) { valid = 0; gotoxy(5, 23); cprintf("\7Nature of expense not greater than 25"); getch(); a.clear(5, 23); }

}while (!valid); a.clear(5, 23);

gotoxy(22, 12); cin >> tamount;

do { a.clear(5, 17); valid = 1; gotoxy(5, 17); cout << "Do you want to save the record <Y/N>: "; ch = getche(); if (ch == '0') return; ch = toupper(ch); }while (ch != 'N' && ch != 'Y');

if (ch == 'N') return;

// Appends the records contents into both person.dat data files if (tamount > 0) add_to_file(tO_code, tNat_Expen, d1, m1,  y1, tamount); }

/* Function for returning the record no. for updating price */ int cassettes::recordno(int t_cas_code) { fstream file; file.open("cassettes.dat", ios::in); file.seekg(0, ios::beg); int count = 0;

// Finds the record position in cassettes.dat data file while (file.read((char *)this, sizeof(cassettes))) { count++; if (t_cas_code == cas_code) break; } file.close(); return count; }

/* Function for closing any account after inputing account number. */ void account::close_account(void) { clrscr(); char t_acc[10]; int t, t_cas_code; gotoxy(71, 1); cout << "<0>=Exit"; gotoxy(5, 5); cout << "Enter the account no. "; gets(t_acc); t = atoi(t_acc); t_cas_code = t; if (t_cas_code == 0) return; clrscr(); cassettes ini; balance bal;

if (!bal.give_balance(t_cas_code)) { gotoxy(5, 5); cout << "\7Account not found "; getch(); return; } gotoxy(71, 1); cout << "<0>=Exit"; gotoxy(3, 3); textbackground(WHITE); for (int i = 1; i <= 76; i++) cprintf(" "); textbackground(BLACK); textcolor(BLACK+BLINK); textbackground(WHITE); gotoxy(30, 3); cprintf("Close account screen"); textcolor(LIGHTGRAY); textbackground(BLACK); int d1, m1, y1; struct date d; getdate(&d); d1 = d.da_day; m1 = d.da_mon; y1 = d.da_year; gotoxy(5, 6); cout << "Date: " << d1 << "/" << m1 << "/" << y1; char ch;

ini. display(t_cas_code);

do { clear(5, 15); gotoxy(5, 15); cout << "Close this account <y/n?? "; ch = getche(); if (ch == '0') return; ch = toupper(ch); }while (ch != 'N' && ch != 'Y');

if (ch == 'N') return;

// Function calls to delete the existing account no. ini.delete_cassette(t_cas_code); delete_account(t_cas_code); gotoxy(5, 20); cout << "\7Account Deleted"; gotoxy(5, 23); cout << "Press any key to continue..."; getch(); }

// Main program logic which control the class members and member functions. void main(void) { main_menu  m_menu; int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

m_menu.help(); closegraph(); m_menu.control_menu(); }


Add Your Comment - Guidelines
You can express your opinion or reaction in the form below!

100 characters required

0 Comments:

Be the first one to comment!

You may also want to see:
QUOTE OF THE DAY
Love isn't something you find. Love is something that finds you. - Loretta Young
April 26th, 2024 - Friday
background

Sign in to continue