943,416 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 4346
  • C++ RSS
Sep 7th, 2004
0

Delete words error!!

Expand Post »
I've just wrote this program and when i compile, there is an error at the red color fonts.
Can i know what's the error?
thank you.

char quest;
char words[50];
int count;
int z;
ofstream file;
file.open("WORDS.txt" , ios::app);
file.close();

cin.ignore(50,'\n');
cout << "\n\n Please enter the word that need to be deleted: ";
cin.getline(words,50,'\n');

for (int i=0; i<strlen(words); i++)
{
words[i]= tolower(words[i]);
z = count + 5;

}

for (i=0; i < count; i++)
{
if ( strcmp( words[i],words) == 0 )
z = i;
}



if (z<count)
{
ofstream file;
file.open("WORDS.txt", ios::app);

for ( i=0; i < count; i++)
{
if ( i!=z )
cout << words[i] << endl;
}


system("del words.txt");
system("ren words.txt words.txt");
}
Similar Threads
koh
Reputation Points: 11
Solved Threads: 0
Junior Poster in Training
koh is offline Offline
73 posts
since Jul 2004
Sep 7th, 2004
0

Re: Delete words error!!

ah it's simple, just do for(int i=0; i<.......

A for loop has it's own scope so you have to declare the i again.
Reputation Points: 108
Solved Threads: 7
Posting Whiz in Training
FireNet is offline Offline
256 posts
since May 2004
Sep 7th, 2004
0

Re: Delete words error!!

Variable z and count are never initialized. You should start with int z=0 and int count=0. When you get into the loop, count is an unknown value
Reputation Points: 10
Solved Threads: 0
Newbie Poster
DoubleShot is offline Offline
10 posts
since Sep 2004
Sep 7th, 2004
0

Re: Delete words error!!

Did you include string.h?
Reputation Points: 12
Solved Threads: 0
Newbie Poster
iamboredguy is offline Offline
23 posts
since Aug 2004
Sep 7th, 2004
0

Re: Delete words error!!

No wait. You are trying to compare individual letters with strings when you use
words[i]. strcmp() can only accept string arguments.
Reputation Points: 12
Solved Threads: 0
Newbie Poster
iamboredguy is offline Offline
23 posts
since Aug 2004
Sep 7th, 2004
0

Re: Delete words error!!

yes..

this one was just a part of my program.
just can't figure out the problem...
error message says:
error c2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char*'

..but then, i didn't use pointers
koh
Reputation Points: 11
Solved Threads: 0
Junior Poster in Training
koh is offline Offline
73 posts
since Jul 2004
Sep 8th, 2004
0

Re: Delete words error!!

The second parameter to strcmp up there is actually a pointer--that's half of what an array is, just a location in memory (the other half is the field size, in this case char, to use when making offsets into the array).
Quote originally posted by koh ...
...
if ( strcmp( words[i],words) == 0 )
...
error message says:
error c2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char*'

..but then, i didn't use pointers
A few additional comments:

The value of count doesn't change, so it doesn't have to be in the loop--if that line assigning to z is really what you want to do.
Quote originally posted by koh ...
...
for (int i=0; i<strlen(words); i++)
{
words[i]= tolower(words[i]);
z = count + 5;

}
...
Similar idea here. The loop will always end with i equal to count - 1, so making that last assignment to z doesn't have to be inside the loop--again, if that's what you want it to do.
Quote originally posted by koh ...
...
for (i=0; i < count; i++)
{
if ( strcmp( words[i],words) == 0 )
z = i;
}
...
Continuing the same line of thought, z<count will always be true, so the if statement isn't necessary.
Quote originally posted by koh ...
...
if (z<count)
{
ofstream file;
file.open("WORDS.txt", ios::app);
...

This last bit is a little strange--renaming a file that no longer exists?
Quote originally posted by koh ...
...
system("del words.txt");
system("ren words.txt words.txt");
}
...
--sg
Reputation Points: 182
Solved Threads: 71
Posting Pro in Training
gusano79 is offline Offline
475 posts
since May 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Faulty programme!!!
Next Thread in C++ Forum Timeline: Is C++ More Difficult Than Calculus?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC