Solved

Need Help With Code

Posted on 2002-04-12
15
180 Views
Last Modified: 2010-04-02
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
Comment
Question by:KimZeerip
  • 5
  • 4
  • 2
  • +4
15 Comments
 
LVL 32

Expert Comment

by:jhance
ID: 6937519
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
 

Author Comment

by:KimZeerip
ID: 6937545
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
 
LVL 86

Expert Comment

by:jkr
ID: 6937549
>>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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:KimZeerip
ID: 6937635
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
 

Author Comment

by:KimZeerip
ID: 6937642
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
 
LVL 30

Expert Comment

by:Axter
ID: 6937663
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
 
LVL 86

Accepted Solution

by:
jkr earned 50 total points
ID: 6937666
>>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
 
LVL 86

Expert Comment

by:jkr
ID: 6937669
Ooops, 'strcpyn' sould be 'strncpy'...
0
 

Author Comment

by:KimZeerip
ID: 6937696
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
 

Author Comment

by:KimZeerip
ID: 6948380
Figured it out on my own
0
 

Expert Comment

by:ComTech
ID: 6963015
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
 
LVL 11

Expert Comment

by:griessh
ID: 7012088
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
 
LVL 86

Expert Comment

by:jkr
ID: 7012102
Ooops, no - I am not gonna claim any points for "double account homework" questions...
0
 
LVL 11

Expert Comment

by:griessh
ID: 7012576
- 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
 
LVL 6

Expert Comment

by:Mindphaser
ID: 7027906
Force accepted

** Mindphaser - Community Support Moderator **
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question