Well urs is fairly easy... now try makina magic sqaure box... u know where the sum of all the horizontal,vertical, and diagonals are equal... well it gets tougher, but nothin too hard i guess... but once u get hang of it, its easy
Well urs is fairly easy... now try makina magic sqaure box... u know where the sum of all the horizontal,vertical, and diagonals are equal... well it gets tougher, but nothin too hard i guess... but once u get hang of it, its easy
Don't take this personally, but by the way you asked the question I think it is going to be very hard to build a large scale C++ application from scratch. You should set your goals smaller to start to give yourself a chance to pick up the skills you need before going for the bigger goals.
Good ways to start are to keep building the small applications like you started on and to download various sized open source applications and try and learn from them. And there are lots of good learning to program books out there that can help a lot. I would also consider starting with C# or Java over C++ too, they are simpler cleaner languages and their concepts all carry forward into C++ if you want to get there eventually.
If you really want to head for a big project think about this:
Do you have an understanding of standard data structures and algorithms such as hash tables, linked lists, the various trees?
Do you know the concepts behind searching and sorting such as considering different algorithms insertion cost versus lookup costs, storage space versus speed trade offs, etc? Do you have an idea why to chose one over the other?
Do you have any object oriented design and development experience? You need to understand classes, inheritance, polymorphism, and other object oriented concepts to understand how to design your application and even how to use the class libraries your application will depend on.
| supermariogalaxy said: (Keep in mind I'm only in middle school).....Well I just made a little averages program on Dev C++ and it was fairly easy...My question is how hard are the other parts of C++??? (ie. you know, longer lines of code, game programming, etc)
Oh and BTW, if anyone wants the codes, just ask me....You know, for that averages thing I made.. |
Since you're still in middle school, what I will say to you is that you have a very long way to go. That's not to say you're too young to handle it, but it's just that you can't even begin to grasp how much there is to programming until you've worked at it for years.
It's great that you've written a program in C++ in middle school. That puts you ahead of most people (I started C++ in 9th grade, and that was ahead of most people). If you enjoy it, then keep working at it, and get into a programming class as soon as you possibly can. You will learn a lot more about the concepts of programming in a structured environment with examples and an instructor who can answer your questions.
I dug up this little game I made a few years ago that I wrote as a test of the A* algorithms usefulness in another game I was writing. It is only about 500 lines of java and has bare minimum graphics and AI but it illustrates some good concepts.
Some of it is commented well and some is a mess, feel free to post any questions.
| supermariogalaxy said: Yeah, I heard Java wasn't so fun, I heard it's also slower than C++.....But my cousin told me for games, Java has better graphics, is this true??? Oh and here is my Averages program for anyone who wants to use it...(LOL no one does) *NOTE THIS IS NOT MINE, I COULDN'T FIND MINE SO I FOUND AN EXACT COPY ON YOUTUBE AND POSTED IT ON HERE* #include <iostream> int main(int argc, char* argv) { double dnumber1 = 0.0; double dnumber2 = 0.0; double dnumber3 = 0.0; double daverage = 0.0; std::cout << " Luther enter 3 digits or i'll hit you : " << std::endl; std::cin >> dnumber1; std::cin >> dnumber2; std::cin >> dnumber3; daverage = (dnumber1 + dnumber2 + dnumber3) / 3; std::cout << " umm...i think ur average is: " << daverage << std::endl << std::endl; std::cin.get(); return 0; } |
Fix'd with good programming techniques.
First off, see http://www.gidnetwork.com/b-61.html for why you should avoid using system() whenever possible. Basically, it comes down to you needing to halt execution of your program in order to send a message to the OS, yadda yadda yadda. If it *can* be done in C/C++ natively, you should do it that way. If you want to use System calls, just write a shell script to do it 
Not to mention "pause" isn't portable. That code will not work in Linux, for example.
Second, you should avoid using "using namespace std;"
In my experience, shortcuts like that lead to only bad things... like not understanding what a namespace is and why we have them. Not to mention, this way it is much more explicit which "cout" function you are using.
Please, PLEASE do NOT feed the trolls.
fksumot tag: "Sheik had to become a man to be useful. Or less useful. Might depend if you're bi."
--Predictions--
1) WiiFit will outsell the pokemans.
Current Status: 2009.01.10 70k till PKMN Yellow (Passed: Emerald, Crystal, FR/LG)
I'm a professional programmer. I've been writing C++ for 15 years.
Silly, little C++ programs are rather easy, but are still much harder than the same thing in something like python or perl.
C++ is great for games and very high performance applications, but it's pretty tough as a first language. Manual memory management and pointers cause headaches to real professionals.
Learn the basics of programming with something like python. If you want to get closer to the metal because you want to know how computers really work, learn C or assembly first, and leave C++ for later. If all you want to do is make a few games quickly, I'd go for Flash or something like that. That'd let you concentrate in how a game works, and have to spend less time dealing with less gratifying infrastructure work.
| hibikir said: I'm a professional programmer. I've been writing C++ for 15 years. Silly, little C++ programs are rather easy, but are still much harder than the same thing in something like python or perl. C++ is great for games and very high performance applications, but it's pretty tough as a first language. Manual memory management and pointers cause headaches to real professionals. Learn the basics of programming with something like python. If you want to get closer to the metal because you want to know how computers really work, learn C or assembly first, and leave C++ for later. If all you want to do is make a few games quickly, I'd go for Flash or something like that. That'd let you concentrate in how a game works, and have to spend less time dealing with less gratifying infrastructure work. |
That is very good advice.
I started to learn programming with lower level languages such as Pascal and C, so that's the route I'd take. Starting with Python is probably also OK, although I fear for the new generation of programmers who can go years without knowing what's actually happening behind the scenes (which is important no matter what language you use, unless you just want to whip out a couple of simple scripts).
My Mario Kart Wii friend code: 2707-1866-0957
| thekitchensink said: It isn't difficult at all. In fact, I'd say it's incredibly easy. I'm in my first year of my university's Game Development and Entrepreneurship program, and my Programming course is using C# (basically an updated version of C++) and it uses very simple syntax even for the most complex tasks. |
If you think that C# is basically an updated version of C++, you are a total novice in programming and should reconsider your dedication to the field. What about memory management and allocation? virtual machines? templates vs C# generics? Pointers? The syntax might seem similar, but C# has a lot more to do with Java than with C++
Please, refrain from giving advice in the future. You are the one that needs it.
C++ is the de facto working language pretty much across anything. at the end of the day though, it's just a programming language--it's not how much you know about C++ that determines whether you're a good programmer, it's how well you can implement your ideas in C++.
and that requires a good knowledge of algorithms. since you're in middle school, you should probably build up your knowledge of algorithms first. everything else is, for the most part, easy and it's something you'll pick it up in college or when doing real programming projects.
so my advice is: definitely try out the USACO (USA computing olympiad) problems.
http://train.usaco.org/usacogate
the above website has a collection of exercises and they bring you along slowly, starting from the most basic. do not be frustrated if you can't solve the problems immediately--just take your time and research on the internet. quite a few of the people submitting solutions to the website are in fact 7th or 8th graders--people like you.
don't be frustrated if you find the problems difficult. by the time you finish the first couple of chapters (out of 5 or something), i think you are already better at programming than most 2nd year computer science majors--in college!
indeed--most of the interview questions companies ask are no more difficult than USACO problems. (regarding algorithms)
the Wii is an epidemic.