Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Going to teach myself more C++, some suggestions of what programs to make?
New Posts  All Forums:Forum Nav:

Going to teach myself more C++, some suggestions of what programs to make?

post #1 of 8
Thread Starter 
I've only had a school year worth of learning (same amount of Java, as well), and my C++ is 2 years rusty, but I decided to get back into it and teach myself some new stuff. What simple programs/games would you suggest to try to make for fun/learning experience? Anything I don't know/not in my old notes, I trust my Google skills to find, and I can always ask here as well. I'll post all my source code here, as well Thanks!
Proteus
(17 items)
 
 
Ordinary Toaster
(10 items)
 
CPUMotherboardGraphicsRAM
i5 2500k P67 Extreme 4 Gen 3 GTX 780 16GB Kingston HyperX Beast 
Hard DriveOptical DriveCoolingCooling
Crucial BX200 Cheap something that writes DVD-RW Hyper 212 Evo Cooler Master SickleFlow 120 
OSMonitorKeyboardPower
Windows 10 Pro 2x Asus VW246H Corsair Strafe MX Brown Corsair HX650 
CaseMouseMouse PadAudio
Thermaltake Commander MS-I Epic Edition SteelSeries Sensei RAW SteelSeries QCK Altec Lansing BXR1221 
Audio
Sentey Symph GS-4531 
CPUMotherboardGraphicsRAM
Intel Core 2 Duo T9550 ASUS Nvidia GTX 260m 4 GB 
Hard DriveOSMonitorMonitor
Scorpio Blue 750GB Windows 7 1366x768 Epson projector 
Mouse
Logitech M305 
CPUMotherboardRAMHard Drive
I5 650 Intel DH57JG 8gb generic 750gb Scorpio Blue 
Hard DriveCoolingCoolingOS
3tb Caviar Green Cooler Master SickleFlow 120 Stock Intel Cooler Debian 8 
PowerCase
Cheap generic 450w Some cheap junk I had lying around 
  hide details  
Reply
Proteus
(17 items)
 
 
Ordinary Toaster
(10 items)
 
CPUMotherboardGraphicsRAM
i5 2500k P67 Extreme 4 Gen 3 GTX 780 16GB Kingston HyperX Beast 
Hard DriveOptical DriveCoolingCooling
Crucial BX200 Cheap something that writes DVD-RW Hyper 212 Evo Cooler Master SickleFlow 120 
OSMonitorKeyboardPower
Windows 10 Pro 2x Asus VW246H Corsair Strafe MX Brown Corsair HX650 
CaseMouseMouse PadAudio
Thermaltake Commander MS-I Epic Edition SteelSeries Sensei RAW SteelSeries QCK Altec Lansing BXR1221 
Audio
Sentey Symph GS-4531 
CPUMotherboardGraphicsRAM
Intel Core 2 Duo T9550 ASUS Nvidia GTX 260m 4 GB 
Hard DriveOSMonitorMonitor
Scorpio Blue 750GB Windows 7 1366x768 Epson projector 
Mouse
Logitech M305 
CPUMotherboardRAMHard Drive
I5 650 Intel DH57JG 8gb generic 750gb Scorpio Blue 
Hard DriveCoolingCoolingOS
3tb Caviar Green Cooler Master SickleFlow 120 Stock Intel Cooler Debian 8 
PowerCase
Cheap generic 450w Some cheap junk I had lying around 
  hide details  
Reply
post #2 of 8
Well when I was trying to learn how to program in c++ I was told to do games like tic tac toe and tetris. I said f that played out and was not what I was looking for. So I just tried to make something that I was intrested in. Then figured out there was a ton more to programming and was led onto trying to make a windows program with graphics, I found my self lost with opengl and that was the end of my learning experience.
Main rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
Icore7 2600k P8P67LE ASUS EVGA 660ti 8 gb Corsair Veng 
Hard DriveOSMonitorKeyboard
Silicon Power ssd 120 gb Windows 10 Acer P237HL microshaft ECR 4000 
PowerCaseMouse
ULTRA LSP 650 thermailtake element t Razor Naga  
  hide details  
Reply
Main rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
Icore7 2600k P8P67LE ASUS EVGA 660ti 8 gb Corsair Veng 
Hard DriveOSMonitorKeyboard
Silicon Power ssd 120 gb Windows 10 Acer P237HL microshaft ECR 4000 
PowerCaseMouse
ULTRA LSP 650 thermailtake element t Razor Naga  
  hide details  
Reply
post #3 of 8
One of my favourites is a statistics calculator.

Users can enter a set of values (which will be stored in an array) or get the program to add random values. Once the scores have been added, the user then tells the program to execute the calculate function.

This then runs a series of calculations - for example, my last assignment had:
  • Number of values added
  • Sum of the values added
  • Average of values added
  • Number of values below the average
  • Number of values above the average
  • The highest value added
  • The lowest value added


