Hi all, Just wondering if you could help me out here. bought a copy of c++ for dummies today and the first program in the book converts fahrenheit to celsius. Now I have some C and Java experience (I am a recent graduate of a software design degree) but have not touched C++ before. I have modified the conversion program from the c++ for dummies book so that it has a user interface and is capable of converting celsius to fahrenheit. The problem is, after a conversion is made, it reverts back to the main menu (expected), but displays it twice (unexpected). I presume the issue is that there is input left in the stream but cannot find out how to clear it so that the menu is only displayed once, not twice. Any help would be greatly appreciated.

Recommended Answers

All 4 Replies

First, the program you posted is a bastardization of C and C++ languages. As for your problem you need to flush the '\n' (Enter key) from the keyboard buffer after the sscanf(). There are several ways to do that but in C the easiest is to call getc() to remove the '\n'.

hi, thanks for the (very) swift reply! Am I correct in thinking that the menu (int main) block is C and the rest is C++, because I just whacked that menu system in there from an old C file I had? Thanks again for your reply.

hi there Ancient Dragon, been tinkering around with the code somewhat, could you let me know if it is now just in c++ (as mixing languages is not good, I hear) thanks for your help with this.

Member Avatar for iamthwee

>(as mixing languages is not good, I hear)

That is, in fact debatable. C++ is considered a multi-paradigm compiled language, ho ho ho.

Like anything, if you don't know what you are doing, you can fubar it.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.