Compare commits
3 Commits
c27a71a56f
...
1c704a5ede
Author | SHA1 | Date | |
---|---|---|---|
|
1c704a5ede | ||
|
a071a17043 | ||
|
e274b6b218 |
10
ActualMain.cpp
Normal file
10
ActualMain.cpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include "Aufg1/forLoop.h"
|
||||||
|
#include "Aufg2/GuestList.h"
|
||||||
|
#include "Aufg3/Phonebook.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// Aufg1Main();
|
||||||
|
// Aufg2Main();
|
||||||
|
Aufg3Main();
|
||||||
|
}
|
29
Aufg1/forLoop.cpp
Normal file
29
Aufg1/forLoop.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
#include "forLoop.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
Ouput der Zahlen 10 bis 0 an die Konsole
|
||||||
|
Ouput aller Buchstaben des Alphabets
|
||||||
|
*/
|
||||||
|
|
||||||
|
void counter() {
|
||||||
|
for (int i = 10; i > 0; i--)
|
||||||
|
{
|
||||||
|
printf("%d\n", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void alphabet() {
|
||||||
|
char alpha[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
|
||||||
|
for (char letter : alpha)
|
||||||
|
{
|
||||||
|
printf("%c ", letter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Aufg1Main()
|
||||||
|
{
|
||||||
|
counter();
|
||||||
|
alphabet();
|
||||||
|
}
|
10
Aufg1/forLoop.h
Normal file
10
Aufg1/forLoop.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#ifndef Aufg1FORLOOP_H
|
||||||
|
#define Aufg1FORLOOP_H
|
||||||
|
|
||||||
|
void counter();
|
||||||
|
|
||||||
|
void alphabet();
|
||||||
|
|
||||||
|
void Aufg1Main();
|
||||||
|
|
||||||
|
#endif //Aufg1FORLOOP_H
|
61
Aufg2/GuestList.cpp
Normal file
61
Aufg2/GuestList.cpp
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
#include "GuestList.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GästeListe
|
||||||
|
*
|
||||||
|
* Konsoleninput zur Wahl Liste verlängern/ausgeben/Ende
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
void showMenu() {
|
||||||
|
std::cout << "1 to add Guest"
|
||||||
|
<< std::endl
|
||||||
|
<< "2 to print all Guests"
|
||||||
|
<< std::endl
|
||||||
|
<< "0 to exit"
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void getInput(int &input) {
|
||||||
|
|
||||||
|
std::cin >> input;
|
||||||
|
}
|
||||||
|
|
||||||
|
void printAllInVector(std::vector<std::string> &Myvector) {
|
||||||
|
for (std::string name : Myvector)
|
||||||
|
{
|
||||||
|
std::cout << name
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Aufg2Main()
|
||||||
|
{
|
||||||
|
std::vector<std::string> guestList;
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
showMenu();
|
||||||
|
|
||||||
|
int input;
|
||||||
|
getInput(input);
|
||||||
|
|
||||||
|
std::string name;
|
||||||
|
|
||||||
|
switch (input)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return;
|
||||||
|
case 1:
|
||||||
|
std::cin >> name;
|
||||||
|
guestList.push_back(name);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
printAllInVector(guestList);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
22
Aufg2/GuestList.h
Normal file
22
Aufg2/GuestList.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#ifndef Aufg2GUESTLIST_H
|
||||||
|
#define Aufg2GUESTLIST_H
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
/*
|
||||||
|
* GästeListe
|
||||||
|
*
|
||||||
|
* Konsoleninput zur Wahl Liste verlängern/ausgeben/Ende
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
void showMenu();
|
||||||
|
|
||||||
|
void getInput(int &input);
|
||||||
|
|
||||||
|
void printAllInVector(std::vector<std::string> &Myvector);
|
||||||
|
|
||||||
|
void Aufg2Main();
|
||||||
|
|
||||||
|
|
||||||
|
#endif //GUESTLIST_H
|
@ -1,98 +1,8 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#pragma region Aufgabe1
|
|
||||||
/*
|
|
||||||
Ouput der Zahlen 10 bis 0 an die Konsole
|
|
||||||
Ouput aller Buchstaben des Alphabets
|
|
||||||
*/
|
|
||||||
|
|
||||||
void counter() {
|
|
||||||
for (int i = 10; i > 0; i--)
|
|
||||||
{
|
|
||||||
printf("%d\n", i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void alphabet() {
|
|
||||||
char alpha[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
||||||
|
|
||||||
for (char letter : alpha)
|
|
||||||
{
|
|
||||||
printf("%c ", letter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Aufg1Main()
|
|
||||||
{
|
|
||||||
counter();
|
|
||||||
alphabet();
|
|
||||||
}
|
|
||||||
#pragma endregion
|
|
||||||
|
|
||||||
#pragma region Aufgabe2
|
|
||||||
/*
|
|
||||||
* GästeListe
|
|
||||||
*
|
|
||||||
* Konsoleninput zur Wahl Liste verlängern/ausgeben/Ende
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
void showMenu() {
|
|
||||||
std::cout << "1 to add Guest"
|
|
||||||
<< std::endl
|
|
||||||
<< "2 to print all Guests"
|
|
||||||
<< std::endl
|
|
||||||
<< "0 to exit"
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void getInput(int &input) {
|
|
||||||
|
|
||||||
std::cin >> input;
|
|
||||||
}
|
|
||||||
|
|
||||||
void printAllInVector(std::vector<std::string> &Myvector) {
|
|
||||||
for (std::string name : Myvector)
|
|
||||||
{
|
|
||||||
std::cout << name
|
|
||||||
<< std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Aufg2Main()
|
|
||||||
{
|
|
||||||
std::vector<std::string> guestList;
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
showMenu();
|
|
||||||
|
|
||||||
int input;
|
|
||||||
getInput(input);
|
|
||||||
|
|
||||||
std::string name;
|
|
||||||
|
|
||||||
switch (input)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return;
|
|
||||||
case 1:
|
|
||||||
std::cin >> name;
|
|
||||||
guestList.push_back(name);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
printAllInVector(guestList);
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma endregion
|
|
||||||
|
|
||||||
#pragma region Telefonbuch
|
|
||||||
|
|
||||||
typedef struct contacts{
|
typedef struct contacts{
|
||||||
std::string firstName;
|
std::string firstName;
|
||||||
std::string lastName;
|
std::string lastName;
|
||||||
@ -106,6 +16,12 @@ void addContact(Kontaktdaten* person, std::vector<Kontaktdaten*> *Telefonbuch) {
|
|||||||
// buch.push_back(person);
|
// buch.push_back(person);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void deleteAllContacts(std::vector<Kontaktdaten*> *Telefonbuch) {
|
||||||
|
for (Kontaktdaten* pointer: *Telefonbuch) {
|
||||||
|
delete pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void printAllContacts(std::vector<Kontaktdaten*> *Telefonbuch) {
|
void printAllContacts(std::vector<Kontaktdaten*> *Telefonbuch) {
|
||||||
for (Kontaktdaten * personpointer: *Telefonbuch) {
|
for (Kontaktdaten * personpointer: *Telefonbuch) {
|
||||||
Kontaktdaten person = *personpointer;
|
Kontaktdaten person = *personpointer;
|
||||||
@ -179,31 +95,10 @@ void readContactsFromFile(std::vector<Kontaktdaten*> *Telefonbuch, std::string *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
infile.close();
|
infile.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
void addFirstSetOfContacts(std::vector<contacts*> * Telefonbuch) {
|
||||||
Kontaktdaten * createContact(std::string firstName, std::string lastName, int number) {
|
|
||||||
Kontaktdaten person = new Kontaktdaten;
|
|
||||||
|
|
||||||
person.firstName = firstName;
|
|
||||||
person.lastName = lastName;
|
|
||||||
person.number = number;
|
|
||||||
|
|
||||||
return & person;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void TelefonbuchMain() {
|
|
||||||
std::string fileName = "../IO-Files/Telefonbuch.txt";
|
|
||||||
std::vector<Kontaktdaten*> Telefonbuch;
|
|
||||||
|
|
||||||
for (int i=0; i<1; i++) {
|
|
||||||
readContactsFromFile(&Telefonbuch, &fileName);
|
|
||||||
std::cout << "Done with reading " << i << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto * Robin = new Kontaktdaten;
|
auto * Robin = new Kontaktdaten;
|
||||||
auto * Saxo = new Kontaktdaten;
|
auto * Saxo = new Kontaktdaten;
|
||||||
auto * Jesus = new Kontaktdaten;
|
auto * Jesus = new Kontaktdaten;
|
||||||
@ -220,6 +115,53 @@ void TelefonbuchMain() {
|
|||||||
Jesus->firstName = "Jesus";
|
Jesus->firstName = "Jesus";
|
||||||
Jesus->lastName = "Nazarett";
|
Jesus->lastName = "Nazarett";
|
||||||
|
|
||||||
|
addContact(Robin, Telefonbuch);
|
||||||
|
addContact(Saxo, Telefonbuch);
|
||||||
|
addContact(Jesus, Telefonbuch);
|
||||||
|
}
|
||||||
|
|
||||||
|
void addSecondSetOfContacts(std::vector<contacts*> * Telefonbuch) {
|
||||||
|
auto * Bruno = new Kontaktdaten;
|
||||||
|
auto * Peter = new Kontaktdaten;
|
||||||
|
auto * Ralf = new Kontaktdaten;
|
||||||
|
|
||||||
|
Bruno->number = 462581;
|
||||||
|
Bruno->firstName = "Bruno";
|
||||||
|
Bruno->lastName = "Braunbär";
|
||||||
|
|
||||||
|
Peter->number = 110;
|
||||||
|
Peter->firstName = "Peter";
|
||||||
|
Peter->lastName = "Polizei";
|
||||||
|
|
||||||
|
Ralf->number = 9999;
|
||||||
|
Ralf->firstName = "Ralf";
|
||||||
|
Ralf->lastName = "Rotbart";
|
||||||
|
|
||||||
|
addContact(Bruno, Telefonbuch);
|
||||||
|
addContact(Peter, Telefonbuch);
|
||||||
|
addContact(Ralf, Telefonbuch);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
Kontaktdaten * createContact(std::string firstName, std::string lastName, int number) {
|
||||||
|
Kontaktdaten person = new Kontaktdaten;
|
||||||
|
|
||||||
|
person.firstName = firstName;
|
||||||
|
person.lastName = lastName;
|
||||||
|
person.number = number;
|
||||||
|
|
||||||
|
return & person;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
void Aufg3Main() {
|
||||||
|
std::string fileName = "../Aufg3/IO-Files/phonebook.thorsten";
|
||||||
|
std::vector<Kontaktdaten*> Telefonbuch;
|
||||||
|
|
||||||
|
for (int i=0; i<1; i++) {
|
||||||
|
readContactsFromFile(&Telefonbuch, &fileName);
|
||||||
|
std::cout << "Done with reading " << i << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Robin->number = 123456;
|
*Robin->number = 123456;
|
||||||
Robin->firstName = "Robin der Neue";
|
Robin->firstName = "Robin der Neue";
|
||||||
@ -234,41 +176,23 @@ void TelefonbuchMain() {
|
|||||||
Jesus->lastName = "Nazarett";
|
Jesus->lastName = "Nazarett";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
addContact(Robin, &Telefonbuch);
|
// addFirstSetOfContacts(&Telefonbuch);
|
||||||
addContact(Saxo, &Telefonbuch);
|
addSecondSetOfContacts(&Telefonbuch);
|
||||||
addContact(Jesus, &Telefonbuch);
|
|
||||||
|
|
||||||
// printAllContacts(&Telefonbuch);
|
// printAllContacts(&Telefonbuch);
|
||||||
saveAllContacts(&Telefonbuch, &fileName);
|
saveAllContacts(&Telefonbuch, &fileName);
|
||||||
|
deleteAllContacts(&Telefonbuch);
|
||||||
|
|
||||||
delete Robin;
|
/*
|
||||||
delete Saxo;
|
* IDE beschwert sich bei Erstellen von * Robin über leaked Memory
|
||||||
delete Jesus;
|
* deleteAllContacts() sollte den Speicher befreien
|
||||||
}
|
*
|
||||||
|
* Zugriff auf *Robin nach delete Statement führt zu Fehler?
|
||||||
|
* -> IDE ist zu dumm?
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma endregion
|
//
|
||||||
|
// std::cout << Robin << std::endl;
|
||||||
// Telefonnummern sollen in Datei gespeichert werden
|
// auto test = *Robin;
|
||||||
// Beim Start vorhandene Einträge laden
|
// std::cout << test.firstName << std::endl;
|
||||||
|
}
|
||||||
// Typen sortieren mit Counter und Modulo
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
TelefonbuchMain();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Programm ausführen: STRG+F5 oder Menüeintrag "Debuggen" > "Starten ohne Debuggen starten"
|
|
||||||
// Programm debuggen: F5 oder "Debuggen" > Menü "Debuggen starten"
|
|
||||||
|
|
||||||
// Tipps für den Einstieg:
|
|
||||||
// 1. Verwenden Sie das Projektmappen-Explorer-Fenster zum Hinzufügen/Verwalten von Dateien.
|
|
||||||
// 2. Verwenden Sie das Team Explorer-Fenster zum Herstellen einer Verbindung mit der Quellcodeverwaltung.
|
|
||||||
// 3. Verwenden Sie das Ausgabefenster, um die Buildausgabe und andere Nachrichten anzuzeigen.
|
|
||||||
// 4. Verwenden Sie das Fenster "Fehlerliste", um Fehler anzuzeigen.
|
|
||||||
// 5. Wechseln Sie zu "Projekt" > "Neues Element hinzufügen", um neue Codedateien zu erstellen, bzw. zu "Projekt" > "Vorhandenes Element hinzufügen", um dem Projekt vorhandene Codedateien hinzuzufügen.
|
|
||||||
// 6. Um dieses Projekt später erneut zu öffnen, wechseln Sie zu "Datei" > "Öffnen" > "Projekt", und wählen Sie die SLN-Datei aus.
|
|
40
Aufg3/Phonebook.h
Normal file
40
Aufg3/Phonebook.h
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#ifndef PHONEBOOK_H
|
||||||
|
#define PHONEBOOK_H
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
typedef struct contacts Kontaktdaten;
|
||||||
|
|
||||||
|
void addContact(Kontaktdaten* person, std::vector<Kontaktdaten*> *Telefonbuch);
|
||||||
|
|
||||||
|
void deleteAllContacts(std::vector<Kontaktdaten*> *Telefonbuch);
|
||||||
|
|
||||||
|
void printAllContacts(std::vector<Kontaktdaten*> *Telefonbuch);
|
||||||
|
|
||||||
|
void saveAllContacts(std::vector<Kontaktdaten*> *Telefonbuch, std::string *fileName);
|
||||||
|
|
||||||
|
int exponentiate(int base, int exponent);
|
||||||
|
|
||||||
|
int intStringToInt(std::string input);
|
||||||
|
|
||||||
|
void readContactsFromFile(std::vector<Kontaktdaten*> *Telefonbuch, std::string *fileName);
|
||||||
|
|
||||||
|
void addFirstSetOfContacts(std::vector<contacts*> * Telefonbuch);
|
||||||
|
|
||||||
|
void addSecondSetOfContacts(std::vector<contacts*> * Telefonbuch);
|
||||||
|
/*
|
||||||
|
Kontaktdaten * createContact(std::string firstName, std::string lastName, int number) {
|
||||||
|
Kontaktdaten person = new Kontaktdaten;
|
||||||
|
|
||||||
|
person.firstName = firstName;
|
||||||
|
person.lastName = lastName;
|
||||||
|
person.number = number;
|
||||||
|
|
||||||
|
return & person;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
void Aufg3Main();
|
||||||
|
|
||||||
|
|
||||||
|
#endif //PHONEBOOK_H
|
Loading…
Reference in New Issue
Block a user