I'm going to assume you're targeting Windows based on "notepad" and "paint". Thus, you're looking to use CreateProcess().
What do you think will be easier for a newbie:
1. system() function with a single parameter, command-line
2. CreateProcess() with dozen of parameters, some of them poorly documented?
Programming is not about quick shortcuts. When learning any computer language, it's best practice to learn the most prudent, safest, and practical means of implementation from the very start. To do otherwise is to teach nasty habits which may work in the short-term but will not suffice over the long-term.
system() will execute a command from a newly created instance of cmd.exe. This means MyProgram -> system() -> cmd.exe -> [Program_I_want_tpen].
CreateProcess() is more direct, meaning 'cmd.exe' is not a middle-man agent. So, unlike the example above, relying on this call means MyProgram -> CreateProcess() -> [Program_I_want_tpen]. Doing so is safer because the invoked action forcibly sets the result to occur at the user's permissions.