hi problem, with c++ code i am learn so plz tell me what i did worng and how fix

F

fastwings

mm the code
//////makemenu.h////
class menu {

public:
int op;
pmenu(int op,int sub = 0)
{
switch op
{
case 1:
show(op,0);
break;
case 2:
show(op,0);
break;
case 3:
show(op,0);
break;
case 4:
show(op,0);
break;
default:
msgerr(01);
}
}
show (int op,int sub=0)
{
cont<<"ok"<<end1<<"u press : "<<op;
}
};
/////////menus.cpp//////
#ifndef __file__
#define __file__ "telcom.db"
#endif
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
#include "makemenu.h"
main {
menu p1;
char option;
int total=3,stot=9,op;
showstars(total,stot);
cont<<"Enter number 1-4"<<end1;
option = getchar();
p1.pmenu(option,0);
return(0);
}
showstars(int line,int chrs)
{
int i;
for (i=1;i<=line;i++)
{
if (i != 1)
{
cont<<end1<<setfill("*")<<setw(chrs);
}
else
{
cont<<setfill("*")<<setw(chrs);
}
}
cont<<end1;
return(1);
}
the errors:
--------------------Configuration: tt - Win32
Debug--------------------
Compiling...
menus.cpp
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(24)
: warning C4183: 'pmenu': member function definition looks like a
ctor, but name does not match enclosing class
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(28)
: warning C4183: 'show': member function definition looks like a ctor,
but name does not match enclosing class
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(8) :
error C2061: syntax error : identifier 'op'
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(8) :
error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(9) :
error C2046: illegal case
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(11)
: error C2043: illegal break
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(12)
: error C2046: illegal case
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(14)
: error C2043: illegal break
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(15)
: error C2046: illegal case
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(17)
: error C2043: illegal break
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(18)
: error C2046: illegal case
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(20)
: error C2043: illegal break
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(21)
: error C2047: illegal default
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(22)
: error C2065: 'msgerr' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(27)
: error C2065: 'cont' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(27)
: error C2297: '<<' : illegal, right operand has type 'char [3]'
c:\program files\microsoft visual studio\myprojects\tt\makemenu.h(27)
: error C2065: 'end1' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(8) :
error C2501: 'main' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(8) :
error C2239: unexpected token '{' following declaration of 'main'
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(25) :
error C2065: 'setfill' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(25) :
error C2065: 'setw' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(25) :
warning C4552: '<<' : operator has no effect; expected operator with
side-effect
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(29) :
warning C4552: '<<' : operator has no effect; expected operator with
side-effect
c:\program files\microsoft visual studio\myprojects\tt\menus.cpp(32) :
warning C4552: '<<' : operator has no effect; expected operator with
side-effect
Error executing cl.exe.

menus.obj - 19 error(s), 5 warning(s)
===========================================
plz tell me how i can fix and know not to do next time i try but....
 
D

David Harmon

On 17 Apr 2004 13:44:38 -0700 in comp.lang.c++, (e-mail address removed)
(fastwings) wrote,
public:
int op;
pmenu(int op,int sub = 0)
{

You forgot to declare the return type of function pmenu.
 
O

osmium

fastwings said:
mm the code
//////makemenu.h////
class menu {

public:
int op;
pmenu(int op,int sub = 0)
{
switch op
{
case 1:
show(op,0);
break;
case 2:
show(op,0);
break;
case 3:
show(op,0);
break;
case 4:
show(op,0);
break;
default:
msgerr(01);
}
}
show (int op,int sub=0)
{
cont<<"ok"<<end1<<"u press : "<<op;
cout?

}
};
/////////menus.cpp//////
#ifndef __file__
#define __file__ "telcom.db"
#endif
#include <iostream.h>
#include <stdio.h>
#include <fstream.h>
#include "makemenu.h"
main {
menu p1;
char option;
int total=3,stot=9,op;
showstars(total,stot);
cont<<"Enter number 1-4"<<end1;

cout?? endl as in 'ell'
option = getchar();
p1.pmenu(option,0);
return(0);
}
showstars(int line,int chrs)
{
int i;
for (i=1;i<=line;i++)
{
if (i != 1)
{
cont<<end1<<setfill("*")<<setw(chrs);
}
else
{
cont<<setfill("*")<<setw(chrs);
}
}
cont<<end1;
return(1);
}

I suppose there is a lot more too.
 
R

Rolf Magnus

fastwings said:
mm the code
//////makemenu.h////
class menu {

public:
int op;
pmenu(int op,int sub = 0)

Your function is missing a return type. Every function needs a return
type. If you don't want to return anything, use void. You should also
consider implementing your function not in the header, but a
separate .cpp file.
{
switch op

switch (op)
{
case 1:
show(op,0);
break;
case 2:
show(op,0);
break;
case 3:
show(op,0);
break;
case 4:
show(op,0);
break;
default:
msgerr(01);

Where is the function msgerr?
}
}
show (int op,int sub=0)

Again, return type missing.
{
cont<<"ok"<<end1<<"u press : "<<op;

'cont' is supposed to be 'cout' and the 'end1' should be 'endl'. Also,
you forgot to #include the header needed for them. So you need to add:

#include <iostream>

at the top. Also, it would be std::cout and std::endl.
}
};
/////////menus.cpp//////
#ifndef __file__
#define __file__ "telcom.db"
#endif

The above three lines look like they are supposed to be an include
guard, but are used wrong. First, they need to be in the header, not
the implementation file. Further, the #endif needs to be at the bottom
of the file, so that the #ifndef/#endif encloses the whole file.

#include <iostream.h>

#include <iostream>

The version with .h was never part of standard C++ and is outdated for
years and deprecated in some compilers.
#include <stdio.h>
#include <fstream.h>

#include said:
#include "makemenu.h"
main {

Again, your function is missing a return type. For main that must be
int.
menu p1;
char option;
int total=3,stot=9,op;
showstars(total,stot);

showstars is not yet dechared here, so the compiler doesn't know it yet.
Either put the definition of that function before main, or add a
prototype before it.
cont<<"Enter number 1-4"<<end1;

Again, replace cont with std::cout and end1 with std::endl.
option = getchar();
p1.pmenu(option,0);
return(0);
}
showstars(int line,int chrs)

Return type missing again.
{
int i;
for (i=1;i<=line;i++)
{
if (i != 1)
{
cont<<end1<<setfill("*")<<setw(chrs);
}
else
{
cont<<setfill("*")<<setw(chrs);
}
}
cont<<end1;
return(1);
}

The rest shold be clear now.
plz tell me how i can fix and know not to do next time i try but....

Have you actually had a look at the program and the error messages
yourself? Some of the errors should be obvious, even for a beginner.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top