codetoad.com
  ASP Shopping CartForum & BBS
  - all for $20 from CodeToad Plus!
  
  Home || ASP | ASP.Net | C++/C# | DHTML | HTML | Java | Javascript | Perl | VB | XML || CodeToad Plus! || Forums || RAM 
Search Site:
Search Forums:
  errors in my program.. need help  wyl1986 at 20:55 on Wednesday, October 22, 2008
 

i cant sort the names in alphabetical order though sort function was used..

whats wrong with my program?

#include<iostream>
#include<string>
#include<fstream>
#include<vector>
#include<algorithm>

using namespace std;

class Person{
private :
char *personName;
long personphonenumber;
public:
Person(char *name, long phoneNumber);
~Person();
void PrintPerson();
void PrintFile();
friend bool operator<(const Person& left, const Person& right);};
bool operator<(const Person& left, const Person& right){
return left.personName < right.personName;
}
Person::Person(char *name, long phoneNumber){
personName = new char[sizeof(name) + 1];
for(int ii = 0; ii <= (sizeof(name) + 1); ii++){
personName[ii] = name[ii];
personphonenumber = phoneNumber;
}
cout << "Creating Employee: " << personName << "\t" << "Phone Number: " << personphonenumber << endl;
}
Person::~Person(){
//delete[] personName;
//cout << "Deleting Employee: " << personName << "\t" << "Phone Number: " << endl;
}
void Person::PrintPerson(){
cout << "----" << endl;
cout << "Name: " << personName << endl;
cout << "Phone Number: " << personphonenumber << endl;
cout << "----" << endl;
}
void Person::PrintFile(){
fstream oWrite; oWrite.open("/forum/Data.txt", ios::out | ios::app);
oWrite << "Name: " << personName << "\t" << endl;
oWrite << "Phone Number: " << personphonenumber << "\t" << endl;
oWrite << "\n\n";
oWrite.close();
}
int main(int argc, char *argv[]){
char *personName;
char name;
personName = new char[sizeof(name) + 1];
long personphonenumber;
int nInput;
int nNum;
bool cont = true;
Person *personArray;
vector<Person> details;
vector<Person>::iterator lpi;
while(cont){
do{
if(cin.fail()){
cin.clear();
while(cin.get() != '\n');
}
cout << "\nPlease select: \nTo create a new data enter '1' \nTo print the data enter '2' \nTo sort the name in alphabetical order enter '3' \nTo quit enter '4'" << endl;
cin >> nInput;
}
while(cin.fail() && cout << "\nPlease enter your selection again.. " << endl);
switch(nInput){
case 1:
//for(int ii = 0; ii < details.size(); ii++){
cout << "Please enter the name: ";
cin >> personName;
cout << endl;
do{
if(cin.fail()){
cin.clear();
while(cin.get() != '\n');
}
cout << "Please enter the phone number: ";
cin >> personphonenumber;
cout << endl;
}
while(cin.fail() && cout << "\nPlease enter again..");
personArray = new Person(personName, personphonenumber);
details.push_back(*personArray);
break;
case 2:
for(lpi = details.begin(); lpi != details.end(); ++lpi){
lpi -> PrintPerson();
lpi -> PrintFile();
}
break;
case 3:
sort(details.begin(), details.end());
for(lpi = details.begin();
lpi != details.end(); lpi++){
lpi -> PrintPerson();
lpi -> PrintFile();
}
break;
case 4:
cont = false;
break;
default:
cout << "Invalid input try again" << endl;
break;
}
}
//delete[] personArray;
//delete[] personName;
return EXIT_SUCCESS;}









CodeToad Experts

Can't find the answer?
Our Site experts are answering questions for free in the CodeToad forums
//








Recent Forum Threads
•  string match / replace across files
•  How to make connection string for database connectivity?
•  TIESCALAR problem while using Tie::InsertOrderHash
•  errors in my program.. need help
•  Source Edit in IE7, 8
•  Change what user is looking at
•  Re: shut down computer
•  Re: Help with key/value pairs
•  how to create a paying sytem in 7 eleven using java


Recent Articles
ASP GetTempName
Decode and Encode UTF-8
ASP GetFile
ASP FolderExists
ASP FileExists
ASP OpenTextFile
ASP FilesystemObject
ASP CreateFolder
ASP CreateTextFile
Javascript Get Selected Text


© Copyright codetoad.com 2001-2008