| | |
loop and class problem
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Feb 2005
Posts: 13
Reputation:
Solved Threads: 0
lost!!! I took a homework assignment that worked written in just main and for practice I wanted to make them classes with pointers and have one derived class of base. Although the while loop, for the most part worked before it was turned into a class, it now does not work. I tried using If statement but I am haveing problems constructing. Now I'm totally at a lose as what to do.
error C2664: 'strcmp' : cannot convert parameter 1 from 'char *[20]' to 'const char *
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
sample.obj - 2 error(s), 0 warning(s)
*************************************************************
:rolleyes:
error C2664: 'strcmp' : cannot convert parameter 1 from 'char *[20]' to 'const char *
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.
sample.obj - 2 error(s), 0 warning(s)
*************************************************************
#include <iostream.h> // This is used for the cout's and cin's
#include <fstream.h> // This is used to read from and write to files
#include <stdlib.h> // This gives us the exit(1) command
#include <string.h>
class file1
{
protected:
char *filename[12];
char *name[20];
public:
file1()
{ cout << "Enter the filename: ";
cin >> *filename;
cout << endl;
}
void file();
//void display();
};
void file1::file()
{
// Creating an instance of outbound data
ofstream outfile;
outfile.open(*filename, ios::app);
if (outfile.fail())
{
cout <<"The file failed to open" <<endl;
exit(1);
}
cout << "Enter names to the file called: "<< *filename <<endl;
cout << "Enter end to stop entering names." << endl;
cout << endl;
//loop to enter names and keep count
//section having problems with!
while(strcmp(name, "end"))
{
int count = 0;
cout << "Enter names: " << endl;
cin >> *name;}
//send data to outfile
outfile << *name;
outfile << "\n";
count++;
cout << endl;
}
// Closing the outfile to free up memory
outfile.close();
return ;
}
class filederived : file1
{
public:
char derived();
}
filederived::derived()
{
int count = 0;
// Creating an instance of inbound data
ifstream infile;
// Opening the infile "filename" for reading
infile.open(*filename);
//to view amount of names entered
cout << "You have entered " << count << " names " << "in file " << *filename << "\n\n";
while(count>1)
{
// Reading the contents of "filename"
infile >> *name;
//to view names entered into the file
cout <<"The name you have entered is: " << *name << endl;
count--;
return ;
}
infile.close();
return ;
}
int main()
{
file1 a;
filederived b;
a.file();
b.derived();
return 0;
}:rolleyes:
Last edited by alc6379; Feb 28th, 2005 at 5:54 pm. Reason: added [code] tags
strcmp parameters are invalid like the compiler says! I would convert to using the std::string class found in <string> as it is much easier to use and has most of its operators overloaded so you can do things like:
C++ Syntax (Toggle Plain Text)
using namespace std; string str1 = "This is a "; str1 += "message"; cout << str1 << "\n"; // prints "This is a message"
http://sales.carina-e.com
no www
no nonsense
coming soon to a pc near you! :cool:
no www
no nonsense
coming soon to a pc near you! :cool:
If you must use char * (c-style) strings then define them as
char *string1;
char *string2;
string1 = (char*) new char[length + 1]; // allocate memory for a string of a given length. the + 1 is for the \0 character
delete [] string1; // deletes allocated memory
the strings should be ok to pass to c string functions
char *string1;
char *string2;
string1 = (char*) new char[length + 1]; // allocate memory for a string of a given length. the + 1 is for the \0 character
delete [] string1; // deletes allocated memory
the strings should be ok to pass to c string functions
http://sales.carina-e.com
no www
no nonsense
coming soon to a pc near you! :cool:
no www
no nonsense
coming soon to a pc near you! :cool:
![]() |
Similar Threads
- infinate loop and array problem (Java)
- for class: problem with class/ constructor loop (C++)
- Is Halting Problem Valid for P(the class of all Pascal programs )? (Pascal and Delphi)
- Programming VBA Dynamic Arry of Custom Class Problem (Visual Basic 4 / 5 / 6)
Other Threads in the C++ Forum
- Previous Thread: I need help in writing c++ code..?!!
- Next Thread: Graphics in Pixel,Mode13h:Part 1
| Thread Tools | Search this Thread |
Tag cloud for C++
api application array arrays based beginner binary c++ c/c++ calculator char char* class classes code coding compile compiler console conversion convert count data database delete deploy developer display dll dynamiccharacterarray email encryption error file format forms fstream function functions game generator givemetehcodez graph homeworkhelp iamthwee ifstream image input int java lib list loop looping loops map math matrix memory multiple newbie news number numbertoword output pointer problem program programming project python random read recursion recursive reference return rpg simple sorting spoonfeeding string strings struct template templates text tree url variable vector video visual visualstudio void win32 windows winsock wordfrequency wxwidgets






)