This evening I ran back over my old assignments from my first attempt at Advanced C++ (CSC234) been rereading the original lab I got stuck on that forced the withdraw (well… that lab and the OTHER 18 credit hours [21 total] I was taking at the time). It was a fairly simple lab, just play with some bank tellers, some customers and a few timers, that’s it. A simple, straight forward modeling program. Unfortunately, the lab still scares me and my own original source code makes no sense. I am likely to take a whole different approach to that lab (or whatever has replaced it now) when the course opens, especially having my knowledge of data structures and things now. I feel more prepared than ever to tackle these labs now, mostly because I don’t intend to waste time with things and procrastinate before getting them done, so I will have plenty of time to research, get help, etc. I have thought about this course too many semesters to let it get away now. My self-esteem needs to take and pass this course (honestly, I need an A…I have only gotten one non-A at CPCC and it kills me).
Anyway… whatever I do this semester has to be better than this:
//Written by Curtis M. Kularski //CSC234 - 85 //Lab 02 - Banking Simulation #include <stdlib.h> #include <iostream> #include <iomanip> using namespace std; class Teller { private: int timer; bool isBusy; public: void setTimer(int K) { timer = 1+rand()%K; } void decrementTimer() { timer--; } int getTimer() { return timer; } void setBusy(bool busy) { isBusy = busy; } }; class Customer { private: int wait; int timeInQueue=0; bool inQueue; public: void incrementWait() { wait++; if (inQueue == true) { timeInQueue++; } } void setTimer() { wait = 0; } }; int intializeTellers(int, Teller []); void createCustomers(int, int, Customer []) int addCustomers(int); int main() { int i, M, N, K, totalCustomers; cout << "How many iterations would you like to test? "; cin >> i; cout << "\nMaximum customers added per iteration? "; cin >> M; cout << "\nHow many tellers will be working? "; cin >> N; cout << "\nWhat is the maximum time a teller spends on a transaction? "; cin >> K; cout << "\n\n"; int numCustomers = 0, newCustomers=0, numToRemove = 0, freeTellers; Teller tellers[N]; initializeTellers(N, tellers); Customer customers[20]; while (i >=1) { //Remove Customers who are done //Customers enter bank newCustomers = addCustomers(M); createCustomers(newCustomers, numCustomers, customers); //Free tellers are assigned customers, customers removed from queue and tellers isBusy=true, timers set // assignCustomersToTellers(tellers, customers); //display i--; system("pause"); } return 0; } void initializeTellers(int N, tellers []) { while (N >= 1) { N--; tellers[N].setBusy(false); } } void createCustomers(int newCustomers, int numCustomers, Customer customers[]) { int j = 0; numCustomers--; while (j <= newCustomers) { if (numCustomers + j + 1 < 20) { customers[numCustomers + (j+1)].setTimer(); j++; } else {cout << "Array Full!"; break;} } } int addCustomers(int maxNew) { int numToAdd = 1+rand()%maxNew; return numToAdd; }