|
And....?
What is your doubt, exactly?
We don't do your homework here, but we may help you to understand it better...
Perl combines all the worst aspects of C and Lisp: a billion different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. -- Jamie Zawinski
|
|
|
|
|
If you expressed each field as a ratio of that part of a day, you'd have something like:
(12/24) + (23/1440) + (32/86400) =
0.5 + 0.015972 + 0.0003703 = 0.5163425926 (a little more than half a day) Do the same for the second duration yields 0.5602662037. The sum of those is 1.0766087963, which is 1 day, 1 hour, 50 minutes, and 19 seconds.
Or, you could add the fields individually, like:
s3 = s1 + s2
if s3 >= 60
s3 = 0
m1 = m1 + 1
end
m3 = m1 + m2
if m3 >= 60
m3 = 0
h1 = h1 + 1
end
h3 = h1 + h2
if h3 >= 24
h3 = 0
d3 = 1
end
print d3+" days,"+h3+" hours,"+m3+" minutes,"+s3+" seconds"
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Hi all!
I have to do an enumerated type but I don't know how is it.
If my variable is "color" and it may have the value red, green, yellow, blue or pink, how would it be written?
Thank you in advance
|
|
|
|
|
enum enCOLOR
{
enRED,
enGREEN,
enBLUE,
enPINK,
}
main()
{
enum enCOLOR mycolor;
mycolor = enGREEN;
....
switch(mycolor)
{
case enRED:
....
case enGREEN:
...
}
}
|
|
|
|
|
Does anyone remember the Win32 APIs to poke version info into an .exe ? (The opposite of GetFileVersionInfo() )
Thanks,
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I dont know why its required, if anyone can change it from outside, then integrity of the versioning is lost. Version no should be changed during the build time only.
|
|
|
|
|
I wouldn't change post-build either;
However, I'm fairly sure that versioninfo is a resource, so you need the UpdateResource call. Note, however, that it is not supported on 9x or ME.
I'm sure there's an article on it hereabouts...
Steve S
|
|
|
|
|
Thanks, Steve! I too am hestitant to change it post-build, and have come up with a pre-build alternative hack to burn the version into the .rc .
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
However much of a hack it feels, it will inevitably be easier than post-build.
Steve S
|
|
|
|
|
Hi all, I am a total newb when it comes to program, I am currently in the process of writing my 3rd simple program, and I am having a whole bunch of trouble..becuase I am trying to teach myself, and I am lost trying to do this with online tutorials and whatnot
Alright this is my problem i found...I was given a file from a website....(studenttests.dat) It looked like this...
It gives the students name and his 3 tests scores then his average..
Smith Bill 85 75 74
Jones Ann 100 70 80
Walker Thomas 30 90 92
I have to be able to input the file into the program, Be able to calculate a certain students average by giving their name. and the program has to input the first 3 tests scores then average them...For some reason I cannot get the file into the program, I have tried from the A: drive and the C: drive, both to no avail...any help you experts out there could give a rookie like me would be GREAT...this is what I have so far..i know its very simple but like I said...Im a newb, ...this is the coding I have so far...but i am lost
<br />
#include <iostream><br />
#include <string><br />
#include <fstream><br />
#include <iomanip><br />
<br />
using namespace std;<br />
<br />
int main ()<br />
{<br />
<br />
float lastn1,firstn1, t1,t2,t3, lastn2, firstn2, t21,t22,t23,lastn3, firstn3<br />
,t31,t32,t33, avg1,avg2,avg3;<br />
<br />
ifstream inFile;<br />
inFile.open("C:\\studenttests.dat");<br />
inFile >> lastn1 >> firstn1 >> t1 >> t2 >> t3 >> lastn2 >> firstn2 >> t21 >> <br />
t22 >> t23 >> lastn3 >> firstn3 >> t31 >> t32 >> t33;<br />
<br />
<br />
if (! inFile)<br />
{<br />
cout << "Cant find file joe...." << endl;<br />
return 0;<br />
}<br />
<br />
avg1 = (t1+t2+t3)/3;<br />
avg2 = (t21+t22+t23)/3;<br />
avg3 = (t31+t32+t33)/3;<br />
<br />
cout << setprecision(2);<br />
cout << " S T U D E N T G R A D E R E P O R T"; <br />
cout << endl << endl;<br />
cout << "STUDENT TEST TEST TEST FINAL";<br />
cout << endl;<br />
cout << " NAME ONE TWO THREE AVG" << endl;<br />
cout << endl;<br />
cout << setw(3) << avg1;<br />
cout << "lastn1", "firstn1";<br />
cout << avg1, avg2, avg3;<br />
<br />
return 0;<br />
<br />
}<br />
And this is what it SHOULD look like...
S T U D E N T G R A D E R E P O R T
STUDENT TEST TEST TEST FINAL
NAME ONE TWO THREE AVG
BILL SMITH 85 75 74 78.0
ANN JONES 100 70 80 83.3
THOMAS WALKER 30 90 92 70.7
AVERAGE 71.7 78.3 82.0 73.3
|
|
|
|
|
This problem looks like a very familiar homework assignment that I was once given in college.
Could you be a little bit more specific than ".. cannot get the file into the program". Are you receiving an error message, etc..
Also you might want to take a closer look at:
<code>
inFile >> lastn1 >> firstn1 >> t1 >> t2 >> t3 >> lastn2 >> firstn2 >> t21 >>
t22 >> t23 >> lastn3 >> firstn3 >> t31 >> t32 >> t33;
</code>
If you're to read in last name, first name and then three test scores why are you trying to read the first and last name into a float ?
Hope this information helps!
|
|
|
|
|
Joe Estes wrote:
ifstream inFile;
inFile.open("C:\\studenttests.dat");
inFile >> lastn1 >> firstn1 >> t1 >> t2 >> t3 >> lastn2 >> firstn2 >> t21 >>
t22 >> t23 >> lastn3 >> firstn3 >> t31 >> t32 >> t33;
if (! inFile)
{
cout << "Cant find file joe...." << endl;
return 0;
}
instead it should be
ifstream inFile;
inFile.open("C:\\studenttests.dat");
if (! inFile)
{
cout << "Cant find file joe...." << endl;
return 0;
}
inFile >> lastn1 >> firstn1 >> t1 >> t2 >> t3 >> lastn2 >> firstn2 >> t21 >>
t22 >> t23 >> lastn3 >> firstn3 >> t31 >> t32 >> t33;
why are you reading the name and the last name in float???
read it in string.
|
|
|
|
|
i tried to add win32 project to mfc project
all is well till the last thing that would not compile. i get error:
error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *)(void *)'
None of the functions with this name in scope match the target type
anybody?
thanks,
cheers
|
|
|
|
|
ummmmm calling conventions? name mangling?
read msdn for those subjects
"there is no spoon" biz stuff about me
|
|
|
|
|
add __stdcall before the thread function.
|
|
|
|
|
I have now:
in a header file:
DWORD WINAPI WorkerThread (LPVOID WorkContext);
...
in function definition:
DWORD WINAPI CMcastMFCNoSockDlg::WorkerThread (LPVOID WorkContext)
...
in main win:
HANDLE ThreadHandle;
....
calling function:
ThreadHandle = CreateThread (NULL,0,(__stdcall) WorkerThread,NULL,0,&ThreadId);
it now complains about:
syntax error : '__stdcall'
Please, one more shot.
Thanks,
|
|
|
|
|
Like this
In the class
static DWORD WINAPI WorkerThread(
LPVOID WorkContext);
Then in the defination:
DWORD WINAPI CMcastMFCNoSockDlg::WorkerThread (LPVOID WorkContext)
Then in your calling function
ThreadHandle = CreateThread (NULL,0,WorkerThread,NULL,0,&ThreadId);
|
|
|
|
|
Strange - got your email "
From: vglmco (vladimir.gershman@lmco.com)
this is not a class:
DWORD WINAPI WorkerThread(
LPVOID WorkContext);
does it matter?
I still get an error.
Thanks,
cheers
"
But no post.
Not a class???? In your previous post you say:
in function definition:
DWORD WINAPI CMcastMFCNoSockDlg::WorkerThread (LPVOID WorkContext)
That looks to me like the WorkerThread function belongs to the CMcastMFCNoSockDlg class?
Either:
Declare WorkerThread as a global function out side any class as DWORD WINAPI WorkerThread(LPVOID lpVoid) and also define it outside the class, or declare it inside the class as a static method with the same signature.
|
|
|
|
|
I have created a CDHtmlDialog base application and I want to create IHTMLOptionElement from an external source into an IHTMLSelectElement. I have managed to do this. However, I am not sure if my code will leak:
// SelectID is already empty
CComPtr<IHTMLSelectElement> pSelect;
HRESULT hr = GetElementInterface(_T("SelectID"), &pSelect);
if (FAILED(hr)) return;
CComPtr<IHTMLWindow2> pWindow;
hr = m_spHtmlDoc->get_parentWindow(&pWindow);
if (FAILED(hr)) return;
CComPtr<IHTMLOptionElementFactory> pOptionFactory;
hr = pWindow->get_Option(&pOptionFactory);
if (FAILED(hr)) return;
while (Source.MoveNext())
{
CComPtr<IHTMLOptionElement> pOption;
hr = pOptionFactory->create(CComVariant(Source.Col(0), Source.Col(1),
CComVariant(VARIANT_FALSE), CComVariant(VARIANT_FALSE), &pOption);
if (FAILED(hr)) return;
CComPtr<IHTMLElement> pElement;
pElement = pOption; // This works but what is it doing?
// IHTMLSelectElement::add(IHTMLElement*, VARIANT);
hr = pSelect->add(pElement, CComVariant(-1)); // This works!
if (FAILED(hr)) return;
}
Is the code "pElement = pOption;" used correctly above?
Geo
|
|
|
|
|
Thats fine.
The assignment operator for CComPtr will call AddRef for you, or in this case take an assigment from the underyling IUnknown of pOption and do a QueryInterface on it for you - which in tern does the AddRef.
When using the assingment operators you should always check the assinged pointer for NULL as this is the only way CCom(QI)Ptr has to report any failure code for you - unlike when you call QI manually and you get your HRESULT back
|
|
|
|
|
I'm tring to set some shape as same color of gray color of current Dialogbox.
But I can't set exactly. RGB(200,200,200) is close but
Is there any macro for system Gray color ?
Please help me ~
Thank you
|
|
|
|
|
|
I am trying to develop application with customized ocx.
when I allocate memory more than 450 mb with globalalloc
function it fails and returns 0x000000. the problem is
after calling the CreateDispatch function. I can successfully
call this globalalloc and allocate more than 450mb before
CreateDispatch function is called.
Any help is appreciated.
Thax
shin
|
|
|
|
|
Hello,
I am trying to write a Yahoo chat client.. I have found quite a bit of resources on the net but I am having problems trying to figure some of this stuff out..
After constructing a string and sending it to the yahoo server I should receive a "challenge" string back from the server.. I have a feeling my string being sent isn't configured correctly.. My resource is from the following website;
http://www.venkydude.com/articles/yahoo.htm
...... Directly cut from the website ......
0x0000 00 20 18 8F C8 16 00 50-BA 89 95 6B 08 00 45 00 . .È..Pº‰•k..E.
0x0010 00 4A F7 6A 40 00 80 06-BA 99 C0 A8 01 C1 D8 88 .J÷j@.€.º™À¨.Á؈
0x0020 AD B7 07 0D 13 BA 7F DC-96 ED DA E7 49 68 50 18 ·...ºÜ–íÚçIhP.
0x0030 44 5C F8 02 00 00 59 4D-53 47 00 0B 00 00 00 0E D\ø...YMSG......
0x0040 00 57 00 00 00 00 6D 61-93 13 31 C0 80 73 75 6E .W....ma".1À€sun
0x0050 64 61 6D 61 6D 61 C0 80- damama
Let us look at what exactly is being sent
YMSG- is the yahoo standard header for all messenger command/messages
This is followed by 2 bytes of data - 00 0B. -this indicates the version number of the protocol
This is followed by 2 bytes of data - 00 00
Next 2 bytes specify is the length of the message information-i.e total lengthof the string -length of the header(20 bytes)
The next bytes of data is 00
This is followed by the charecter "W" this signifies that the command being sent is a challenge command
Next is a 4 byte are -00 00 00 00
The next 4 bytes is what i call the initial 4 bytes bluff identifier.
These 4 bytes identify a particular user and it changes every time you log in.
Initially you could send any four bytes including 00 00 00 00 and you would
still be able to log in .
This is followed by one byte of data signifying that the data being sent is for logging into the server.
This byte has an ASCII equivalent of "0" This is followed by 1 byte of data - 31 whose ascii equivalent is "1"
This is followed by 2 bytes of data which is the standard argument separator.- C0 80
Finally this is followed by the yahoo user id and the standard argument separator.
Here is what I have written.. I'm sure I am messing up somewhere.. Can anyone give me any pointers??
CString strMsg;
strMsg.Format("YMSG%X%X%X%X%X%X%XW%X%X%X%X%X%X%X%X01%X%Xjones_2529%X%X",
0x00, 0x0B,
0x00, 0x00,
0x00, 0x15,
0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0xC0,0x80,
0xC0, 0x80
);
...... send strMsg to the yahoo server, should receive a challenge string.
Thanks!
Whoever said nothing's impossible never tried slamming a revolving door!
|
|
|
|
|
what does the library #include <iostream.h> include?
|
|
|
|
|