 |
| C++ Programming General discussions for the C++ language. For questions specific to Microsoft's Visual C++ variant, see the Visual C++ forum instead. |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the C++ Programming section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|

December 15th, 2004, 12:15 PM
|
|
Registered User
|
|
Join Date: Dec 2004
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
help needed
Hi i am trying to create a program that does the following in the c++ language.
â¢Define appropriate user-defined data types (enumerations and/or structs) to model the data of the application.
â¢Read the client data from the data file and store it in a convenient form.
â¢Enrol new clients.
â¢Renew membership of clients.
â¢Perform a search through the data for clients whose membership is about to run out and generate a reminder letter.
â¢Save the client data to a data file.
If anyone laready has a proram similar to this please can you post t to me thanks.
|

December 18th, 2004, 02:53 PM
|
|
Registered User
|
|
Join Date: Dec 2004
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Seems like know one is interested in helping me.
I have managed to do the 1st and the second one fro the previous post.
I have saved a file from which the program is ment to read the client details but it only reads 3 of the clients when in the file their are 4 clients saved. pls will someone have a look at my code and try help me solve the tasks. Thanks.
#include <iostream>
#include <fstream>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string>
using namespace std;
const int ACC_MAX = 1000 ;
enum MemberType { Annual, Quarterly } ;
//enum Month { Jan, Feb, Mar, Apr, May, Jun,
// Jul, Aug, Sep, Oct, Nov, Dec } ;
struct Date
{
int day;
int month;
int year;
};
struct Name
{
string first_name;
string surname;
};
struct Address
{
string house_no;
string streetname;
string streettype;
string town;
};
struct GymMember
{
Name name;
Address address;
MemberType member;
Date date;
};
void process( GymMember a )
{
switch( a.member )
{
case Quarterly:
a.date.month += 1;
break ;
case Annual:
a.date.year += 1;
break ;
}
}
void main1()// int argc, char* argv[] )
{
// assert( argc >= 2 ) ;
ifstream clientfile( "clients.dat" ) ;
GymMember member[ACC_MAX] ;
int nRead = 0 ;
string text;
int nMember;
int MembershipNo;
clientfile >> nMember >> text >> text >> text;
// read data from file and store in the array 'member'
do
{
clientfile >> member[nRead].name.first_name
>> member[nRead].name.surname
>> member[nRead].address.house_no
>> member[nRead].address.streetname
>> member[nRead].address.streettype
>> member[nRead].address.town
>> MembershipNo >> text >> text
>> member[nRead].date.day
>> member[nRead].date.month
>> member[nRead].date.year;
if ( MembershipNo == 12)
member[nRead].member = Quarterly;
else
member[nRead].member = Annual;
if ( clientfile )
{
cout << member[nRead].name.first_name << " "
<< member[nRead].name.surname << " "
<< member[nRead].address.house_no << " "
<< member[nRead].address.streetname << " "
<< member[nRead].address.streettype << " "
<< member[nRead].address.town << " "
<< member[nRead].member << ". "
<< member[nRead].date.day << " "
<< member[nRead].date.month << " "
<< member[nRead].date.year << " \n";
nRead++ ;
}
} while ( clientfile && nRead < ACC_MAX ) ;
cout << nRead << " accounts read\n" ;
// printf("dfdasf");
clientfile.close() ;
};
void main()// int argc)//, char* argv[] )
{
int menu_selection;
cout << "\n"
<< "================================================= ================\n"
<< " Welcome to Joe's Gym filing system\n"
<< " Bellow is the main menu for Joe's filing system\n"
<< " Thank you for choosing Alparsla associates\n"
<< "================================================= ================\n"
<< " \n"
<< " \n"
<< "Select 1: To view current clients\n"
<< "Select 2: To enrol new clients\n"
<< "Select 3: To perform a search through the data for\n"
<< " clients whose membership is about to run out\n"
<< "Select 4: Exit this program\n\n";
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
}
{
/*decalare a pointer*/
FILE *fp;
/* open a file and point clients to it */
fp = fopen(clients,r);
}
cin >> menu_selection;
switch (menu_selection)
{
case 1:
cout << "\n";
clients = fopen(clients,r);
cout << "\n";
main();
case 2:
break;
case 3:
break;
case 4:
cout << "Thank you for choosing Alparsla associates\n";
cout << " \n";
cout << "This program was written by\n";
cout << "Samet Alparslan\n";
//exit(1);
break;
}
}
|

