diff --git a/README.md b/README.md index b5390b20676ab159a9ae14a318ea3078866b5334..312256071dce54a8579d9778720128684e77619e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ -# cpp_introduction +# C++ introduction -Templates for the C++ introduction \ No newline at end of file +This repository contains multiple templates for the C++ introduction in the module CP1. + +In the "sample_*.cpp"-files you will find examples of C++ code detailing different aspects of the language. + +In the "task_*.cpp"-files you will find problem statements for you to complete on your own. +Read the problem statement detailed by the comment in the file and implement a program that behaves as described. + +## How to compile a program + +C++ is a human-readable language. +In order to be executable by a computer, the program has to be translated into machine code. + +You can use the command + +'g++ <source_code_file> -o <name_of_output_program> -std=c++11 -Wall -Werr' + +This tells the compiler (g++) where to find the source code and how to name the resulting program. +In case you omit the name of the output program the result will most likely be an executable file called "a.out". +The flags at the end of the command tell the compiler which version of C++ to use (C++ 2011) and to trigger all warnings your code might produce and elevate them to errors. +It is generally a good practice to use these last two flags. +If your code does compile without these two options but does not compile with them, chances are high that there is still a programming error in your program. + +A sample invocation of the command: + +'g++ src/sample_4.cpp -o sample_4 -std=c++11 -Wall -Werr' + +And the sample program can then be run by calling + +'./sample_4' + +in the console. \ No newline at end of file