diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-10-24 15:25:54 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-10-24 15:25:54 +0300 |
| commit | be891b06d065504be51d094503c654377ebc22d7 (patch) | |
| tree | 9ab8742b063a19c713a5ba923aa96605b4b752fa /CPP/BABS | |
| parent | 8f5cbebb028d9f9fba367019de0a45b43ab7ed4d (diff) | |
| download | Self-learning-be891b06d065504be51d094503c654377ebc22d7.tar Self-learning-be891b06d065504be51d094503c654377ebc22d7.tar.gz Self-learning-be891b06d065504be51d094503c654377ebc22d7.zip | |
Renamed C++ folder to C++ (from CPP)
Diffstat (limited to 'CPP/BABS')
| -rw-r--r-- | CPP/BABS/BABS.mk | 126 | ||||
| -rw-r--r-- | CPP/BABS/BABS.project | 102 | ||||
| -rw-r--r-- | CPP/BABS/BankAccount.cpp | 53 | ||||
| -rw-r--r-- | CPP/BABS/BankAccount.h | 23 | ||||
| -rw-r--r-- | CPP/BABS/BankSystem.cpp | 109 | ||||
| -rw-r--r-- | CPP/BABS/BankSystem.h | 8 | ||||
| -rw-r--r-- | CPP/BABS/compile_flags.txt | 9 | ||||
| -rw-r--r-- | CPP/BABS/main.cpp | 35 |
8 files changed, 0 insertions, 465 deletions
diff --git a/CPP/BABS/BABS.mk b/CPP/BABS/BABS.mk deleted file mode 100644 index 7fcbd32..0000000 --- a/CPP/BABS/BABS.mk +++ /dev/null @@ -1,126 +0,0 @@ -## -## Auto Generated makefile by CodeLite IDE -## any manual changes will be erased -## -## Debug -ProjectName :=BABS -ConfigurationName :=Debug -WorkspaceConfiguration := $(ConfigurationName) -WorkspacePath :=/home/kamen/Programming/GitHub-repos/Self-learning/CPP -ProjectPath :=/home/kamen/Programming/GitHub-repos/Self-learning/CPP/BABS -IntermediateDirectory :=../build-$(ConfigurationName)/BABS -OutDir :=../build-$(ConfigurationName)/BABS -CurrentFileName := -CurrentFilePath := -CurrentFileFullPath := -User :=Kamen -Date :=27/06/20 -CodeLitePath :=/home/kamen/.codelite -LinkerName :=/usr/bin/g++ -SharedObjectLinkerName :=/usr/bin/g++ -shared -fPIC -ObjectSuffix :=.o -DependSuffix :=.o.d -PreprocessSuffix :=.i -DebugSwitch :=-g -IncludeSwitch :=-I -LibrarySwitch :=-l -OutputSwitch :=-o -LibraryPathSwitch :=-L -PreprocessorSwitch :=-D -SourceSwitch :=-c -OutputFile :=../build-$(ConfigurationName)/bin/$(ProjectName) -Preprocessors := -ObjectSwitch :=-o -ArchiveOutputSwitch := -PreprocessOnlySwitch :=-E -ObjectsFileList :=$(IntermediateDirectory)/ObjectsList.txt -PCHCompileFlags := -LinkOptions := -IncludePath := $(IncludeSwitch). $(IncludeSwitch). -IncludePCH := -RcIncludePath := -Libs := -ArLibs := -LibPath := $(LibraryPathSwitch). - -## -## Common variables -## AR, CXX, CC, AS, CXXFLAGS and CFLAGS can be overriden using an environment variables -## -AR := /usr/bin/ar rcu -CXX := /usr/bin/g++ -CC := /usr/bin/gcc -CXXFLAGS := -g -O0 -Wall $(Preprocessors) -CFLAGS := -g -O0 -Wall $(Preprocessors) -ASFLAGS := -AS := /usr/bin/as - - -## -## User defined environment variables -## -CodeLiteDir:=/usr/share/codelite -Objects0=../build-$(ConfigurationName)/BABS/main.cpp$(ObjectSuffix) ../build-$(ConfigurationName)/BABS/BankSystem.cpp$(ObjectSuffix) ../build-$(ConfigurationName)/BABS/BankAccount.cpp$(ObjectSuffix) - - - -Objects=$(Objects0) - -## -## Main Build Targets -## -.PHONY: all clean PreBuild PrePreBuild PostBuild MakeIntermediateDirs -all: MakeIntermediateDirs $(OutputFile) - -$(OutputFile): ../build-$(ConfigurationName)/BABS/.d $(Objects) - @mkdir -p "../build-$(ConfigurationName)/BABS" - @echo "" > $(IntermediateDirectory)/.d - @echo $(Objects0) > $(ObjectsFileList) - $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions) - -MakeIntermediateDirs: - @mkdir -p "../build-$(ConfigurationName)/BABS" - @mkdir -p ""../build-$(ConfigurationName)/bin"" - -../build-$(ConfigurationName)/BABS/.d: - @mkdir -p "../build-$(ConfigurationName)/BABS" - -PreBuild: - - -## -## Objects -## -../build-$(ConfigurationName)/BABS/main.cpp$(ObjectSuffix): main.cpp ../build-$(ConfigurationName)/BABS/main.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/kamen/Programming/GitHub-repos/Self-learning/CPP/BABS/main.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/main.cpp$(ObjectSuffix) $(IncludePath) -../build-$(ConfigurationName)/BABS/main.cpp$(DependSuffix): main.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT../build-$(ConfigurationName)/BABS/main.cpp$(ObjectSuffix) -MF../build-$(ConfigurationName)/BABS/main.cpp$(DependSuffix) -MM main.cpp - -../build-$(ConfigurationName)/BABS/main.cpp$(PreprocessSuffix): main.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) ../build-$(ConfigurationName)/BABS/main.cpp$(PreprocessSuffix) main.cpp - -../build-$(ConfigurationName)/BABS/BankSystem.cpp$(ObjectSuffix): BankSystem.cpp ../build-$(ConfigurationName)/BABS/BankSystem.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/kamen/Programming/GitHub-repos/Self-learning/CPP/BABS/BankSystem.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/BankSystem.cpp$(ObjectSuffix) $(IncludePath) -../build-$(ConfigurationName)/BABS/BankSystem.cpp$(DependSuffix): BankSystem.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT../build-$(ConfigurationName)/BABS/BankSystem.cpp$(ObjectSuffix) -MF../build-$(ConfigurationName)/BABS/BankSystem.cpp$(DependSuffix) -MM BankSystem.cpp - -../build-$(ConfigurationName)/BABS/BankSystem.cpp$(PreprocessSuffix): BankSystem.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) ../build-$(ConfigurationName)/BABS/BankSystem.cpp$(PreprocessSuffix) BankSystem.cpp - -../build-$(ConfigurationName)/BABS/BankAccount.cpp$(ObjectSuffix): BankAccount.cpp ../build-$(ConfigurationName)/BABS/BankAccount.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/kamen/Programming/GitHub-repos/Self-learning/CPP/BABS/BankAccount.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/BankAccount.cpp$(ObjectSuffix) $(IncludePath) -../build-$(ConfigurationName)/BABS/BankAccount.cpp$(DependSuffix): BankAccount.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT../build-$(ConfigurationName)/BABS/BankAccount.cpp$(ObjectSuffix) -MF../build-$(ConfigurationName)/BABS/BankAccount.cpp$(DependSuffix) -MM BankAccount.cpp - -../build-$(ConfigurationName)/BABS/BankAccount.cpp$(PreprocessSuffix): BankAccount.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) ../build-$(ConfigurationName)/BABS/BankAccount.cpp$(PreprocessSuffix) BankAccount.cpp - - --include ../build-$(ConfigurationName)/BABS//*$(DependSuffix) -## -## Clean -## -clean: - $(RM) -r $(IntermediateDirectory) - - diff --git a/CPP/BABS/BABS.project b/CPP/BABS/BABS.project deleted file mode 100644 index 5ea191d..0000000 --- a/CPP/BABS/BABS.project +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<CodeLite_Project Name="BABS" Version="11000" InternalType="Console"> - <Description/> - <Dependencies/> - <Settings Type="Executable"> - <GlobalSettings> - <Compiler Options="" C_Options="" Assembler=""> - <IncludePath Value="."/> - </Compiler> - <Linker Options=""> - <LibraryPath Value="."/> - </Linker> - <ResourceCompiler Options=""/> - </GlobalSettings> - <Configuration Name="Debug" CompilerType="GCC" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append"> - <Compiler Options="-g;-O0;-Wall" C_Options="-g;-O0;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0"> - <IncludePath Value="."/> - </Compiler> - <Linker Options="" Required="yes"/> - <ResourceCompiler Options="" Required="no"/> - <General OutputFile="$(ProjectName)" IntermediateDirectory="" Command="$(WorkspacePath)/build-$(WorkspaceConfiguration)/bin/$(OutputFile)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(WorkspacePath)/build-$(WorkspaceConfiguration)/lib" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/> - <BuildSystem Name="CodeLite Make Generator"/> - <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>"> - <![CDATA[]]> - </Environment> - <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no"> - <DebuggerSearchPaths/> - <PostConnectCommands/> - <StartupCommands/> - </Debugger> - <PreBuild/> - <PostBuild/> - <CustomBuild Enabled="no"> - <RebuildCommand/> - <CleanCommand/> - <BuildCommand/> - <PreprocessFileCommand/> - <SingleFileCommand/> - <MakefileGenerationCommand/> - <ThirdPartyToolName>None</ThirdPartyToolName> - <WorkingDirectory/> - </CustomBuild> - <AdditionalRules> - <CustomPostBuild/> - <CustomPreBuild/> - </AdditionalRules> - <Completion EnableCpp11="no" EnableCpp14="no"> - <ClangCmpFlagsC/> - <ClangCmpFlags/> - <ClangPP/> - <SearchPaths/> - </Completion> - </Configuration> - <Configuration Name="Release" CompilerType="GCC" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append"> - <Compiler Options="-O2;-Wall" C_Options="-O2;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0"> - <IncludePath Value="."/> - <Preprocessor Value="NDEBUG"/> - </Compiler> - <Linker Options="" Required="yes"/> - <ResourceCompiler Options="" Required="no"/> - <General OutputFile="$(ProjectName)" IntermediateDirectory="" Command="$(WorkspacePath)/build-$(WorkspaceConfiguration)/bin/$(OutputFile)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(WorkspacePath)/build-$(WorkspaceConfiguration)/lib" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/> - <BuildSystem Name="CodeLite Make Generator"/> - <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>"> - <![CDATA[]]> - </Environment> - <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no"> - <DebuggerSearchPaths/> - <PostConnectCommands/> - <StartupCommands/> - </Debugger> - <PreBuild/> - <PostBuild/> - <CustomBuild Enabled="no"> - <RebuildCommand/> - <CleanCommand/> - <BuildCommand/> - <PreprocessFileCommand/> - <SingleFileCommand/> - <MakefileGenerationCommand/> - <ThirdPartyToolName>None</ThirdPartyToolName> - <WorkingDirectory/> - </CustomBuild> - <AdditionalRules> - <CustomPostBuild/> - <CustomPreBuild/> - </AdditionalRules> - <Completion EnableCpp11="no" EnableCpp14="no"> - <ClangCmpFlagsC/> - <ClangCmpFlags/> - <ClangPP/> - <SearchPaths/> - </Completion> - </Configuration> - </Settings> - <VirtualDirectory Name="src"> - <File Name="BankAccount.h"/> - <File Name="BankSystem.h"/> - <File Name="BankAccount.cpp"/> - <File Name="BankSystem.cpp"/> - <File Name="main.cpp"/> - </VirtualDirectory> -</CodeLite_Project> diff --git a/CPP/BABS/BankAccount.cpp b/CPP/BABS/BankAccount.cpp deleted file mode 100644 index ea02d87..0000000 --- a/CPP/BABS/BankAccount.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include <string> - -#include "BankAccount.h" - -int currId = 0; - -BankAccount::BankAccount() { - id = currId++; - balance = 0; -} - -BankAccount::BankAccount(int initialDeposit) { - id = currId++; - balance = initialDeposit; -} - - -int BankAccount::getId() { - return id; -} - -int BankAccount::getBalance() { - return balance; -} - -bool BankAccount::getCloseStatus() { - return closed; -} - - -void BankAccount::deposit(int amount) { - balance += amount; -} - -int BankAccount::withdraw(int amount) { - if (amount > balance) { - return -1; - } - balance -= amount; - return amount; -} - -std::string BankAccount::toString() { - return "ID: " + std::to_string(id) + " Balance: " + std::to_string(balance) + ((closed)?" CLOSED":""); -} - -void BankAccount::close() { - closed = true; -} - -void BankAccount::reopen() { - closed = false; -}
\ No newline at end of file diff --git a/CPP/BABS/BankAccount.h b/CPP/BABS/BankAccount.h deleted file mode 100644 index fbf808f..0000000 --- a/CPP/BABS/BankAccount.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef TEST_BANKACCOUNT -#define TEST_BANKACCOUNT -#include <string> - -class BankAccount { - int id, balance; - bool closed; - public: - BankAccount(); - BankAccount(int); - - int getId(); - int getBalance(); - bool getCloseStatus(); - - void deposit(int); - int withdraw(int); - std::string toString(); - void close(); - void reopen(); -}; - -#endif
\ No newline at end of file diff --git a/CPP/BABS/BankSystem.cpp b/CPP/BABS/BankSystem.cpp deleted file mode 100644 index 0b4e726..0000000 --- a/CPP/BABS/BankSystem.cpp +++ /dev/null @@ -1,109 +0,0 @@ -#include <iostream> -#include <vector> - -#include "BankSystem.h" - -using namespace std; - -std::vector<BankAccount> BADatabase; - -int getIndexFromID(int id) { - for(int i = 0; i < BADatabase.size(); i++) { - if (BADatabase[i].getId() == id) { - return i; - } - } - return -1; -} - -void listAllAccounts() { - for(BankAccount ba: BADatabase) { - cout << ba.toString() << endl; - } -} - -void openBankAccount() { - cout << "Initial balance: "; - int initBalance; - cin >> initBalance; - - BankAccount newBA(initBalance); - BADatabase.push_back(newBA); - cout << "Created new bank account with ID: " << newBA.getId() << endl; -} - -void closeBankAccount() { - cout << "Bank account ID: "; - int id; - cin >> id; - - cout << "Are you really sure you want to close bank account with ID: " << id << "? [y/n]"; - char answer; - cin >> answer; - - if (answer == 'y' || answer == 'Y') { - BADatabase[getIndexFromID(id)].close(); - } - - cout << "Bank account with ID: " << id << " is closed!" << endl; -} - -void reopenBankAccount() { - cout << "Bank account ID: "; - int id; - cin >> id; - - cout << "Are you really sure you want to reopen bank account with ID: " << id << "? [y/n]"; - char answer; - cin >> answer; - - if (answer == 'y' || answer == 'Y') { - BADatabase[getIndexFromID(id)].reopen(); - } - - cout << "Bank account with ID: " << id << " is closed!" << endl; -} - -void bankerMode() { - while(true) { - cout << "What do you want to do: [0] Exit, [1] List bank accounts, [2] Open bank account, [3] Close bank account, [4] Reopen bank account" << endl; - - int value; - cin >> value; - - switch(value) { - case 0: return; - case 1: listAllAccounts(); break; - case 2: openBankAccount(); break; - case 3: closeBankAccount(); break; - case 4: reopenBankAccount(); break; - } - } -} - -void atmMode() { - cout << "Bank accont ID: "; - int userId; - cin >> userId; - cout << endl; - - BankAccount ba = BADatabase[userId]; - if (ba.getCloseStatus()) { - cout << "Bank account is closed!" << endl; - return; - } - - while(true) { - cout << "What do you want to do: [0] Exit, [1] View balance, [2] Deposit money, [3] Withdraw money?" << endl; - - int value; - cin >> value; - - switch(value) { - case 0: return; - case 1: cout << ba.getBalance() << endl; break; - case 2: cout << "Amount to deposit: "; cin >> value; ba.deposit(value); break; - case 3: cout << "Amount to withdraw: "; cin >> value; ba.withdraw(value); break; - } - } -}
\ No newline at end of file diff --git a/CPP/BABS/BankSystem.h b/CPP/BABS/BankSystem.h deleted file mode 100644 index a593a92..0000000 --- a/CPP/BABS/BankSystem.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BA-BANK_SYSTEM-BANK_SYSTEM -#define BA-BANK_SYSTEM-BANK_SYSTEM -#include "BankAccount.h" - -void bankerMode(); -void atmMode(); - -#endif
\ No newline at end of file diff --git a/CPP/BABS/compile_flags.txt b/CPP/BABS/compile_flags.txt deleted file mode 100644 index 8ce13f3..0000000 --- a/CPP/BABS/compile_flags.txt +++ /dev/null @@ -1,9 +0,0 @@ --I/usr/include/c++/7 --I/usr/include/x86_64-linux-gnu/c++/7 --I/usr/include/c++/7/backward --I/usr/lib/gcc/x86_64-linux-gnu/7/include --I/usr/local/include --I/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed --I/usr/include/x86_64-linux-gnu --I/usr/include --I/home/kamen/Programming/GitHub-repos/Self-learning/CPP/BABS diff --git a/CPP/BABS/main.cpp b/CPP/BABS/main.cpp deleted file mode 100644 index 717e0dd..0000000 --- a/CPP/BABS/main.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include <iostream> - -#include "BankSystem.h" - -#define MODE_SPACER "------------------------------------------------------------" - -using namespace std; - -int main() -{ - cout << "Welcome to BA banking system!" << endl << endl; - while(true) { - cout << "Mode: Atm/Banker/Exit "; - char inValue; - cin >> inValue; - - if (inValue == 'e' || inValue == 'E' || inValue == '0') { - return 0; - } - - if (inValue == 'b' || inValue == 'B') { - cout << MODE_SPACER << endl; - bankerMode(); - cout << MODE_SPACER << endl; - } - else { - cout << MODE_SPACER << endl; - atmMode(); - cout << MODE_SPACER << endl; - } - } - cout << "Goodbye!" << endl << endl; - - return 0; -}
\ No newline at end of file |
