|
thanks for u reply, what a kindly person u are !.
i has already set operator function to the class's friend.
still has problem. and could u tell me where can u find u aritcle??.
thank u very much
|
|
|
|
|
Below is my queue, I'm having problems getting it to show values in the queue and the queue doesn't seem to like you adding other values to the queue after some have been deleted, can you help in this...?
Thanks Ian
#include<iostream.h><br />
class Queue<br />
{<br />
private:<br />
int data[10];
int length;<br />
int first;<br />
int last;<br />
public:<br />
Queue(int);<br />
void push(int);<br />
int pop();<br />
void show();<br />
<br />
};<br />
Queue::Queue(int len)<br />
{<br />
length=len;<br />
first=-1;<br />
last=-1;<br />
}<br />
<br />
int Queue::pop()<br />
{<br />
int deleted;<br />
if(first == -1) <br />
{<br />
return (0);<br />
}<br />
deleted=data[first]; <br />
if(first==last)<br />
{<br />
first=-1;<br />
last=-1;<br />
}<br />
else<br />
first++;<br />
return deleted;<br />
}<br />
<br />
<br />
int menu()<br />
{<br />
int choice = 0;<br />
cout<<"\n\n\t\t**MAIN MENU**";<br />
cout<<"\n\n\t1\tStudent number to join the queue";<br />
cout<<"\n\t2\tStudent seen (Remove from queue)";<br />
cout<<"\n\t3\tView the students in the queue";<br />
cout<<"\n\t4\tEXIT";<br />
cout<<"\n\n\tPlease enter your choice : ";<br />
cin>>choice;<br />
return choice;<br />
}<br />
<br />
void Queue::push(int out)<br />
{<br />
if(last == length - 1) <br />
{<br />
cout<<"\tSorry the queue is full, please wait";<br />
return;<br />
}<br />
if(first == -1)<br />
{<br />
first=0;<br />
}<br />
last=last+1;<br />
data[last]=out; <br />
return;<br />
}<br />
<br />
void Queue::show()<br />
{<br />
<br />
}<br />
<br />
void main()<br />
{<br />
<br />
int StudentID;<br />
int number;<br />
int option;<br />
cout<<"\n\n\tEnter the length of the Queue : ";<br />
cin>>number;<br />
while (number>10)<br />
{<br />
cout<<"\nMaximum length of queue is set to 10, try again: ";<br />
cin>>number;<br />
}<br />
Queue place(number);<br />
do<br />
{<br />
option = menu();<br />
switch(option)<br />
{<br />
case 1:<br />
<br />
cout<<"\n\t* * Valid student numbers between 1 and 500 only * *\n";<br />
cout<<"\nEnter the student number : ";<br />
cin>>StudentID;<br />
while (StudentID <1 || StudentID>500)<br />
{<br />
cout<<"Invalid entry try again";<br />
cin>>StudentID;<br />
}<br />
place.push(StudentID);<br />
cout<<"\n\tStudent number "<<StudentID<<" has been inserted into queue.";<br />
break;<br />
<br />
case 2:<br />
int StudentID;<br />
StudentID=place.pop();<br />
if(StudentID==0)<br />
{<br />
cout<<"\n\tSorry no students to see the queue is empty";<br />
}<br />
else<br />
{<br />
cout<<"\n\tStudent "<<StudentID<<" deleted from queue.";<br />
}<br />
break;<br />
case 3:<br />
break;<br />
case 4:<br />
{};<br />
break;<br />
default: cout<<"\nIncorrect entry, try again with 1,2,3 or 4.";<br />
}<br />
}<br />
while (option!=4);<br />
}
|
|
|
|
|
Give the guy a break - he's written some code and wants some help. It's not like he posted 'you will impliment a queue with the following characteristics, and I need it by Tuesday....'
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
This is a bad implementation for a queue.
Suppose that queue size is 10 elements. After 6 pushes ('last' = 5) and 3 pops ('first' = 2), you have 3 elements in the queue, whereupon you can push only 4 more elements (Instead of pushing 7 elements) since the value of 'last' doesn't change .
You should use linked list instead.
|
|
|
|
|
not read the code, but what about this one:
<br />
#include <queue><br />
using namespace std;<br />
<br />
typedef queue<long> MyQueue;<br />
|
|
|
|
|
geo_m wrote:
using namespace std;
This was, is and always will be bad advice. What's the point of having namespaces if you're going to negate them ?
And it's obvious he's doing his homework.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Hmm, yes, but if std is a only namespace you are using (or here specifically you are forced to use it by stl) then it makes sense to use such a directive, instead of filling your code with std:: prefixes.
Anyway I know, that he's probably using us as some sort of homework processing machine, but I think this info I provided is so basic, that it won't help much - in fact, if it is not homework, it will help, but if it is homework, I guess the teacher will not consider this as a correct answer
|
|
|
|
|
geo_m wrote:
Hmm, yes, but if std is a only namespace you are using (or here specifically you are forced to use it by stl) then it makes sense to use such a directive, instead of filling your code with std:: prefixes.
Can you name everything in the std namespace ? If not, then you don't know what you've included, and how it will interact with what you're writing. Stroustrup says to use this syntax:
using std::list;
instead.
geo_m wrote:
that he's probably using us as some sort of homework processing machine,
I think that's unfair. He wrote something before asking for help. Isn't that what this forum is for ?
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Yes, you are completelly right and I agree with you. Mea culpa. I am not using namespaces, finding no use for them in my projects. Therefore this using std::queue; syntax was unknown for me, so thanx for it, it is really better than 'removing' whole namespace.
Well, the homework part - yes, these forums are for people helping each other. I only incorrectly understood your notice about homework so I showed my personal opinion that homework is something I have to do at my own, because only in this case it will have the required effect.
But in any case, I still think, that my reply can be helpful - if the homework is not defined as 'write your own queue', but like 'do something whatever more complex task' where this guy decided to use queue, this simple include can remove his headache and he can continue with writing other, probably more complicated stuff. Agree?
But for my appologize I must add, that there is 1:43 a.m. and I am little bit tired nobody is perfect
|
|
|
|
|
geo_m wrote:
Therefore this using std::queue; syntax was unknown for me, so thanx for it, it is really better than 'removing' whole namespace.
No worries. That is what these forums are for. Why all books seem to use the using namespace std; syntax is beyond me.
geo_m wrote:
so I showed my personal opinion that homework is something I have to do at my own, because only in this case it will have the required effect.
I agree that if people ask us to do their homework then we are not helping if we do it. But while I am self taught, I would not have been able to learn without books and forums like this one.
geo_m wrote:
But in any case, I still think, that my reply can be helpful
Absolutely - not least because he has the stl source on his hard drive, and there is stl documentation everywhere. Now he knows about the stl, he can check all of that out to see how a queue is implimented.
geo_m wrote:
nobody is perfect
Ain't it the truth ? I know I'm not.....
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
Thanks for your comments, have amended by using a destructor, the push and pop are working fine now. Am working on the size of the queue, as this is causing a few problems.....
Then again learning a new language is all part and parcel of it, and the fun and frustrating bit.
Thanks, but I don't want you to do my homework, just pointing in the right direction is more of a help than giving the code.
Ian
|
|
|
|
|
ian_ok wrote:
Then again learning a new language is all part and parcel of it, and the fun and frustrating bit.
Too true
ian_ok wrote:
Thanks, but I don't want you to do my homework, just pointing in the right direction is more of a help than giving the code.
Ian, we've had a lot of people lately just posting their homework and expecting us to do it, but regardless of if it's homework or not, when you've had a go yourself and want some help, that's what these forums are for. I hope you feel welcome to post again if you get stuck, I know if you do I'll be happy to help and so will pretty much everyone else here.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
As I said before, yes I needed pointing in the right direction...would love to use namespace......but I've no idea what it is etc etc, still at early stages of c++.
Yes I'll post comments back to others when I have the knowledge on C++, in the mean time I'll carry on learning and you never know I'll find out how to use namespace soon!!!
I know some people just expect the answer to be wrote for them, I reply to many on a Access databases forum and I'll write a little code etc and give direction, but it is easy to spot the ones who have put in the effort and those who haven't.
Me thinks I made a reasonable effort with my code, and needed some assistance...to those who offered assistance thank you...to Gary Think before you act, or is you didn't know like me how to get the queue to work 100%, but just wanted to be childish?
Ian
|
|
|
|
|
I'd like to apologize for my earlier (now deleted) nasty post. Without reading all of your post, I reacted with a wise-ass remark that was unwarranted. It does look like you're working on a homework assignment, but you've given it the 'college try' and done the work yourself.
Despite my stupid efforts otherwise , please believe that Code Project[^] is a great place to come for help.
Good luck.
Software Zen: delete this;
|
|
|
|
|
Hi
I'm trying to create a simple mdi application using gdi+.
I've followed the directions found on another article in codeproject,
but I get the following errors:
Linking...<br />
test01.obj : error LNK2019: unresolved external symbol _GdiplusStartup@12 referenced in function "public: virtual int __thiscall Ctest01App::InitInstance(void)" (?InitInstance@Ctest01App@@UAEHXZ)<br />
test01.obj : error LNK2019: unresolved external symbol _GdiplusShutdown@4 referenced in function "protected: virtual int __thiscall Ctest01App::ExitInstance(void)" (?ExitInstance@Ctest01App@@MAEHXZ)<br />
Debug/test01.exe : fatal error LNK1120: 2 unresolved externals
I've got Visual Studio .NET running on W2k sp3 and all the GDI+ libraries, dlls, and source files are ok and properly (I guess)
referenced in the project options.
Any ideas?
|
|
|
|
|
Are you linking with gdiplus.lib?
--Mike--
"Adventure. Excitement. A Jedi craves not these things."
-- Silent Bob
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
gdiplus.lib is in the library paths.
Do I need to add any specific link options? If so, how?
And why do I get link errors with only these two functions?
Thanks in advance.
|
|
|
|
|
Hi,
I hope someone can solve this problem for me please!
I have a program in C for recording raw audio samples from the souncard into a buffer in the memory. It compiles and runs perfecty in visual studio. However when I copy the code into a VC++ program it complains about all the memory commands like malloc, realloc ect. Maybe I have to include some .lib file?? Here is some of the code that is causing the problem:
static PBYTE pBuffer1, pSaveBuffer;<br />
<br />
<br />
<br />
pBuffer1 = malloc (INP_BUFFER_SIZE) ;
error C2440: '=' : cannot convert from 'void *' to 'PBYTE'
pWaveHdr1->lpData = pBuffer1 ;
error C2440: '=' : cannot convert from 'PBYTE' to 'LPSTR'
pSaveBuffer = realloc (pSaveBuffer, 1) ;
error C2440: '=' : cannot convert from 'void *' to 'PBYTE'
Any ideas? Thanks in advance,
Paddy.
|
|
|
|
|
You need to cast the pointers to correct type, e.g.
pBuffer1 = (PBYTE) malloc(INP_BUFFER_SIZE);
|
|
|
|
|
|
I think you need to use casting - as follows:
pBuffer1 = (PBYTE) malloc (INP_BUFFER_SIZE) ;
pWaveHdr1->lpData = (LPSTR) pBuffer1 ;
pSaveBuffer = (PBYTE) realloc (pSaveBuffer, 1) ;
That should solve the compiler errors.
Scott
|
|
|
|
|
I think you need to use casting - as follows:
pBuffer1 = (PBYTE) malloc (INP_BUFFER_SIZE) ;
pWaveHdr1->lpData = (LPSTR) pBuffer1 ;
pSaveBuffer = (PBYTE) realloc (pSaveBuffer, 1) ;
That should solve the compiler errors.
Scott
|
|
|
|
|
Hi,
I am using an STL priority queue for an application. However, I want to change priorities of the entry at run-time. What is the best way to do this?
Anyone know of any good resource that deals with this?
Thanks,
Pankaj
Without struggle, there is no progress
|
|
|
|
|
thank u!
|
|
|
|
|
Recursively.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|