Loading...
More C++ Posts
#include "goat.h" //include goat.hvoid Goat::setBreed(string breed) {this->breed = breed;}void Goat::setWeight(float weight) {this->weight = weight;}void Goat::setName(string name) {this->name = name;}void Goat::setGender(char gender) {this->gender = gender;}void Goat::setSpayed(bool goatIsSpayed) {this->goatIsSpayed = goatIsSpayed;}void Goat::setRegistrationID(string registrationID) {this->registrationID = registrationID;}void Goat::setColor(string color) {this->color = color;}void Goat::setOtherComments(string otherComments) {this->otherComments = otherComments;}string Goat::getBreed() {return breed;}float Goat::getWeight() {return weight;}string Goat::getName() {return name;}char Goat::getGender() {return gender;}bool Goat::getSpayed() {return goatIsSpayed;}string Goat::getRegistrationID() {return registrationID;}string Goat::getColor() {return color;}string Goat::getOtherComments() {return otherComments;}Goat::Goat() {breed = "";weight = 0.0;name = "";gender = '\0';goatIsSpayed = false;registrationID = "";color = "";otherComments = "";}Goat::Goat(string goatBreed, float goatWeight, string goatName, char goatGender, bool goatSpayedStatus, string goatRegistrationID, string goatColor, string goatOtherComments) {breed = goatBreed;weight = goatWeight;name = goatName;gender = goatGender;goatIsSpayed = goatSpayedStatus;registrationID = goatRegistrationID;color = goatColor;otherComments = goatOtherComments;}Goat::~Goat() {cout << "goat destroyed" << endl;}void Goat::printinfo() {cout << "Breed: " << breed << endl << "weight: " << weight << endl << "Name: " << name << endl << "Gender: " << gender << endl << "is Spayed: ";if(goatIsSpayed) { //here I do a logical test on boolean goatIsSpayed. if true cout << true else cout << falsecout << "True";} else {cout << "False";}cout << endl << "Registration ID: " << registrationID << endl << "Color Description: " << color << endl << "Other Comments: " << otherComments << endl << endl;}
#include <iostream>using namespace std;int main(){int arr[] = {5, 1, 4, 20, 10, 2, 13, 11, 6, 21};int greed[] = {0, 0, 0, 0};int k = 0;int i;int set_index;while (k < 4){i = 0;while (i < 10){if (arr[i] > greed[k]){greed[k] = arr[i];set_index = i;}i++;}arr[set_index] = 0;k++;}cout << greed[0] << " " << greed[1] << " " << greed[2] << " " << greed[3] << endl;}
//===============Header File==================#include <iostream>#include <sstream> //stringbuf#include <utility> //exchange//Couple rules://Characters given through the getter functions have to be removed from the buffer.//This is so that bufferEmpty() == buffer.in_avail() > 0 basically always.//skipWhitespace doesn't remove the text from the buffer, but it does return the number of characters.//nextWord will trim whitespace before the word//nextInt will trim non-numbers before the number//hasNextInt and hasNextWord will trim the whitespace. If you think you need it, you should get nextWhitespace before doing any of those.//Whitespace after a word or an int is left on the buffer.//nextWhitespace will (get and) remove whitespace until the end of the line, including the newline character, but stops before the next line.//nextWhitespace won't read the next line when called before the end of the line, and it won't prompt the user for the next line if interactive.//If nextWhitespace is called after reading the end of the line, then it will read a new line into the buffer, which will prompt the user.//It acts like nextLine, but if there's something non-whitespace on the current line it stops there.class Scanner {public:std::stringbuf buffer;std::istream& input;Scanner(std::istream& in = std::cin) : buffer(), input(in) {}//Buffer debuggingbool fillBuffer();bool bufferEmpty();void printBufferEmpty();std::string getBuffer();size_t bufferLength();void printBufferStats();//Intbool hasNextInt();int nextInt();//Wordbool hasNextWord();std::string nextWord();//Linebool hasNextLine();//Whitespacesize_t skipWhitespace(); //Prob should be private, but I don't believe in that private shit.bool hasNextWhitespace();std::string nextWhitespace();std::string nextWhitespaceAll();std::string nextLine();};//===============Source File==================bool Scanner::fillBuffer() { //Returns if it had to get the next line from the input.const bool badInput = input.eof() || input.bad();const bool shouldFillBuffer = bufferEmpty() && !badInput;if (shouldFillBuffer) {std::string line;if (std::getline(input, line)) {buffer.str(buffer.str() + line + "\n");}}return shouldFillBuffer;}bool Scanner::bufferEmpty(){return buffer.str() == "";}void Scanner::printBufferEmpty(){std::cout << "The buffer is " << (bufferEmpty()? "" : "not") << " empty." << std::endl;}std::string Scanner::getBuffer(){return buffer.str();}size_t Scanner::bufferLength(){return buffer.str().length();}void Scanner::printBufferStats(){if(bufferEmpty()){std::cout << "The buffer is \"\"" << std::endl;return;}std::cout << "The length of the buffer is " << bufferLength() << std::endl;if(buffer.sgetc() == '\r'){std::cout << "The buffer is \\r\\n" << std::endl;}else if(buffer.sgetc() == '\n'){std::cout << "The buffer is \\n" << std::endl;}}bool Scanner::hasNextInt() {return hasNextWord() && (std::isdigit(buffer.sgetc()) || buffer.sgetc() == '-');}int Scanner::nextInt() {if (!hasNextInt()) { //Will fill the buffer if not filled. Will also trim whitespace.return 0;}std::string num;size_t charactersRead = 0;while (buffer.in_avail() > 0 && (std::isdigit(buffer.sgetc()) || buffer.sgetc() == '-')) {num += buffer.sbumpc();++charactersRead;}buffer.str(buffer.str().erase(0, charactersRead));return std::stoi(num);}bool Scanner::hasNextWord() {nextWhitespaceAll();return buffer.in_avail() > 0;}std::string Scanner::nextWord() {if (!hasNextWord()) { //Will fill the buffer if not filled. Will also trim whitespace.return "";}std::string word;size_t charactersRead = 0;while (buffer.in_avail() > 0 && !std::isspace(buffer.sgetc())) {word += buffer.sbumpc();++charactersRead;}buffer.str(buffer.str().erase(0, charactersRead));return word;}bool Scanner::hasNextLine() {return (!bufferEmpty()) || fillBuffer();}size_t Scanner::skipWhitespace() { //Returns characters readsize_t charactersRead = 0;while (buffer.in_avail() > 0 && std::isspace(buffer.sgetc())) {buffer.sbumpc();++charactersRead;}return charactersRead;}bool Scanner::hasNextWhitespace(){fillBuffer();return buffer.in_avail() > 0 && std::isspace(buffer.sgetc());}std::string Scanner::nextWhitespace() {if (!hasNextWhitespace()) { //Will fill the buffer if not filledreturn "";}const size_t charactersRead = skipWhitespace();std::string whitespace = buffer.str().substr(charactersRead);buffer.str(buffer.str().erase(0, charactersRead));return whitespace;}std::string Scanner::nextWhitespaceAll(){std::string whitespace;while(hasNextWhitespace()){std::string gottenWhiteSpace = nextWhitespace();whitespace += gottenWhiteSpace;}return whitespace;}std::string Scanner::nextLine(){if (!hasNextLine()) {return "";}fillBuffer();//Swap out the old buffer with an empty buffer, and get the old buffer as a variable.std::string line = std::exchange(buffer, std::stringbuf()).str();//Remove the newline.if(line[line.length() - 1] == '\n' || line[line.length() - 1] == '\r' ) line.pop_back();if(line[line.length() - 1] == '\r' || line[line.length() - 1] == '\n' ) line.pop_back();return line;}//=================Word and Int test=================while(bruh.hasNextInt() || bruh.hasNextWord()){std::cout << "started loop" << std::endl;if(bruh.hasNextInt()){std::cout << "Int: " << bruh.nextInt() << " " << std::endl;}else{std::cout << "Word: " << bruh.nextWord() << " " << std::endl;}bruh.nextWhitespace();}//===================Line test======================for(int count = 1; bruh.hasNextLine(); ++count){std::string line = bruh.nextLine();std::cout << "Line " << count << ": " << line << std::endl;}
/*Algorithm:Step 1: Get radius of the cylinder from the user and store in variable rStep 2: Get height of the cylinder from the user and store in variable hStep 3: Multiply radius * radius * height * pi and store in vStep 4: Display the volume*/#include <iostream>using namespace std;int main(){float r; //define variable for radiusfloat h; //define variable for heightfloat v;float pi;pi=3.1416;cout<<"Enter radius:";cin>>r;cout<<"Enter height:";cin>>h;v=r*r*h*pi; //compute volumecout<<"Radius:"<<r<<"\tHeight:"<<h<<endl; //display radius and heightcout<<"\n************************\n";cout<<"Volume:"<<v<<endl;//display volumereturn 0;}
using namespace std;class Hash{int BUCKET; // No. of buckets// Pointer to an array containing bucketslist<int> *table;public:Hash(int V); // Constructor// inserts a key into hash tablevoid insertItem(int x);// deletes a key from hash tablevoid deleteItem(int key);// hash function to map values to keyint hashFunction(int x) {return (x % BUCKET);}void displayHash();};Hash::Hash(int b){this->BUCKET = b;table = new list<int>[BUCKET];}void Hash::insertItem(int key){int index = hashFunction(key);table[index].push_back(key);}void Hash::deleteItem(int key){// get the hash index of keyint index = hashFunction(key);// find the key in (inex)th listlist <int> :: iterator i;for (i = table[index].begin();i != table[index].end(); i++) {if (*i == key)break;}// if key is found in hash table, remove itif (i != table[index].end())table[index].erase(i);}// function to display hash tablevoid Hash::displayHash() {for (int i = 0; i < BUCKET; i++) {cout << i;for (auto x : table[i])cout << " --> " << x;cout << endl;}}// Driver programint main(){// array that contains keys to be mappedint a[] = {15, 11, 27, 8, 12};int n = sizeof(a)/sizeof(a[0]);// insert the keys into the hash tableHash h(7); // 7 is count of buckets in// hash tablefor (int i = 0; i < n; i++)h.insertItem(a[i]);// delete 12 from hash tableh.deleteItem(12);// display the Hash tableh.displayHash();return 0;}
#include <iostream>#include "PlaylistNode.h"using namespace std;void PrintMenu(string title);int main() {string plTitle;cout << "Enter playlist's title:" << endl;getline(cin, plTitle);PrintMenu(plTitle);return 0;}void PrintMenu(string title) {Playlist list;string id;string sname;string aname;int length;int oldPos;int newPos;char choice;while(true) {cout << endl << title << " PLAYLIST MENU" << endl;cout << "a - Add song" << endl;cout << "d - Remove song" << endl;cout << "c - Change position of song" << endl;cout << "s - Output songs by specific artist" << endl;cout << "t - Output total time of playlist (in seconds)" << endl;cout << "o - Output full playlist" << endl;cout << "q - Quit" << endl << endl;cout << "Choose an option:" << endl;cin >> choice;cin.ignore();if (choice == 'q') {exit(1);}else if (choice == 'a') {cout << "\nADD SONG" << endl;cout << "Enter song's unique ID: ";cin >> id;cin.ignore();cout << "Enter song's name: ";getline(cin,sname);cout << "Enter artist's name: ";getline(cin,aname);cout << "Enter song's length (in seconds): ";cin >> length;list.AddSong(id, sname, aname, length);}else if (choice == 'd') {cout << "\nREMOVE SONG" << endl;cout << "Enter song's unique ID: ";cin >> id;list.RemoveSong(id);}else if (choice == 'c') {cout << "\nCHANGE POSITION OF SONG" << endl;cout << "Enter song's current position: ";cin >> oldPos;cout << "Enter new position for song: ";cin >> newPos;list.ChangePosition(oldPos, newPos);}else if (choice == 's') {cout << "\nOUTPUT SONGS BY SPECIFIC ARTIST" << endl;cout << "Enter artist's name: ";getline(cin, aname);list.SongsByArtist(aname);}else if (choice == 't') {cout << "\nOUTPUT TOTAL TIME OF PLAYLIST (IN SECONDS)" << endl;cout << "Total time: " << list.TotalTime() << " seconds" << endl;}else if (choice == 'o') {cout << endl << title << " - OUTPUT FULL PLAYLIST" << endl;list.PrintList();}else {cout << "Invalid menu choice! Please try again." << endl;}}}