|
While not a C++ solution, how about something like:
struct
{
char face;
unsigned int value;
} card[13] = {
{'2', 2},{'3', 3},{'4', 4},
{'5', 5},{'6', 6},{'7', 7},
{'8', 8},{'9', 9},{'t', 10},
{'j', 10},{'q', 10},{'k', 10},
{'a', 11}
};
void main( void )
{
srand(time(NULL));
int x = rand() % 13;
printf("Card %c is worth %u points.\n", card[x].face, card[x].value);
x = rand() % 13;
printf("Card %c is worth %u points.\n", card[x].face, card[x].value);
} You'll need to figure out how to handle the Ace, however.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Thank a lot .. .. It really work .. but when I make adding process .. it not print out the right number .. I dont know why..here is my code ..
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
using namespace std;
struct
{
char face;
unsigned int value;
} card[13] = {
{'2', 2},{'3', 3},{'4', 4},
{'5', 5},{'6', 6},{'7', 7},
{'8', 8},{'9', 9},{'10', 10},
{'j', 10},{'q', 10},{'k', 10},
{'a', 11}
};
int main( void )
{
//int num
urtotal=0;
//srand(time(NULL));
srand( (unsigned int)time( 0 ) );
for (int i=0;i<4;i++)
{
int x = rand() % 13;
printf("Card %c is worth %u points.\n", card[x].face, card[x].value);
card[x].value+=card[x].value;
urtotal=card[x].value;
}
cout<<urtotal;
cin="">>num;
return 0;
}
|
|
|
|
|
davvid wrote: {'8', 8},{'9', 9},{'10', 10},
This should have produced a compiler error.
davvid wrote: urtotal=0;
Is this a global variable?
davvid wrote: urtotal=card[x].value;
You're not accumulating anything here.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hello all,
I would like to know what do this dump means:
Detected memory leaks!
Dumping objects ->
strcore.cpp(118) : {381557} normal block at 0x018A57F0, 22 bytes long.
Data: < 00:0> 01 00 00 00 09 00 00 00 09 00 00 00 30 30 3A 30
strcore.cpp(118) : {381308} normal block at 0x018A5BB8, 22 bytes long.
Data: < 00:0> 01 00 00 00 09 00 00 00 09 00 00 00 30 30 3A 30
strcore.cpp(118) : {381059} normal block at 0x018A2C80, 22 bytes long.
Data: < 00:0> 01 00 00 00 09 00 00 00 09 00 00 00 30 30 3A 30
strcore.cpp(118) : {380810} normal block at 0x018A42D0, 22 bytes long.
Data: < 02:2> 01 00 00 00 09 00 00 00 09 00 00 00 30 32 3A 32
strcore.cpp(118) : {380560} normal block at 0x018A5028, 22 bytes long.
Data: < 01:1> 01 00 00 00 09 00 00 00 09 00 00 00 30 31 3A 31
strcore.cpp(118) : {376187} normal block at 0x018A5B60, 24 bytes long.
Data: < 0.00> 01 00 00 00 05 00 00 00 0B 00 00 00 30 2E 30 30
strcore.cpp(118) : {376186} normal block at 0x018A5A00, 24 bytes long.
Data: < 0.00> 01 00 00 00 05 00 00 00 0B 00 00 00 30 2E 30 30
strcore.cpp(118) : {376162} normal block at 0x018A59A8, 24 bytes long.
Data: < 0.00> 01 00 00 00 05 00 00 00 0B 00 00 00 30 2E 30 30
strcore.cpp(118) : {376161} normal block at 0x018A5950, 24 bytes long.
Data: < 0.00> 01 00 00 00 05 00 00 00 0B 00 00 00 30 2E 30 30
...
In the VC++6 IDE when I close the app that I'm developing this appears and I would like to know how to interpret this information just in order to be able to solve the related problems.
Thank you in advance.
|
|
|
|
|
Seems you have not released dynamically allocated CStrings. It reports the data inide the strings.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
CStrings... yes, if I'm not wrong, they are released by calling their member function ReleaseBuffer();
I'll have to read again the documentation on the CStrings just in order to clarify when do they deserve to be freed and when do they don't need it.
Thank you.
|
|
|
|
|
Joan Murt wrote: CStrings... yes, if I'm not wrong, they are released by calling their member function ReleaseBuffer();
No, ReleaseBuffer(...) is used after you are done messing with the pointer returned by calling GetBuffer(...) .
CString objects clean themselves up normally upon destruction.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
Anytime you've done a GetBuffer() or GetBufferSetLength() call on a CString object, you need to have a corresponding ReleaseBuffer() call.
Software Zen: delete this;
|
|
|
|
|
Do you know where do I can get more information on the data that is shown in the debug window? I always think that I must know more on that data in order to be able to repair some problems without having to search for them "manually".
Thank you again.
|
|
|
|
|
IMO the problem is in your allocation of CString objects. i.e. You've done something similar to the code below:
CString * pStr = new CString[20];
and you never deallocated them (CString never creates itself a memory leak, unless you hack its internal buffer...). Thus CString documentation will not help you.
The data reported there should help you to find such strings (for instance you can find some patterns of chars you used to initialize the strings).
Hope that helps
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
And be sure that you free them by using delete [] pStr instead of delete pStr otherwise you will only drop the number of leaks to 19!
N.B. not using delete[] in this case usually results (in VC++) in the memory being freed, but only the first object's destructor being called.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
I am curently loading a dll like this
static HMODULE hMod ;
hMod = LoadLibrary("Updater.dll");exit(1);
if(!hMod)
{
AfxMessageBox("not found !!!!!");
exit(1);
}
FreeLibrary(hMod);
The mfc app loads the mfc dll and exits, but is it possible to define some sort of return value in the mfc dll that the mfc app closes while the dll continue processing?
|
|
|
|
|
Plzz describe u'r question clearly.
|
|
|
|
|
As far as I know a DLL must be used from another application. If you load that DLL from the scope of your app, and then you close your app, this should make the DLL not to continue working.
I can only think on create a service and activate it from your app, this service should control that DLL. Of course this can be a service or another process, but not the program that will be closed.
Hope this helps.
|
|
|
|
|
|
I wrote the below program ,the object (obj) is accessing all methods of RDOSessionClass.But it shows compile time error
that "obj is undeclared identifier"
what is the problem while it is accessing all function but not compiled.
#include <iostream>
#include <tchar.h>
#import "Redemption.dll"
void main()
{
CoInitialize(NULL);
Redemption.RDOSessionClass obj;
obj.Logon(" ",0,0,0,0,);
CoUninitialize();
}
Plz tell me how can i do this.
manu
|
|
|
|
|
Is it the only message coming from the compiler?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
This line:
manu_2205 wrote: Redemption.RDOSessionClass obj;
looks very wrong to me. Would you try:
Redemption::RDOSessionClass obj;<br />
instead?
|
|
|
|
|
Maybe your problem is of Redemption.RDOSessionClass if no did you include header files?
|
|
|
|
|
HI,
Recently i am working with a project and I need to embedd notepad in to a Dialog(CDialog).
Can anybody help me??????????
Sherin Iranimose
|
|
|
|
|
if you can describe ur problem in more detail someone here could help you.
Is it specifically the notepad that you need to use or the functionality of it.(Ex: Reading a file and displaying it's content just like the notepad does)
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
hi,
I want to embed a notepad window into a dialog.
Sherin Iranimose
|
|
|
|
|
If you truly need to embed notepad, then you should take a look here in the codeproject or in the MSDN, but I cannot help you. But if you want to get edit capability in your dialog based app, then you could add an edit control and set it multiline. Also you could do it using a richedit control. if you want, you can also use a commercial editor interface like scintilla (there's an article here in the codeproject: http://www.codeproject.com/editctrl/scintillawnd.asp[^]).
Scintilla is easy to use and all the functionality is already made, so you have only to send messages to it (sendmessage or postmessage) and then everything works. is as easy as making a normal button to send the desired message to your scintilla control.
Hope this helps.
|
|
|
|
|
Do you want to insert notepad in window of your program?
|
|
|
|
|
Yes,i want to embed notepad window into a dialog.
Sherin Iranimose
|
|
|
|
|