|
At my school, we're currently using visual C++ (sorry i said visual basic before by mistake). I recently downloaded the new beta versoin of VC++, and it doesn't seem to have iostream.h. I was wondering where I could find a good source for both iostream, and other libraries I may need in the future.
=P
|
|
|
|
|
iostream is a C++ thing, not VB.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
Try iostream without the .h
|
|
|
|
|
#include <iostream>
without the ".h" it should work.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
hmm, I'm not sure if my problem's linked, but I'm getting an unidentified identifier error when i try to use cout or endl. (while using #include <iostream>) It doesn't seem to effect my program wether or not I include iostream (without the .h) at all.
-------------------------------
I'm also having trouble getting string to work.
String Suit1 = "No suit", Suit2 = "No suit";
An error comes up when i run that code, saying I forgot a ; before suit1. and I'm getting syntax error: identifier 'String' whenever it's used in the program other then the initial delaraction of the variables Suit1 and Suit2.
I have #include string.h (with arrows, the post acts weird if i put them in) and there seems to be no problems with it, and I've run similar code on VC 6 with no problem.
-------------------------------
Am I doing something wrong, or is there a problem with my libraries?
=P
|
|
|
|
|
OK. Here's your problem. When the C++ standard was introduced, one thing that was added was namespaces. The standard libraries were placed in namespace std, and the headers that end in .h were deprecated ( i.e. most compilers have them, but they are not standard, they are not part of C++ as define by X3J16 ).
So, to use the string class, for example, you must #include<string), NOT #include<string.h>.
BUT, by doing this, you make part of namespace std visible, which will not give you access to the string class unless you do one of these:
using namespace std; // This is really bad, it includes everything in std, i.e. a lot of stuff you don't know about, and which could change in future compilers
using std::string; // much better, drag the string class alone ( well, and any iostream operators, but that's another story ) into the global namespace
or, in your code:
std::string myString; // best of all in terms of segmentation of namespaces, but a bit cumbersome, I'd use it only for things I am only going to define once or twice.
Also, String with a capital S is wrong. The string class is all lower case.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Thanks a ton, that cleared a lot of stuff up. That seems strange that my school is teaching me outdated material (damn budget). Anyways, I'm still a little confused as to what I do to use cout or endl. Are there replacements, are they in std, etc.?
=P
|
|
|
|
|
Kyle Bishop wrote:
That seems strange that my school is teaching me outdated material (damn budget).
The problem is rarely the budget, it's that teachers are probably a bunch of old C hackers who actually don't know any better.
Kyle Bishop wrote:
Anyways, I'm still a little confused as to what I do to use cout or endl. Are there replacements, are they in std, etc.?
Yes, the standard headers contain the same stuff, they are just in std. So, to extend my example:
#include <iostream>
using std::cout;
using std::endl;
will give you what you're after.
As an aside, don't overuse endl, it does more than send a /r/n, it also flushes the stream, so if you use it in tight loops, performance will suffer.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
|
Kyle,
I don't know if you are using VC++ 6.0 or .net. I also had a similar problem when porting VC++ 6.0 code to 2003 .net.
Some kind soul informed me that I should use "iostream" instead of
"iostream.h" and it worked!
Somehow, MicroSoft dropped the ".h" in later releases of the compiler in this case.
Good Luck.
|
|
|
|
|
thompsons wrote:
Somehow, MicroSoft dropped the ".h" in later releases of the compiler in this case.
This is not the case. In fact, when you are using iostream without .h and in angle brackets, you are using STL's iostream. Microsoft dropped support for streams when they first came up with Visual C++.NET
Found on Bash.org
I'm going to become rich and famous after i invent a device that allows you to stab people in the face over the internet
My Articles
|
|
|
|
|
I am using the VMRPLAYER sample program from DirectX SDK
as a template. I need to use the filename from file opened
as the main stream for the C language fopen command.
I need the full filename (ie: C:\subdirectory\video.vob) in the C program. Where to look and what strmcopy is best.
Thanks
|
|
|
|
|
I try to record and playback application session with help of WH_JOURNALRECORD and WH_JOURNALPLAYBACK hooks but can’t properly playback MOUSEWHEEL event ( rotation direction is ignored)
JournalRecordProc and JournalPlaybackProc hook procedures use LPARAM ( pointer to the EVENTMSG structure ) to get/pass message specific information during recording/playing.
This EVENTMSG structure has no member for WPARAM information, but key indicator and wheel rotation information are stored in WPARAM of WM_MOUSEWHEEL message. The same problem is with all messages with specific WPARAM info.
How I can correctly play WM_MOUSEWHEEL message?
Thanks in advance
Petr
|
|
|
|
|
|
Thanks for reply
But I mean to playback with JournalPlaybackProc :
Syntax
LRESULT CALLBACK JournalPlaybackProc( int code,
WPARAM wParam,
LPARAM lParam
);
Parameters
code
[in] Specifies a code the hook procedure uses to determine how to process the message. If code is less than zero, the hook procedure must pass the message to the CallNextHookEx ..........
wParam
This parameter is not used !!!!!!!!!!!!!!!!!!!.
lParam
[in] Pointer to an EVENTMSG structure that represents a message being processed by the hook procedure.
-----------------------------------------------------------------------
The source of data to fill EVENTMSG structure is WM_MOUSEWHEEL message what returns
WPARAM wParam
LPARAM lParam;
Parameters
wParam
The high-order word indicates the distance the wheel is rotated, expressed in multiples or divisions of WHEEL_DELTA, which is 120. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.
The low-order word indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
lParam
The low-order word specifies the x-coordinate of the pointer, relative to the upper-left corner of the screen.
The high-order word specifies the y-coordinate of the pointer, relative to the upper-left corner of the screen.
----------------------------------------------------------------------------
As it turns out there is no place in EVENTMSG for data stored in WM_MOUSEWHEEL message wParam.
typedef struct
{
UINT message;
UINT paramL; // place for x-coordinate
UINT paramH; // place for y-coordinate
DWORD time;
HWND hwnd;} EVENTMSG, *PEVENTMSG;
|
|
|
|
|
Petr P. wrote:
UINT paramL; // place for x-coordinate
UINT paramH; // place for y-coordinate
I don't know if what you stated above is correct. Under my system I follow this logic:
WPARAM is defined as UINT_PTR which in turn is defined as unsigned int
LPARAM is defined as LONG_PTR which in turn is defined as long
UINT is defined as unsigned int
And also under my system sizeof(long) == sizeof(unsigned int). This means that you have enough space in the EVENTMSG structure being passed in to store everything. I doubt there would be any conversion nessisary.
I think all you would have to do is store your WPARAM and LPARAM in paramL and paramH.
Greba,
My lack of content on my home page should be entertaining.
|
|
|
|
|
Interesting idea.
I have tried to put contents of wParam words to high-order words of EVENTMSG ParamL/ParamH .
Regrettably it does not work. System works with X/Y coordinates only .
So problem pending.
BR
Petr
|
|
|
|
|
Problem is solved. I don't find better way, than to mix WH_JOURNALRECORD hooks with interseption of WM_MOUSEWHEEL and sinchronising this messages on play.
|
|
|
|
|
Hello
I want becom the handle of the desktopbackround so that i can set a playet movie behind the icon´s of the desktop.
thank you for help and sorry for my bad english.
Regards Nico
|
|
|
|
|
|
I now this and this is the handle for the desktop but if i draw in this window and display it i don´t can see the icons on the desktop. I want that the video plays in the backround so that the user can see all of the icon´s on the desktop normal.
|
|
|
|
|
I see.
Apologies for having insulted your knowledge there.
|
|
|
|
|
My ATL service crashes when it is being stopped by the system (its startup mode is "automatic"). This happens only if the service is running on Windows XP and is being stopped automatically (not manually).
The source code:
HRESULT CMyServiceModule::PostMessageLoop()
{
RevokeClassObjects();
LogEvent(_T("Service stopped"));
CoUninitialize();
SetServiceStatus(SERVICE_STOPPED); // <--- this line causes the crash
return CAtlServiceModuleT<clegnlicenceservicemodule, ids_servicename="">::PostMessageLoop();
}
The debugger shows that m_hServiceStatus is NULL.
Thank you in advance for any ideas.
|
|
|
|
|
I am having a problems printing the output for this program. With C++ when I compile and run the program I am left with an exe file. How do I incorporate code to print out the output? Below is the code. Where do I enter it within the program? Basically I want to be able to print the output.
//#include
int main()
//(int,char*)
//{
//ofstream printer ("1pt1:");
//Printer <<"test"<<endl;
//return o;
//}
{
int c;
double fee;
double total;
char a ='y', ans;
string input;
int number;
while (a =='y'|| a =='Y')
{
cout << "\nChoose from options below.\n";
cout << "\nEnter A to calculate total RWA cost.\n";
cout << "\nEnter B to calculate RWA base estimate.\n";
cout << "\nEnter your choice, then press the enter key:\a";
cin >> ans;
cin.ignore();
if (ans == 'A' || ans == 'a' ){
cout << "\nEnter RWA Base Estimate, then press the enter key:$\a";
cin >> input;
cout << "You entered:$" << input << endl;
int pos = input.find(',');
while (pos != -1)
{
input.replace(pos, 1, "");
pos = input.find(',');
}
number = atoi(input.c_str());
fee = number * 0.04;
cout << fixed;
cout.precision(2);
cout << "4% Management Fee:$" << fee <<"\n";
total = number + fee;
cout << fixed;
cout.precision(2);
cout << "Total:$" << total <<"\n";
if (total >= 1 && total <= 2499)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.1 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.1) <<"\n";
}
if (total >= 2500 && total <= 9999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.09 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.09) <<"\n";
}
if (total >= 10000 && total <= 24999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.08 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.08) <<"\n";
}
if (total >= 25000 && total <= 49999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.07 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.07) <<"\n";
}
if (total >= 50000 && total <= 99999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.05 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.05) <<"\n";
}
if (total >= 100000 && total <= 299999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.03 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.03) <<"\n";
}
if (total >= 300000 && total <= 999999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.015 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.015) <<"\n";
}
if (total >= 1000000 && total <= 2425000)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.005 <<"\n";
cout << "Total Obligation:$" << total + (total * 0.005) <<"\n";
}
}
if (ans == 'B' || ans == 'b') {
cout << "\nEnter Total RWA Cost, then press the enter key:$\a";
cin >> input;
cout << "You entered:$" << input << endl;
int pos = input.find(',');
while (pos != -1)
{
input.replace(pos, 1, "");
pos = input.find(',');
}
number = atoi(input.c_str());
fee = number * 0.04;
cout << fixed;
cout.precision(2);
cout << "4% Management Fee:$" << fee <<"\n";
total = number - fee;
cout << fixed;
cout.precision(2);
cout << "Total:$" << total <<"\n";
if (total >= 1 && total <= 2499)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.1 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.1) <<"\n";
}
if (total >= 2500 && total <= 9999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.09 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.09) <<"\n";
}
if (total >= 10000 && total <= 24999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.08 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.08) <<"\n";
}
if (total >= 25000 && total <= 49999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.07 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.07) <<"\n";
}
if (total >= 50000 && total <= 99999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.05 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.05) <<"\n";
}
if (total >= 100000 && total <= 299999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.03 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.03) <<"\n";
}
if (total >= 300000 && total <= 999999)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.015 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.015) <<"\n";
}
if (total >= 1000000 && total <= 2425000)
{
cout << fixed;
cout.precision(2);
cout << "Overhead:$" << total*0.005 <<"\n";
cout << "Spendable Amount:$" << total - (total * 0.005) <<"\n";
}
}
cout <<"********************************************************************""\n";
cout <<"* Rate Range Subtotal Max. Range *""\n";
cout <<"* .01 .1 $2,499 $250.00 $250.00 *""\n";
cout <<"* 0.09 $2,500 $9,999 $675.00 $675.00 *""\n";
cout <<"* 0.08 $10,000 $24,999 $800.00 $1,200.00 *""\n";
cout <<"* 0.07 $25,000 $49,999 $1,750.00 *""\n";
cout <<"* 0.05 $50,000 $99,999 $2,500.00 *""\n";
cout <<"* 0.03 $100,000 299,999 $6,000.00 *""\n";
cout <<"* 0.015 $300,000 $999,999 $10,500.00 *""\n";
cout <<"* 0.005 $1,000,000 $2,425,000 $7,125.00 *""\n";
cout <<"********************************************************************""\n";
cout<<"Would You Like to Perform Another Calculation (Y/N)?\a";
cin>> a;
}
cout <<"\nGoodBye\n";
getchar();
return 0;
cin >> c;
}
Old Program Below
// RWA's and Charges
#include <iostream>
using std::cout;
using std::cin;
using namespace std;
//using::endl;
int main()
{
int choice, c;
float amount,total,overhead;
cout << "\nChoose from options below.\n";
cout << "\nEnter 1 to calculate total RWA cost.\n";
cout << "\nEnter 2 to calculate RWA base estimate.\n";
cout << "\n\t\tEnter your choice, then press the enter key:";
cin >> choice;
if (choice == 1){
cout << "\nEnter RWA Base Estimate, then press the enter key:$";
cin >> amount;
overhead = amount * 0.04;
cout << "Total Overhead is:$" << overhead <<".\n";
total = amount + overhead;
cout << "Total:$" << total <<".\n";
if (total >= 1 && total <= 2499)
{
cout << "Cost is:$" << total + (total * 0.1) <<".\n";
}
if (total >= 2500 && total <= 9999)
{
cout << "Cost is:$" << total + (total * 0.09) <<".\n";
}
if (total >= 10000 && total <= 24999)
{
cout << "Cost is:$" << total + (total * 0.08) <<".\n";
}
if (total >= 25000 && total <= 49999)
{
cout << "Cost is:$" << total + (total * 0.07) <<".\n";
}
if (total >= 50000 && total <= 99999)
{
cout << "Cost is:$" << total + (total * 0.05) <<".\n";
}
if (total >= 100000 && total <= 299999)
{
cout << "Cost is:$" << total + (total * 0.03) <<".\n";
}
if (total >= 300000 && total <= 999999)
{
cout << "Cost is:$" << total + (total * 0.015) <<".\n";
}
if (total >= 1000000 && total <= 2425000)
{
cout << "Cost is:$" << total + (total * 0.005) <<".\n";
}
}
if (choice == 2) {
cout << "\nEnter Total RWA Cost, then press the enter key:$";
cin >> amount;
overhead = amount * 0.04;
cout << "Total Overhead is:$" << overhead <<".\n";
total = amount - overhead;
cout << "Total:$" << total <<".\n";
if (total >= 1 && total <= 2499)
{
cout << "Cost is:$" << total - (total * 0.1) <<".\n";
}
if (total >= 2500 && total <= 9999)
{
cout << "Cost is:$" << total - (total * 0.09) <<".\n";
}
if (total >= 10000 && total <= 24999)
{
cout << "Cost is:$" << total - (total * 0.08) <<".\n";
}
if (total >= 25000 && total <= 49999)
{
cout << "Cost is:$" << total - (total * 0.07) <<".\n";
}
if (total >= 50000 && total <= 99999)
{
cout << "Cost is:$" << total - (total * 0.05) <<".\n";
}
if (total >= 100000 && total <= 299999)
{
cout << "Cost is:$" << total - (total * 0.03) <<".\n";
}
if (total >= 300000 && total <= 999999)
{
cout << "Cost is:$" << total - (total * 0.015) <<".\n";
}
if (total >= 1000000 && total <= 2425000)
{
cout << "Cost is:$" << total - (total * 0.005) <<".\n";
}
}
//return 0;
cin >> c;
}
|
|
|
|
|
Hi
What happens if you run this code;
ofstream printer("lpt1:");
printer << "test" << endl;
If that prints something on your printer, you're in business and can simply change all instances of 'cout' to 'printer', with above lines added at beginning of the main function.
HTH
Martin
|
|
|
|
|