January 6th, 2005, 09:49 PM
|
|
Authorized User
|
|
Join Date: Dec 2004
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hi,
I sent you an e-mail but you didn't reply to me!
So, Hero go again!!!!
-----------------------------------------------
Hello!
Please, forgive me for the delay.
I was working a lot this week and the last one too.
I 've got to say to you that I tried to keep the same structure you used in your
code. So don't worry about it!
I want you know next time you 've got a doubt in your code, please,
tell which line is working bad or wrong, OK?. Because It sometimes takes me a lot of
time!. Do you understand?
But, no problem. I liked so much to do your little programme!
So, tell me if you could understand your exercise now.
Regards,
Abel Conde
#include <iostream>
#include <fstream>
#include <assert.h>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;
const int ACC_MAX = 1000 ;
enum MemberType { Annual, Quarterly = 12} ;
//enum Month { Jan, Feb, Mar, Apr, May, Jun,
// Jul, Aug, Sep, Oct, Nov, Dec } ;
struct Date
{
int day;
int month;
int year;
};
struct Name
{
string first_name;
string surname;
};
struct Address
{
string house_no;
string streetname;
string streettype;
string town;
};
struct GymMember
{
Name name;
Address address;
MemberType member;
Date date;
};
void process( GymMember a )
{
switch( a.member )
{
case Quarterly:
a.date.month += 1;
break ;
case Annual:
a.date.year += 1;
break ;
}
}
void read_clients()
{
ifstream clientfile( "clients.dat" ) ;
GymMember member[ACC_MAX] ;
int nRead = 0 ;
//string text;
int nMember;
int MembershipNo;
// read data from file and store in the array 'member'
do
{
clientfile >> member[nRead].name.first_name;
clientfile >> member[nRead].name.surname;
clientfile >> member[nRead].address.house_no;
clientfile >> member[nRead].address.streetname;
clientfile >> member[nRead].address.streettype;
clientfile >> member[nRead].address.town;
clientfile >> MembershipNo;
clientfile >> member[nRead].date.day;
clientfile >> member[nRead].date.month;
clientfile >> member[nRead].date.year;
if ( MembershipNo == 12 )
member[nRead].member = Quarterly;
else
member[nRead].member = Annual;
nMember = nRead + 1; //identifies the record number
if ( clientfile )
{
cout << nMember << " "
<< member[nRead].name.first_name << " "
<< member[nRead].name.surname << " "
<< member[nRead].address.house_no << " "
<< member[nRead].address.streetname << " "
<< member[nRead].address.streettype << " "
<< member[nRead].address.town << " "
<< member[nRead].member << ". "
<< member[nRead].date.day << " "
<< member[nRead].date.month << " "
<< member[nRead].date.year << " \n";
nRead++ ;
}
} while ( clientfile && nRead < ACC_MAX ) ;
cout << "\n";
cout << nRead << " accounts read\n" ;
clientfile.close() ;
};
void add_new_clients()
{
ofstream clientfile( "clients.dat", ios::app ) ;
GymMember member;
int nRead = 0 ;
//string text;
string delimiter = "\t";
//int nMember;
int MembershipNo;
cout << "Input new data client:\n\n";
cout << "First Name: ";
cin >> member.name.first_name;
cout << "Surname: ";
cin >> member.name.surname;
cout << "House Number: ";
cin >> member.address.house_no;
cout << "Street Name: ";
cin >> member.address.streetname;
cout << "Street Type: ";
cin >> member.address.streettype;
cout << "Town: ";
cin >> member.address.town;
cout << "Member(0:Annual/12:Quarterly): ";
cin >> MembershipNo; //i use MembershipNo instead of member.member
cout << "Day: ";
cin >> member.date.day;
cout << "Month: ";
cin >> member.date.month;
cout << "Year: ";
cin >> member.date.year;
// append new data in clients.dat
clientfile << member.name.first_name << delimiter
<< member.name.surname << delimiter
<< member.address.house_no << delimiter
<< member.address.streetname << delimiter
<< member.address.streettype << delimiter
<< member.address.town << delimiter
<< MembershipNo << delimiter
<< member.date.day << delimiter
<< member.date.month << delimiter
<< member.date.year;
clientfile.close() ;
};
void search_clients()
{
GymMember member[ACC_MAX] ;
int nRead = 0 ;
int nFound = 0 ;
int nMember;
int MembershipNo;
string name;
cout << "Input client's first name or client's surname: ";
cin >> name;
cout << "\n";
ifstream clientfile( "clients.dat" ) ;
// read data from file and store in the array 'member'
do
{
clientfile >> member[nRead].name.first_name;
clientfile >> member[nRead].name.surname;
clientfile >> member[nRead].address.house_no;
clientfile >> member[nRead].address.streetname;
clientfile >> member[nRead].address.streettype;
clientfile >> member[nRead].address.town;
clientfile >> MembershipNo;
clientfile >> member[nRead].date.day;
clientfile >> member[nRead].date.month;
clientfile >> member[nRead].date.year;
if ( MembershipNo == 12 )
member[nRead].member = Quarterly;
else
member[nRead].member = Annual;
nMember = nRead + 1; //identifies the record number
if ( clientfile )
{
if ( name == member[nRead].name.first_name || name == member[nRead].name.surname)
{
cout << nMember << " "
<< member[nRead].name.first_name << " "
<< member[nRead].name.surname << " "
<< member[nRead].address.house_no << " "
<< member[nRead].address.streetname << " "
<< member[nRead].address.streettype << " "
<< member[nRead].address.town << " "
<< member[nRead].member << ". "
<< member[nRead].date.day << " "
<< member[nRead].date.month << " "
<< member[nRead].date.year << " \n";
nFound++;
}
nRead++ ;
}
} while ( clientfile && nRead < ACC_MAX ) ;
cout << "\n";
cout << nFound << " records found\n" ;
clientfile.close() ;
}
void main()
{
int menu_selection;
cout << "\n"
<< "================================================= ================\n"
<< " Welcome to Joe's Gym filing system\n"
<< " Bellow is the main menu for Joe's filing system\n"
<< "================================================= ================\n"
<< " \n"
<< " \n"
<< "Select 1: To view current clients\n"
<< "Select 2: To enrol new clients\n"
<< "Select 3: To perform a search through the data for\n"
<< " clients whose membership is about to run out\n"
<< "Select 4: Exit this program\n\n";
cin >> menu_selection;
switch (menu_selection)
{
case 1:
cout << "\n";
read_clients();
cout << "\n";
main();
break;
case 2:
cout << "\n";
add_new_clients();
cout << "\n";
main();
break;
case 3:
cout << "\n";
search_clients();
cout << "\n";
main();
break;
case 4:
break;
}
}
|
Similar Threads
|
| Thread |
Thread Starter |
Forum |
Replies |
Last Post |
| Help needed |
ramabharti |
Javascript How-To |
1 |
December 7th, 2006 06:42 AM |
| Help needed |
rrvinod |
ADO.NET |
0 |
October 5th, 2006 09:44 AM |
| help needed! |
paquito |
Beginning PHP |
2 |
November 16th, 2005 11:51 AM |
| A Little help needed |
matthew01 |
ASP.NET 1.0 and 1.1 Basics |
3 |
November 9th, 2005 11:29 AM |
| help needed |
kfarooq |
Java Databases |
1 |
June 27th, 2003 05:20 AM |
|
 |