C++ Project on Music
// Declaration of header files
#include
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
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
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
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(); }