Loading...
More C++ Posts
#include <string>#include <iostream>#include "PlaylistNode.h"using namespace std;PlaylistNode::PlaylistNode() {uniqueID = "none";songName = "none";artistName = "none";songLength = 0;nextNodePtr = 0;}PlaylistNode::PlaylistNode(string uniqueID_, string songName_, string artistName_, int songLength_) {uniqueID = uniqueID_;songName = songName_;artistName = artistName_;songLength = songLength_;nextNodePtr = 0;}void PlaylistNode::InsertAfter(PlaylistNode* ptr) {this->SetNext(ptr->GetNext());ptr->SetNext(this);}void PlaylistNode::SetNext(PlaylistNode* ptr) {nextNodePtr = ptr;}string PlaylistNode::GetID() {return uniqueID;}string PlaylistNode::GetSongName() {return songName;}string PlaylistNode::GetArtistName() {return artistName;}int PlaylistNode::GetSongLength() {return songLength;}PlaylistNode* PlaylistNode::GetNext() {return nextNodePtr;}void PlaylistNode::PrintPlaylistNode() {cout << "Unique ID: " << uniqueID << endl;cout << "Song Name: " << songName << endl;cout << "Artist Name: " << artistName << endl;cout << "Song Length (in seconds): " << songLength << endl;}Playlist::Playlist() {head = tail = 0;}void Playlist::AddSong(string id, string songname, string artistname, int length) {PlaylistNode* n = new PlaylistNode(id, songname, artistname, length);if (head == 0) {head = tail = n;}else {n->InsertAfter(tail);tail = n;}}bool Playlist::RemoveSong(string id) {if (head == NULL) {cout << "Playlist is empty" << endl;return false;}PlaylistNode* curr = head;PlaylistNode* prev = NULL;while (curr != NULL) {if (curr->GetID() == id) {break;}prev = curr;curr = curr->GetNext();}if (curr == NULL) {cout << "\"" << curr->GetSongName() << "\" is not found" << endl;return false;}else {if (prev != NULL) {prev ->SetNext(curr->GetNext());}else {head = curr->GetNext();}if (tail == curr) {tail = prev;}cout << "\"" << curr->GetSongName() << "\" removed." << endl;delete curr;return true;}}bool Playlist::ChangePosition(int oldPos, int newPos) {if (head == NULL) {cout << "Playlist is empty" << endl;return false;}PlaylistNode* prev = NULL;PlaylistNode* curr = head;int pos;if (head == NULL || head == tail) {return false;}for (pos = 1; curr != NULL && pos < oldPos; pos++) {prev = curr;curr = curr->GetNext();}if (curr != NULL) {string currentSong = curr->GetSongName();if (prev == NULL) {head = curr->GetNext();}else {prev->SetNext(curr->GetNext());}if (curr == tail) {tail = prev;}PlaylistNode* curr1 = curr;prev = NULL;curr = head;for (pos = 1; curr != NULL && pos < newPos; pos++) {prev = curr;curr = curr->GetNext();}if (prev == NULL) {curr1->SetNext(head);head = curr1;}else {curr1->InsertAfter(prev);}if (curr == NULL) {tail = curr1;}cout << "\"" << currentSong << "\" moved to position " << newPos << endl;return true;}else {cout << "Song's current position is invalid" << endl;return false;}}void Playlist::SongsByArtist(string artist) {if (head == NULL) {cout << "Playlist is empty" << endl;}else {PlaylistNode* curr = head;int i = 1;while (curr != NULL) {if (curr->GetArtistName() == artist) {cout << endl << i << "." << endl;curr->PrintPlaylistNode();}curr = curr->GetNext();i++;}}}int Playlist::TotalTime() {int total = 0;PlaylistNode* curr = head;while (curr != NULL) {total += curr->GetSongLength();curr = curr->GetNext();}return total;}void Playlist::PrintList() {if (head == NULL) {cout << "Playlist is empty" << endl;}else {PlaylistNode* curr = head;int i = 1;while (curr != NULL) {cout << endl << i++ << "." << endl;curr->PrintPlaylistNode();curr = curr->GetNext();}}}
#include <iostream>using namespace std;/* Function: get_coeffParameters: double& coeff, int pos passed from bb_4acReturn: type is void so no return, but does ask for user to input data that establishes what a b and c are.*/void get_coeff(double& coeff, int pos) {char position;if(pos == 1) {position = 'a';} else if(pos == 2) { //a simple system to determine what coefficient the program is asking for.position = 'b';} else {position = 'c';}cout << "Enter the co-efficient " << position << ":"; //prompt to input coeffcoeff = 5; //input coeff}/* Function: bb_4acParameters: no parameters passed from main, but 3 params established in function, double a, b, c.Return: b * b - 4 * a * c*/double bb_4ac() {double a, b, c; //coefficients of a quadratic equationget_coeff(a, 1); // call function 1st timeget_coeff(b, 2); // call function 2nd timeget_coeff(c, 3); // call function 3rd timereturn b * b - 4 * a * c; //return b * b - 4 * a * c}int main() {cout << "Function to calculate the discriminant of the equation. . . " << endl;double determinate = bb_4ac(); //assign double determinate to bb_4ac functioncout << "The discriminant for given values is: " << determinate << endl; //output the determinate!}
// Iterative C++ program to// implement Stein's Algorithm//#include <bits/stdc++.h>#include <bitset>using namespace std;// Function to implement// Stein's Algorithmint gcd(int a, int b){/* GCD(0, b) == b; GCD(a, 0) == a,GCD(0, 0) == 0 */if (a == 0)return b;if (b == 0)return a;/*Finding K, where K is thegreatest power of 2that divides both a and b. */int k;for (k = 0; ((a | b) & 1) == 0; ++k){a >>= 1;b >>= 1;}/* Dividing a by 2 until a becomes odd */while ((a & 1) == 0)a >>= 1;/* From here on, 'a' is always odd. */do{/* If b is even, remove all factor of 2 in b */while ((b & 1) == 0)b >>= 1;/* Now a and b are both odd.Swap if necessary so a <= b,then set b = b - a (which is even).*/if (a > b)swap(a, b); // Swap u and v.b = (b - a);} while (b != 0);/* restore common factors of 2 */return a << k;}// Driver codeint main(){int a = 12, b = 780;printf("Gcd of given numbers is %d\n", gcd(a, b));return 0;}
#include <iostream>using namespace std;int main() {int arr[5];for(int i = 0; i < 5; i++) {arr[i] = i;}for(int i = 0; i < 5; i++) {cout << "Outputting array info at position " << i + 1 << ": " << arr[i] << endl;}for(int i=0;i<5;i++){for(int j=i+1;j<5;j++){if(arr[i]>arr[j]){int temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}cout << endl;for(int i = 0; i < 5; i++) {cout << "Outputting sorted array info at position " << i + 1 << ": " << arr[i] << endl;}return 0;}
#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>int main(){const char* const hello = "Hello, world!";const char* bruh = hello;char* const yeet = hello;std::cout << bruh << std::endl;std::cout << yeet << std::endl;return 0;}/*Place your bets!Will the program:a.) Print "Hello, world!" twice?b.) Compile error on line 5 (bruh initialize line) because the pointer gets implicit cast to non-const?c.) Compile error on line 7 (yeet initialize line) because the char gets implicit cast to non-const?d.) Both b and c?e.) Compile error line 11 (print yeet) because the pointer is constant and can't be incrementedf.) Print "Hello, world!" then print the pointer address in hexadecimalg.) Both b and e?h.) Both c and e?i.) B, c, and e?*/// The answer is in this base 64 string:// T25seSBjLikKVGhlIGNvbXBpbGVyIGRvZXNuJ3QgYXBwcmVjaWF0ZSB5b3UgbWFraW5nIHRoZSBjaGFyYWN0ZXJzIHRoZSBwb2ludGVyIHJlZmVycyB0byBub24tY29uc3QsIGJ1dCBpdCdzIGZpbmUgd2l0aCB5b3UgY29weWluZyBhIGNvbnN0YW50IHZhbHVlLCBpLmUuIHRoZSBwb2ludGVyLCB0byBhIG5vbi1jb25zdGFudCB2YXJpYWJsZS4KSWYgeW91IHJlcGxhY2UgdGhhdCBsaW5lIHdpdGggY2hhciogY29uc3QgeWVldCA9IGNvbnN0X2Nhc3Q8Y2hhciogY29uc3Q+KGhlbGxvKTsgSXQnbGwgcHJpbnQgIkhlbGxvLCB3b3JsZCEiIHR3aWNlLCB3aGljaCBpcyB2ZXJ5IHN0cmFuZ2UgY29uc2lkZXJpbmcgdGhhdCB5ZWV0IGlzIGEgY29uc3QgcG9pbnRlciwgc28geW91J2QgdGhpbmsgaXQgd291bGQgcHJpbnQgYXMgYSBoZXhhZGVjaW1hbCBiZWNhdXNlIGlmIHlvdSB0cnkgdG8gKCsreWVldCkgd2hpbGUgbG9vcGluZyB0aHJvdWdoIHRoZSBzdHJpbmcsIHlvdSdkIGdldCBhbiBlcnJvciwgYmVjYXVzZSBpdCdzIGNvbnN0IGFuZCBjYW4ndCBiZSBjaGFuZ2VkLgpJbnN0ZWFkIG9mIHVzaW5nIGEgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIG9zdHJlYW06Om9wZXJhdG9yPDwsIHRoZXkgbWFrZSBpdCBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgdHlwZSBjb25zdCBjaGFyKiwgYW5kIEMrKyBoYXMgbm8gcHJvYmxlbXMgcHJvbW90aW5nIGEgdmFyaWFibGUgdG8gY29uc3RhbnQgd2hlbiBpbXBsaWNpdCBjYXN0aW5nLCBhbmQgaXQgaGFzIG5vIHByb2JsZW1zIGltcGxpY2l0IGNhc3RpbmcgdGhlIGNvbnN0IHBvaW50ZXIgdG8gYSBub3JtYWwgcG9pbnRlciBiZWNhdXNlIGl0J3MgbWFraW5nIGEgY29weS4gVGhlIHBvaW50ZXIgZ2V0cyBjb3BpZWQgYmVjYXVzZSB0aGUgcG9pbnRlciBpcyBwYXNzZWQgYnkgdmFsdWUsIG5vdCByZWZlcmVuY2Uu