-6
主: https://github.com/MJGHD/Stacks./blob/master/main.cpp布尔值不变? [C++]
//Imports needed libraries, headers and defines the size of the question and answer variables
#include <iostream>
#include <cstdlib>
#include <string>
#include "lib/script.h"
#define STRING_SIZE 1000
//Initalises the temporary dummy variable and the question + answer variables
std::string questions[STRING_SIZE];
std::string answers[STRING_SIZE];
//Initalises showMainMenu function
void showMainMenu();
int main() {
//Shows the main menu
showMainMenu();
return EXIT_SUCCESS;
}
void showMainMenu() {
std::cout << "Welcome to Stack.! To get started, type in the number from 1-4 that you desire!\n\n";
std::cout << "1. Create new stack\n";
std::cout << "2. Open existing stack\n";
std::cout << "3. Export existing stack\n";
std::cout << "4. Options\n\n";
std::cout << "";
//Assigns the user input to the dummy variable initalised earlier
std::cin >> dummy.usrInput;
//Reads the usrInput and figures out what the user wanted
switch(dummy.usrInput){
case 1:
createNewStack();
case 2:
openExistingStack();
case 3:
exportExistingStack();
case 4:
showOptions();
default:
std::cout << "That was not a valid input. Press enter to continue... ";
std::cin.get();
clearScreen();
}
}
脚本: https://github.com/MJGHD/Stacks./blob/master/lib/script.h
#include <iostream>
#include <cstdlib>
#include <string>
#include <cstdio>
struct usrOptions{
bool autosave, randomisedCards;
std::string autosaveOn, randomOn;
}option;
struct dummies{
int usrInput;
}dummy;
inline void clearScreen(){
#ifdef _WIN32
std::system("cls");
#else
std::system ("clear");
#endif
}
inline void saveUserStack(){
}
void createNewStack(){
}
void openExistingStack(){
}
void exportExistingStack(){
}
void showOptions(){
clearScreen();
switch(option.autosave){
case 0:
option.autosaveOn = "off";
case 1:
option.autosaveOn = "on";
}
switch(option.randomisedCards){
case 0:
option.randomOn = "off";
case 1:
option.randomOn = "on";
}
std::cout << "1. Autosave is currently " << option.autosaveOn;
std::cout << "\n2. Randomised cards are currently " << option.randomOn;
std::cout << "\n\nWhich option do you wish to change (please enter in the form of an integer): ";
std::cin >> dummy.usrInput;
switch(dummy.usrInput){
case 1:
std::cout << "Are you sure you wish to change the option for autosave? 0 = no 1 = yes: ";
std::cin >> dummy.usrInput;
switch(dummy.usrInput){
case 0:
clearScreen();
showOptions();
default:
switch(option.autosave){
case 0:
option.autosave = 1;
default:
option.autosave = 0;
}
showOptions();
}
case 2:
std::cout << "Are you sure you wish to change the option for randomised cards? 0 = no 1 = yes: ";
std::cin >> dummy.usrInput;
switch(dummy.usrInput){
case 0:
showOptions();
default:
switch(option.randomisedCards){
case 0:
option.randomisedCards = 1;
case 1:
option.randomisedCards = 0;
}
showOptions();
}
default:
showOptions();
}
std::cout << "Autosave is currently " << option.autosaveOn;
}
出于某种原因,当我确认修改的选项,该值不发生变化,或至少输出保持不变。
欢迎来到StackOverflow!请注意,问题应该是独立的(即:它们可能包含外部资源,但它们应该在没有它们的情况下进行回答)。你可以尝试提供[mcve]。 –
请提取一个最简单的例子,然后在这里发布内联。现在,您的问题是无关紧要的,请阅读发布指南了解更多信息。此外,标签不应该在标题中,这是因为它们有独立的位置。 –
“当我验证选项的更改”是什么意思?你在说什么选择?你怎么改变它们?你如何验证这些变化? –