Compare commits

..

27 Commits

Author SHA1 Message Date
1c178c7b35 Classe hinzugefügt 2025-10-12 19:40:57 +02:00
40ef2c1de4 Fahrzeugklasse begonnen, theorie verstanden nächstes thema 2025-10-11 18:45:39 +02:00
d1b2cc19ee Call By Ref test 2025-10-11 18:06:31 +02:00
c622b5cc6f Main.cpp aktualisiert 2025-10-11 08:30:42 +02:00
98bbf386bf templeteFunktion allgemein und speziell eingefügt 2025-10-04 15:26:39 +02:00
dca133f8ea test 2025-10-04 14:12:44 +02:00
270e7cc872 charshift funktion 2025-10-04 13:50:24 +02:00
3ac7122589 funktionsheader und funktionsnamespace hinzugefügt 2025-10-04 10:47:38 +02:00
2f2c854dc3 add sqr funktion 2025-10-04 09:50:41 +02:00
1c7375a4a9 Merge remote-tracking branch 'origin/main' into dev 2025-10-04 09:47:01 +02:00
173694f6c8 Merge remote-tracking branch 'origin/int' 2025-10-04 09:44:00 +02:00
cd08f8b08e test2 2025-10-04 09:41:02 +02:00
730c3c2e39 neue Printfunktion mit multiplikation in INT übernommen und getestet 2025-10-04 09:39:18 +02:00
3e23a1d410 Merge remote-tracking branch 'origin/dev' into int 2025-10-04 09:34:42 +02:00
c492108719 multipilikation hinzugefügt 2025-10-04 09:33:31 +02:00
0f831b6138 pinrtfunktio erweitert 2025-10-04 09:25:29 +02:00
17b1c0aca8 neue pring funktion erstellt 2025-10-04 09:23:08 +02:00
8499c3ee48 readme update 2025-10-04 08:48:08 +02:00
138ab42352 readme erweitert 2025-10-04 08:28:10 +02:00
ce681dd58d dev breanch test 2025-10-02 13:48:08 +02:00
a09be35e3e README erweitert um die GIT befehle Funktionen 2025-10-02 13:42:45 +02:00
9dc9164b06 deleted 2025-10-02 13:33:45 +02:00
f6d60a77e4 adoc gelöscht -> Verwendung von Markdown 2025-10-02 13:32:22 +02:00
e8f195f4cd compilierte Datei in Gitignore eingefügt 2025-10-02 13:25:14 +02:00
1fa0c63a6c compiled file Deletet 2025-10-02 13:21:34 +02:00
6a5b1eb1b6 Push test 2025-10-02 13:19:39 +02:00
1c4445bca8 main.cpp zu Hallo Welt erweitert 2025-10-02 13:18:32 +02:00
5 changed files with 219 additions and 15 deletions

1
.gitignore vendored
View File

@@ -86,3 +86,4 @@ Module.symvers
Mkfile.old
dkms.conf
main

View File

@@ -1,3 +1,59 @@
# C-CPP_Practise
Diverse C/C++ Ausprobierereien
# Git
1. git **stage** ==> Festschreiben der gemachten localen änderungen ohne diese auf den Server zu laden, die Änderungen sind aber beim nächsten commit enthalten
2. git **commit** ==> Schnappschuss der Änderungen die gestaged sind. Änderungen werden auf den Server geladen.
3. git **push** ==> Senden der lokalen änderungen an den Server
4. git **pull** ==> Holen der Änderungen vom Server und anwenden auf die Lokale Version
Für den Entwicklungsprozess gibt es immer 3 Branches
- main
- int (integration)
- dev (development)
**main** ist immer der Stabile getestete Stand mit Vollversionenn **0**_.XXXy_ ,**1**_.XXXy_ , **2**_.XXXy_, ...
**int** ist für eine Version in der Neuerungen die volle Funktionalität aufweißt, ohne stabilitäts tests, als Kennzeichnung werden 3 Stellen nach dem Punkt nummerisch verwendet _N.**001**y_, _N.**002**y_, _N.**003**y_, ...
**dev** ist für das hinzufügen neuer funktionen ohne funktions und stabilitäts garantie und hat als kennzeichnung einen Kleinbuchstaben _N.XXX_**a**, _N.XXX_**b**, _N.XXX_**c**, ...
## Änderungen in ein neues Stadium heben
1. Wechseln in den Branch in dem die änderung übernommen werden soll.
- `git checkout int`
- `git checkout main`
- `git checkout dev`
2. Mergen von Branch A in Branch B
- `git rebase dev`
- `git rebase int`
- `git rebase main`
3. übertragung durchführen
- `git commit`
_Beispiel: Änderungen aus der dev in int übernehmen_
`git checkout int` um in den int-Branch zu wechslen um dann mit `git merge dev` die änderungen aus dem dev-brache zu übernehmen
Diverse C/C++ Ausprobierereien
## C/C++
Hallo hier wird alles stehen was wichtig und zum schnellen nachlesen ist
gcc Compiler für C Code
g++ Compiler für CPP Code
|Spalte 1|Spalte2
|---|---|
|main.cpp|Diverses C++ gedöns
|objects.cpp|Diverse Opjekte

