• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 194
  • Last Modified:

Need Help With Code

I am fairly new to C++ and was wondering if anyone could help me out debuggin this code....I am not real sure what to do.

#include<iostream.h>
#include<conio.h>
class ClubMember
{
  private:
    static int count;
    char name[20];
  public:
    ClubMember();
    ~ClubMember();
 };
int ClubMember::count = 0;
ClubMember::ClubMember(char name)
 {
    ++count;
    strcpy(name,name);
    cout<<"ClubMember #"<<count<<" created: ";
    cout<<name<<" has joined the club"<<endl;
 }
ClubMember::~ClubMember(char name)
  {
    --count;
    cout<<name<<" has left the club"<<endl;
    cout<<count<<" ClubMembers left"<<endl;
  }
void main()
{
  {
    cout<<"This program shows five club members"<<endl<<"joining, then leaving, the club"<<endl;
    ClubMember club[5] = {ClubMember("Jim"),ClubMember("Tom"),
         ClubMember("Julie"),ClubMember("Jane"),ClubMember("Kate")};
  }
  getch();
}
0
KimZeerip
Asked:
KimZeerip
  • 5
  • 4
  • 2
  • +4
1 Solution
 
jhanceCommented:
I see no statement of any problem.  What part of this code is giving you trouble?  What part don't you understand?

Can I assume that YOU wrote this code?
0
 
KimZeeripAuthor Commented:
When I compile I have 7 errors which are all the same stating : "No constructor could take the source type, or constructor overload resolution was ambiguous"

I am not sure what this means
0
 
jkrCommented:
>>I see no statement of any problem

ClubMember::ClubMember(char name)

jhance, like http://www.experts-exchange.com/cplusprog/Q.20288160.html (huh, another Kim?), I guess this is homework - the coding styles are too similar, and the task may have been "what is wrong with this code"...
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
KimZeeripAuthor Commented:
jkr -- I don't know what your problem is, if you did not want to help me then you should have not added a comment...this is not homework, I am teaching myself C++ and it is an example file that came with the book and I am trying to figure it out!  Not everyone is as gifted as you I guess.  Sorry for trying to learn C++.....if anyone else is willing to help me learn C++ and figure this out, please add a comment or answer!  Thanks
0
 
KimZeeripAuthor Commented:
jkr -- I don't know what your problem is, if you did not want to help me then you should have not added a comment...this is not homework, I am teaching myself C++ and it is an example file that came with the book and I am trying to figure it out!  Not everyone is as gifted as you I guess.  Sorry for trying to learn C++.....if anyone else is willing to help me learn C++ and figure this out, please add a comment or answer!  Thanks
0
 
AxterCommented:
I think jkr is concern that it appears that you have multiple login names, and posted back-to-back similar questions via multiple user id.

You'll find that jkr is one of the more well mannered expert in this topic area.

If you want us to help you, you need to supply as much information as you can.


Post the errors you get.  Post everything you know about the problem.
0
 
jkrCommented:
>>and it is an example file that came with the book and I am trying to figure it out!

OK, in this case you should try to get your money back, unless you made *several* typos. However, as you are insisting this is NOT homework, I'll have to believe you. Let's see then:


//#include<iostream.h> // use <iostream> without .h
#include<iostream>
#include<conio.h>

// without that, you needed to use "std::cout"
using namespace std;

class ClubMember
{
 private:
   static int count;
   char name[20];
 public:
//   ClubMember(); default constructor, not needed
   ClubMember(char* name); // THIS is the on you have
   ~ClubMember();
};
int ClubMember::count = 0;
//ClubMember::ClubMember(char name) // 'char' would be a single character
ClubMember::ClubMember(char* name)
{
   ++count;
//   strcpy(name,name);
   strcpyn(name,name, 20); // you only have 20 chars!
   cout<<"ClubMember #"<<count<<" created: ";
   cout<<name<<" has joined the club"<<endl;
}
//ClubMember::~ClubMember(char name) // destructors have no arguments
ClubMember::~ClubMember()
 {
   --count;
   cout<<name<<" has left the club"<<endl;
   cout<<count<<" ClubMembers left"<<endl;
 }
void main()
{
 {
   cout<<"This program shows five club members"<<endl<<"joining, then leaving, the club"<<endl;
   ClubMember club[5] = {ClubMember("Jim"),ClubMember("Tom"),
        ClubMember("Julie"),ClubMember("Jane"),ClubMember("Kate")};
 }
 getch();
}
0
 
jkrCommented:
Ooops, 'strcpyn' sould be 'strncpy'...
0
 
KimZeeripAuthor Commented:
When I compile that code...the output is

"This program shows five club members"<<endl<<"joining, then leaving, the club"

how can I write the code so that the user of the program can input data for the ClubMember # and name??
0
 
KimZeeripAuthor Commented:
Figured it out on my own
0
 
ComTechCommented:
In order to receive a refund, you have to show the answer before we can Delete or PAQ the question, as it stands now, it is no good for a PAQ.

BTW-I would also like to know which account you wish to keep, this one or KimHopper?

Regards,
ComTech
CS Admin @ EE
0
 
griesshCommented:
Dear KimZeerip

I think you forgot this question. I will ask Community Support to close it unless you finalize it within 7 days. You can always request to keep this question open. But remember, experts can only help you if you provide feedback to their questions.
Unless there is objection or further activity,  I will suggest to accept

     "jkr"

comment(s) as an answer.

If you think your question was not answered at all, you can post a request in Community support (please include this link) to refund your points. The link to the Community Support area is: http://www.experts-exchange.com/commspt/

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
======
Werner

BTW: Another part that was failing was:

ClubMember::ClubMember(char* name)
{
  strcpyn(name,name, 20); // you only have 20 chars

The scope of "name" is wrong. Either use another variable name or use "strncpy (this->name, name,20)" ...
0
 
jkrCommented:
Ooops, no - I am not gonna claim any points for "double account homework" questions...
0
 
griesshCommented:
- It was no homework
 - You are guilty of solving the problem
 - You found the duplicate account

My verdict:
The defendant will be sentenced to get his comment force-accepted!

<LOL>
0
 
MindphaserCommented:
Force accepted

** Mindphaser - Community Support Moderator **
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

  • 5
  • 4
  • 2
  • +4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now