Add the cpp files for Assignment 4.
This commit is contained in:
parent
94ac292f32
commit
cfcce88ebc
4 changed files with 345 additions and 0 deletions
BIN
assignmentFour/medicalRecords
Executable file
BIN
assignmentFour/medicalRecords
Executable file
Binary file not shown.
|
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
Program Name: Medical Records
|
||||
Process: Design a generalized template class named MedicalRecord - a data
|
||||
structure for managing patient medical information.
|
||||
Function Input/Parameters: ???
|
||||
Function Output/Parameters: ???
|
||||
Function Output/Returned: ???
|
||||
Device Input/Device: ???
|
||||
Device Output/Monitor: ???
|
||||
Dependencies: ???
|
||||
*/
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <random>
|
||||
#include <algorithm>
|
||||
#include <time.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// class definitions
|
||||
template <class T>
|
||||
class MedicalRecord
|
||||
{
|
||||
private:
|
||||
T *arr;
|
||||
int arraySize;
|
||||
public:
|
||||
MedicalRecord()
|
||||
{
|
||||
//
|
||||
arr = NULL;
|
||||
arraySize = 0;
|
||||
}
|
||||
MedicalRecord(int size)
|
||||
{
|
||||
//
|
||||
arr = new T[size];
|
||||
arraySize = size;
|
||||
}
|
||||
MedicalRecord(int size, T newArray[])
|
||||
{
|
||||
arraySize = size;
|
||||
arr = new T[size];
|
||||
for(int copyIterator = 0; copyIterator < size; copyIterator++)
|
||||
{
|
||||
arr[copyIterator] = newArray[copyIterator];
|
||||
}
|
||||
}
|
||||
// MedicalRecord(const MedicalRecord &rec)
|
||||
// {
|
||||
// //
|
||||
// MedicalRecord(rec.arraySize, rec.arr);
|
||||
// }
|
||||
~MedicalRecord()
|
||||
{
|
||||
// for(int deleteIterator = 0; deleteIterator < arraySize; deleteIterator++)
|
||||
// {
|
||||
// delete arr[deleteIterator];
|
||||
// }
|
||||
delete arr;
|
||||
arr = NULL;
|
||||
arraySize = 0;
|
||||
}
|
||||
// accessor methods
|
||||
int getNumberPatients()
|
||||
{
|
||||
return arraySize;
|
||||
}
|
||||
T getPatientAt(int pos)
|
||||
{
|
||||
if(pos < arraySize)
|
||||
{
|
||||
if(pos > arraySize)
|
||||
{
|
||||
//
|
||||
return arr[pos];
|
||||
}
|
||||
}
|
||||
}
|
||||
// mutator methods
|
||||
// operator overloads
|
||||
T &operator[](size_t arrSize)
|
||||
{
|
||||
return arr[arrSize];
|
||||
}
|
||||
// const T &operator[](size_t arrSize)
|
||||
// {
|
||||
// return const arr[arrSize];
|
||||
// }
|
||||
};
|
||||
|
||||
// function definitions
|
||||
|
||||
// main function
|
||||
int main()
|
||||
{
|
||||
bool exitValue = false;
|
||||
int numRecords = 0;
|
||||
int currentRecord = 0;
|
||||
int inputRecord = 0;
|
||||
// string details
|
||||
string fullString = "";
|
||||
string patName = "";
|
||||
int patAge = 0;
|
||||
string patDetails = "";
|
||||
// ask user for number of records
|
||||
cout << "Please enter number of records: ";
|
||||
cin >> numRecords;
|
||||
cin.ignore();
|
||||
cout << endl;
|
||||
// create the medical records object
|
||||
MedicalRecord<string> record(numRecords);
|
||||
// create the display medical record object.
|
||||
while (!exitValue || currentRecord != numRecords)
|
||||
{
|
||||
// ask the user for the relevant information.
|
||||
cout << "Please enter patient name: ";
|
||||
cin >> patName;
|
||||
cout << endl;
|
||||
cout << "Please enter patient age: ";
|
||||
cin >> patAge;
|
||||
cout << "Please enter patient details: ";
|
||||
cin >> patDetails;
|
||||
cout << endl;
|
||||
|
||||
// assign fullString to the record[currentRecord].
|
||||
fullString = patName + " " + to_string(patAge) + " " + patDetails;
|
||||
record[currentRecord] = fullString;
|
||||
|
||||
// ask for index to get data out of array using record[inputIndex]
|
||||
cout << "Enter index to access record: ";
|
||||
cin >> inputRecord;
|
||||
|
||||
// copy data from record to display, then access data and output using display[currentRecord]
|
||||
string *tempArray = new string[record.getNumberPatients()];
|
||||
for(int copyString = 0; copyString < record.getNumberPatients(); copyString++)
|
||||
{
|
||||
tempArray[copyString] = record.getPatientAt(copyString);
|
||||
}
|
||||
MedicalRecord<string> display(numRecords, tempArray);
|
||||
|
||||
// erase the patient details after moving into string.
|
||||
fullString = "";
|
||||
patName = "";
|
||||
patAge = 0;
|
||||
patDetails = "";
|
||||
// increment the current record
|
||||
currentRecord = currentRecord + 1;
|
||||
// ask user if they want to continue.
|
||||
// if no, then set the exitValue to true.
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
BIN
assignmentFour/videogamer
Executable file
BIN
assignmentFour/videogamer
Executable file
Binary file not shown.
|
|
@ -0,0 +1,187 @@
|
|||
/*
|
||||
Program Name: Videogamer
|
||||
Process: designing a set of classes to represent types of characters that might
|
||||
be seen in a video game.
|
||||
Function Input/Parameters: ???
|
||||
Function Output/Parameters: ???
|
||||
Function Output/Returned: ???
|
||||
Device Input/Device: ???
|
||||
Device Output/Monitor: ???
|
||||
Dependencies: ???
|
||||
*/
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <random>
|
||||
#include <algorithm>
|
||||
#include <time.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// class definitions
|
||||
class GameCharacter
|
||||
{
|
||||
private:
|
||||
//
|
||||
protected:
|
||||
double characterHealth;
|
||||
string characterName;
|
||||
int characterLevel;
|
||||
public:
|
||||
GameCharacter()
|
||||
{
|
||||
//
|
||||
characterHealth = 0.0;
|
||||
characterName = "My Character";
|
||||
characterLevel = 1;
|
||||
}
|
||||
GameCharacter(double health, string name, int level)
|
||||
{
|
||||
//
|
||||
characterHealth = health;
|
||||
characterName = name;
|
||||
characterLevel = level;
|
||||
}
|
||||
// ~GameCharacter()
|
||||
// {
|
||||
// //
|
||||
// }
|
||||
// virtual ~GameCharacter() = 0;
|
||||
virtual ~GameCharacter()
|
||||
{
|
||||
return;
|
||||
// cout << "This not works?" << endl;
|
||||
}
|
||||
// accessor functions
|
||||
double getCharacterHealth()
|
||||
{
|
||||
return characterHealth;
|
||||
}
|
||||
string getCharacterName()
|
||||
{
|
||||
return characterName;
|
||||
}
|
||||
int getCharacterLevel()
|
||||
{
|
||||
return characterLevel;
|
||||
}
|
||||
// mutator functions
|
||||
void setCharacterHealth(double setHealth)
|
||||
{
|
||||
characterHealth = setHealth;
|
||||
}
|
||||
void setCharacterName(string setName)
|
||||
{
|
||||
characterName = setName;
|
||||
}
|
||||
void setCharacterLevel(int setLevel)
|
||||
{
|
||||
characterLevel = setLevel;
|
||||
}
|
||||
// virtual functions
|
||||
virtual void performUniqueAttack()
|
||||
{
|
||||
// nothing happens?
|
||||
}
|
||||
};
|
||||
|
||||
class Knight : public GameCharacter
|
||||
{
|
||||
private:
|
||||
string armorType;
|
||||
public:
|
||||
Knight() : GameCharacter()
|
||||
{
|
||||
armorType = "Leather Armor";
|
||||
setCharacterName("My Knight Character");
|
||||
}
|
||||
Knight(double health, string name, int level, string armor) : GameCharacter(health, name, level)
|
||||
{
|
||||
armorType = armor;
|
||||
}
|
||||
~Knight()
|
||||
{
|
||||
//
|
||||
// cout << "This works?" << endl;
|
||||
}
|
||||
// accessor functions
|
||||
string getArmorType()
|
||||
{
|
||||
return armorType;
|
||||
}
|
||||
// mutator functions
|
||||
void setArmorType(string armor)
|
||||
{
|
||||
armorType = armor;
|
||||
}
|
||||
// virtual functions
|
||||
void performUniqueAttack()
|
||||
{
|
||||
//
|
||||
cout << getCharacterName() << " performed Knight Attack wearing " << armorType << "!" << endl;
|
||||
}
|
||||
};
|
||||
|
||||
class Mage : public GameCharacter
|
||||
{
|
||||
private:
|
||||
double mageMana;
|
||||
public:
|
||||
Mage() : GameCharacter()
|
||||
{
|
||||
mageMana = 0.0;
|
||||
setCharacterName("My Mage Character");
|
||||
}
|
||||
Mage(double health, string name, int level, double mana) : GameCharacter(health, name, level)
|
||||
{
|
||||
mageMana = mana;
|
||||
}
|
||||
~Mage()
|
||||
{
|
||||
//
|
||||
// cout << "This works?" << endl;
|
||||
}
|
||||
// accessor functions
|
||||
double getMana()
|
||||
{
|
||||
return mageMana;
|
||||
}
|
||||
// mutator functions
|
||||
void setMana(double mana)
|
||||
{
|
||||
mageMana = mana;
|
||||
}
|
||||
// virtual functions
|
||||
void performUniqueAttack()
|
||||
{
|
||||
//
|
||||
cout << getCharacterName() << " performed Mage Attack with their " << mageMana << " amount of mana." << endl;
|
||||
}
|
||||
};
|
||||
|
||||
// function definitions
|
||||
|
||||
// main function
|
||||
int main()
|
||||
{
|
||||
int setSize = 4;
|
||||
GameCharacter *characterSet[setSize];
|
||||
characterSet[0] = new Knight(100.0, "Meta Knight", 20, "Pallidium Armor");
|
||||
characterSet[1] = new Mage(50.0, "Rosalina", 5, 300.0);
|
||||
characterSet[2] = new Knight(100.0, "Eomer", 20, "Chainmail Armor");
|
||||
characterSet[3] = new Mage(50.0, "Gandalf", 20, 900.0);
|
||||
|
||||
for(int characterIterator = 0; characterIterator < setSize; characterIterator++)
|
||||
{
|
||||
characterSet[characterIterator]->performUniqueAttack();
|
||||
}
|
||||
|
||||
for(int deleteIterator = 0; deleteIterator < setSize; deleteIterator++)
|
||||
{
|
||||
delete characterSet[deleteIterator];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue