I think WF= well fuck
Anyway.... Dave.... Is there a better way to do this?
#include
#include
#include
#include
#include
#include
#include
#include
#include
int binaryToDecimal(const std::string& binary) {
int result = 0;
for (char c : binary) {
result = (result << 1) + (c - '0');
}
return result;
}
std::string binaryToHex(const std::string& binaryCode) {
std::bitset<8> bits(binaryToDecimal(binaryCode));
std::stringstream ss;
ss << std::hex << std::setw(2) << std::setfill('0') << static_cast
return ss.str();
}
std::string binaryToASCII(const std::string& binaryCode) {
std::string result;
for (size_t i = 0; i < binaryCode.length(); i += 8) {
std::bitset<8> bits(binaryCode.substr(i, 8));
char asciiChar = static_cast
result += asciiChar;
}
return result;
}
std::string shiftASCII(const std::string& asciiText, int shiftCount) {
std::string result;
for (char c : asciiText) {
if (std::isalpha(c)) {
char base = (std::isupper(c)) ? 'A' : 'a';
char shiftedChar = ((c - base + shiftCount) % 26) + base;
result += shiftedChar;
} else {
result += c;
}
}
return result;
}
void decodeBinary(const std::string& binaryCode, std::string& originalInput, std::string& translation, int shiftCount) {
std::cout << "May I present your 1s&0s Code: " << binaryCode << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(2));
std::string asciiText = binaryToASCII(binaryCode);
std::cout << "Here's your Decoded ASCII: " << asciiText << std::endl;
std::string shiftedText = shiftASCII(asciiText, shiftCount);
std::cout << "Shifted ASCII: " << shiftedText << std::endl;
originalInput = binaryCode;
translation = shiftedText;
}
int main() {
std::string runProgram;
std::cout << "Wouldst thou like to runneth the program? (Yes/No): ";
std::cin >> runProgram;
if (runProgram == "Yes" || runProgram == "yes" || runProgram == "Y" || runProgram == "y") {
std::string binaryCode;
std::cout << "Giveth to me thine code of 1's and 0's (without spaces): ";
std::cin >> binaryCode;
std::this_thread::sleep_for(std::chrono::seconds(2));
std::string hexCode = binaryToHex(binaryCode);
std::cout << "Ye ole Hex Code: 0x" << hexCode << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(2));
std::string originalInput;
std::string translation;
int shiftCount;
std::cout << "Enter the shift count: ";
std::cin >> shiftCount;
decodeBinary(binaryCode, originalInput, translation, shiftCount);
std::cout << "Original Input: " << originalInput << std::endl;
std::cout << "Translation: " << translation << std::endl;
std::ofstream outputFile("what_you_had_said_was.txt");
if (outputFile.is_open()) {
outputFile << "1s&0s Code: " << binaryCode << std::endl;
outputFile << "Hex Code: 0x" << hexCode << std::endl;
outputFile << "Original Input: " << originalInput << std::endl;
outputFile << "Translation: " << translation << std::endl;
outputFile.close();
std::cout << "Translation saved to what_you_had_said_was.txt" << std::endl;
} else {
std::cout << "Apparently no one is home, I tried knockin'..." << std::endl;
}
std::string deleteEntry;
std::cout << "Wouldst thou like to delete the entry from the file? (Yes/No): ";
std::cin >> deleteEntry;
if (deleteEntry == "Yes" || deleteEntry == "yes" || deleteEntry == "Y" || deleteEntry == "y") {
if (std::remove("what_you_had_said_was.txt") == 0) {
std::cout << "Entry go poof." << std::endl;
} else {
std::cout << "For some reason unbeknownst to me, there has been an extreme malfunction. That file is still there." << std::endl;
}
}
} else {
std::cout << "Program terminated." << std::endl;
}
return 0;
}
Output:
Wouldst thou like to runneth the program? (Yes/No): y
Giveth to me thine code of 1's and 0's (without spaces): 101001010101010101000100111101
Ye ole Hex Code: 0x3d
Enter the shift count: 2
May I present your 1s&0s Code: 101001010101010101000100111101
Here's your Decoded ASCII: �UD=
Shifted ASCII: �WF=
Original Input: 101001010101010101000100111101
Translation: �WF=
Translation saved to what_you_had_said_was.txt
Wouldst thou like to delete the entry from the file? (Yes/No):