So on and so forth. There's quite a few things you can do and even though it's a relatively simple task, it's good to enhance your logic skills.
Orange != Red
(20 items)
 
  
Reply
Orange != Red
(20 items)
 
  
Reply
post #4 of 8
More generically, anything with algorithms or simulations. In regards to what behappy said, don't get bogged down programming anything which requires you to learn huge libraries or APIs. Get good at programming solid logic first. Start with console apps, not windowed applications. One thing I remember programming in C in college was a baseball game simulator. That's a great type of learning program which would require algorithms, looping constructs, random numbers and statistics.
Main System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1090T MSI 890FXA-GD70 XFX Radeon 5850 16 GB Corsair XMS3 DDR3 1333 
Hard DriveOSMonitorPower
3 X 7200 RPM / 1 TB Win 7 Ultimate 64 2 x ASUS 23" VH232H 1080P SeaSonic X-650 
Case
Corsair 600T 
  hide details  
Reply
Main System
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X6 1090T MSI 890FXA-GD70 XFX Radeon 5850 16 GB Corsair XMS3 DDR3 1333 
Hard DriveOSMonitorPower
3 X 7200 RPM / 1 TB Win 7 Ultimate 64 2 x ASUS 23" VH232H 1080P SeaSonic X-650 
Case
Corsair 600T 
  hide details  
Reply
post #5 of 8
Thread Starter 
I've already done lots of programs, all of my C++ was console stuff and Java was all windowed apps. I know enough to do simple programs, I just want to try to get back into programming again and then teach myself more once I'm back up to speed. Thanks for the suggestions so far!
Proteus
(17 items)
 
 
Ordinary Toaster
(10 items)
 
CPUMotherboardGraphicsRAM
i5 2500k P67 Extreme 4 Gen 3 GTX 780 16GB Kingston HyperX Beast 
Hard DriveOptical DriveCoolingCooling
Crucial BX200 Cheap something that writes DVD-RW Hyper 212 Evo Cooler Master SickleFlow 120 
OSMonitorKeyboardPower
Windows 10 Pro 2x Asus VW246H Corsair Strafe MX Brown Corsair HX650 
CaseMouseMouse PadAudio
Thermaltake Commander MS-I Epic Edition SteelSeries Sensei RAW SteelSeries QCK Altec Lansing BXR1221 
Audio
Sentey Symph GS-4531 
CPUMotherboardGraphicsRAM
Intel Core 2 Duo T9550 ASUS Nvidia GTX 260m 4 GB 
Hard DriveOSMonitorMonitor
Scorpio Blue 750GB Windows 7 1366x768 Epson projector 
Mouse
Logitech M305 
CPUMotherboardRAMHard Drive
I5 650 Intel DH57JG 8gb generic 750gb Scorpio Blue 
Hard DriveCoolingCoolingOS
3tb Caviar Green Cooler Master SickleFlow 120 Stock Intel Cooler Debian 8 
PowerCase
Cheap generic 450w Some cheap junk I had lying around 
  hide details  
Reply
Proteus
(17 items)
 
 
Ordinary Toaster
(10 items)
 
CPUMotherboardGraphicsRAM
i5 2500k P67 Extreme 4 Gen 3 GTX 780 16GB Kingston HyperX Beast 
Hard DriveOptical DriveCoolingCooling
Crucial BX200 Cheap something that writes DVD-RW Hyper 212 Evo Cooler Master SickleFlow 120 
OSMonitorKeyboardPower
Windows 10 Pro 2x Asus VW246H Corsair Strafe MX Brown Corsair HX650 
CaseMouseMouse PadAudio
Thermaltake Commander MS-I Epic Edition SteelSeries Sensei RAW SteelSeries QCK Altec Lansing BXR1221 
Audio
Sentey Symph GS-4531 
CPUMotherboardGraphicsRAM
Intel Core 2 Duo T9550 ASUS Nvidia GTX 260m 4 GB 
Hard DriveOSMonitorMonitor
Scorpio Blue 750GB Windows 7 1366x768 Epson projector 
Mouse
Logitech M305 
CPUMotherboardRAMHard Drive
I5 650 Intel DH57JG 8gb generic 750gb Scorpio Blue 
Hard DriveCoolingCoolingOS
3tb Caviar Green Cooler Master SickleFlow 120 Stock Intel Cooler Debian 8 
PowerCase
Cheap generic 450w Some cheap junk I had lying around 
  hide details  
Reply
post #6 of 8
If you're interested and heading in this direction, might as well learn about some basic data structures and algorithms while you relearn coding.

(I have no idea of your current knowledge, so I am not sure if this stuff would be appropriate; I did the following programs in a Data Structures/Algorithms II class)

Stuff like a binary search trees, priority queues, maybe something that involves graphs, hashing, etc. Look up those topics, learn their data structures and algorithms, and then make a simulation/application that incorporates those.

Here are some programs I did last semester that were great for coding exercise as well as learning about the data structures/algorithms:

A directory-tree structure: Simulate a command line where the user can enter in pre-defined commands and parameters. We did mkdir, rm, mv, cd, pwd, and ls. Each took parameters just like they really do on a command line. The user can make directories, make files, navigate through the structure, print the contents of a directory, delete files and directories, etc. It's great practice with pointers, dynamic memory allocation, and somewhat of a tree-based structure