51
ax_funktions.hpp Normal file
View File

@@ -0,0 +1,51 @@
//Funktionsdeklaration ax_funktions.hpp
#pragma once
namespace ax{
void print_number(int x)
{
std::cout << "Die Zahl ist: " << x << std::endl;
std::cout << "Das doppelte der Zahl ist: " << x*2 << std::endl;
}
void print_char(char x)
{
std::cout << x;
}
int sqrt(int x){
return x*x;
}
char shift(char x){
return x-1;
}
//allgmeine Funktion Deklaration ohne Argumente oder returns für einen unbekannten Datentyp
template<typename T> std::string type_name();
//Spezialisierte Implementation von type_name() für einen entsprechenden Datentyp vgl. mit überladung
template<> std::string type_name<int>() {return "Integer";}
template<> std::string type_name<char>(){return "Char";}
template<> std::string type_name<float>(){return "Float";}
template<> std::string type_name<double>(){return "Double";}
template<> std::string type_name<bool>(){return "Bool";}
template<typename T>
void ausgebene(T a){
std::cout << a << " ist vom Type " << type_name<T>()<< std::endl ;
}
//CallByRefference
int fn_CtUp (int &a){
a = ++a;
return 1;
}
}

113
main.cpp
View File

@@ -1,6 +1,113 @@
include stdio
#include <iostream>
#include <string>
#include "ax_funktions.hpp"
main
#include "SDL2/SDL.h"
int number = 12;
char Buchstabe = 'a';
class Fahrzeug
{
private:
int kw;
float ps;
float verbrauch;
public:
std::string Hersteller;
Fahrzeug(std::string s_Hersteller, int i_kw);
~Fahrzeug();
void mechanical_view();
float fn_enginechange(int new_kw);
};
Fahrzeug::Fahrzeug(std::string s_Hersteller, int i_kw)
{
kw = i_kw;
ps = i_kw * 1.36;
Hersteller = s_Hersteller;
verbrauch = 6.3;
}
Fahrzeug::~Fahrzeug()
{
}
float Fahrzeug::fn_enginechange(int new_kw){
float cost = 0;
cost = 100+new_kw*10;
this->verbrauch = new_kw/(100*.3);
this->kw = new_kw;
this->ps = new_kw*1.36;
return cost;
}
void Fahrzeug::mechanical_view(){
std::cout <<"Das Gerät ist von "<< Hersteller << " und hat eine Leistung von "<< kw <<"kw ("<<ps <<" ps)"<<std::endl;
}
float fn_tunung(Fahrzeug &geraet){
float cost = 0.0;
geraet.Hersteller = "BMW M";
cost = 25;
return cost;
}
main()
{
std::cout << "Hallo Welt" << std::endl << number << std::endl;
std::cout << "experimentelle und evtl nicht fehlerfreier Code" << std::endl;
//Funktionstest
for (int i = 0; i < 2; i++)
{
ax::print_number(i); // neue Funktion unsicher und unvollständig
}
ax::print_number(ax::sqrt(3));
for (int i = 0; i < 26; i++)
{
ax::print_char(Buchstabe+i);
std::cout<< " wird zu: " << ax::shift(Buchstabe + i)<< std::endl;
}
double testdouble = 3.1416;
ax::ausgebene(Buchstabe);
ax::ausgebene(42);
ax::ausgebene(true);
ax::ausgebene(testdouble);
ax::ausgebene(number);
ax::fn_CtUp(number);
ax::ausgebene(number);
Fahrzeug erstes_Auto("BMW", 100);
erstes_Auto.mechanical_view();
std::cout << "Ich wusste nur das es ein " << erstes_Auto.Hersteller << " ist"<<std::endl;
fn_tunung(erstes_Auto);
std::cout << "Nun ist es ein " << erstes_Auto.Hersteller << " !"<<std::endl;
erstes_Auto.fn_enginechange(180);
erstes_Auto.mechanical_view();
}
}

View File

@@ -1,11 +0,0 @@
# Readme
## C/C++
Hallo hier wird alles stehen was wichtig und zum schnellen nachlesen ist
|===
|Spalte 1|Spalte2
|main.cpp|Diverses C++ ged
|===