Write a brute force solution to the traveling salesman problem, using an adjacency matrix to represent your graph. Then develop a genetic algorithm to make an approximation of the solution (Run a certain about of generations, with a certain amount of "tours" per generation. Keep a certain amount of "elites" per generation and then mutate a certain about of tours per generation)

Write a program to solve the bin-packing problem using best fit, worst fit, and first fit algorithms

Use a dynamic programming approach to find the longest common subsequence of two strings.

All of these were pretty fun to do, and each one had its benefit.
Edited by Tomiger - 1/14/11 at 10:33pm
 
Mineral Oil PC
(7 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i7 4790K Devil's Canyon 4.0GHz ASUS Sabertooth Z97 Mark S (White) Zotac GTX 760 Avexir Raiden 16GB DDR3 
Hard DriveCoolingCoolingCooling
OCZ Trion 240GB XSPC Raystorm Pro (white) XSPC EX 240 (white) XSPC EX 360 (white) 
CoolingCoolingCoolingCooling
Swiftech MCP655 Monsoon Dual Bay Reservoir Monsoon Modular Tube Reservoir Monsoon Stand Alone Pump Top/Cover 
CoolingPower
EK GTX 970 Water Block Corsair AX760i 
CPUMotherboardGraphicsGraphics
Intel Core i7 2600K Sandy Bridge 3.4 GHz Gigabyte GA-P67A-UD4-B3 GTX 285 GTX 285 
RAMHard DriveHard DriveCooling
Corsair Vengeance 16GB Western Digital 1TB Western Digital 250GB EK-Supremacy Clean CSQ - Nickel 
CoolingCoolingCoolingCooling
XSPC RX 360 XSPC EX 360 (cross flow) FrozenQ T-virus Reservoir EK Waterblock GTX 285 
Cooling
Swiftech MCP655 
  hide details  
Reply
 
Mineral Oil PC
(7 items)
 
 
CPUMotherboardGraphicsRAM
Intel Core i7 4790K Devil's Canyon 4.0GHz ASUS Sabertooth Z97 Mark S (White) Zotac GTX 760 Avexir Raiden 16GB DDR3 
Hard DriveCoolingCoolingCooling
OCZ Trion 240GB XSPC Raystorm Pro (white) XSPC EX 240 (white) XSPC EX 360 (white) 
CoolingCoolingCoolingCooling
Swiftech MCP655 Monsoon Dual Bay Reservoir Monsoon Modular Tube Reservoir Monsoon Stand Alone Pump Top/Cover 
CoolingPower
EK GTX 970 Water Block Corsair AX760i 
CPUMotherboardGraphicsGraphics
Intel Core i7 2600K Sandy Bridge 3.4 GHz Gigabyte GA-P67A-UD4-B3 GTX 285 GTX 285 
RAMHard DriveHard DriveCooling
Corsair Vengeance 16GB Western Digital 1TB Western Digital 250GB EK-Supremacy Clean CSQ - Nickel 
CoolingCoolingCoolingCooling
XSPC RX 360 XSPC EX 360 (cross flow) FrozenQ T-virus Reservoir EK Waterblock GTX 285 
Cooling
Swiftech MCP655 
  hide details  
Reply
post #7 of 8
Tetris.
post #8 of 8
if your doing console, something along the lines of a small user database just stored in a text file may be a good starting point. It will let you manipulate file input/output... string manipulation for user input commands... and will give a good base of using some object oriented programming...

Try things like just adding/deleting users, data access methods, data alteration methods, search/sort functions? anything you can think of to just work with the data and reading user input and validating what a user types

Also... If you want to do something with a simple UI, sudoku is a bunch of fun... just some simple problem solving algorithms to check puzzle solutions, solve puzzles, etc.

GL
Title System
(14 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 965 Gigabyte GA-MA785GMT-UD2H Sapphire HD 6850 1GB DDR3 Crucial Ballistix Tracers 4GB 
Hard DriveOptical DriveCoolingOS
Kingston SSD 64GB BENQ DVD-RW Custom W/C Kit Windows 7 Professional x64 
MonitorKeyboardPowerCase
24" LG LED Logitech Wave Corsair 700W Modular Coolmaster Half-X 
MouseAudio
Logitech MX Revolution 5.1 Surround / Studio Recording Headphones 
  hide details  
Reply
Title System
(14 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 965 Gigabyte GA-MA785GMT-UD2H Sapphire HD 6850 1GB DDR3 Crucial Ballistix Tracers 4GB 
Hard DriveOptical DriveCoolingOS
Kingston SSD 64GB BENQ DVD-RW Custom W/C Kit Windows 7 Professional x64 
MonitorKeyboardPowerCase
24" LG LED Logitech Wave Corsair 700W Modular Coolmaster Half-X 
MouseAudio
Logitech MX Revolution 5.1 Surround / Studio Recording Headphones 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Going to teach myself more C++, some suggestions of what programs to make?