⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prompt.cpp

📁 一个好玩的猜谜游戏
💻 CPP
字号:
#include <cctype>
#include <iostream>
using namespace std;
#include "prompt.h"

long int PromptRange(const string & prompt,long int low, long int high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    long int value;
    string response;
    do
    {
        cout << prompt << " between ";
        cout << low << " and " << high << ": ";
        cin >> response;
	value = atol(response.c_str());
    } while (value < low || high < value);
    
    return value;
}

static void eatline()
{
    string dummy;
    getline(cin,dummy);
}

long int PromptlnRange(const string & prompt,long int low, long int high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    long int retval = PromptRange(prompt,low,high);
    eatline();
    return retval;
}

int PromptRange(const string & prompt,int low, int high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    int value;
    string response;
    do
    {
        cout << prompt << " between ";
        cout << low << " and " << high << ": ";
        cin >> response;
	value = atoi(response.c_str());
    } while (value < low || high < value);
    
    return value;
}

int PromptlnRange(const string & prompt,int low, int high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    int retval = PromptRange(prompt,low,high);
    eatline();
    return retval;
}

double PromptRange(const string & prompt,double low, double high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    double value;
    string response;
    do
    {
        cout << prompt << " between ";
        cout << low << " and " << high << ": ";
	cin >> response;
        value = atof(response.c_str());
    } while (value < low || high < value);
    
    return value;
}

double PromptlnRange(const string & prompt,double low, double high)
// precondition: low <= high
// postcondition: returns a value between low and high (inclusive)
{
    double retval = PromptRange(prompt,low,high);
    eatline();
    return retval;    
}

string PromptString(const string & prompt)
// postcondition: returns string entered by user
{
    string str;
    cout << prompt;
    cin >> str;
    return str;
}

string PromptlnString(const string & prompt)
// postcondition: returns string entered by user
{
    string str;
    cout << prompt;
    getline(cin,str);
    return str;
}

bool PromptYesNo(const string & prompt)
// postcondition: returns true iff user enters yes    
{
    string str;
    char ch;
    do
    {
	cout << prompt << " ";
	cin >> str;
	ch = tolower(str[0]);
    } while (ch != 'y' && ch != 'n');

    return ch == 'y';
}

bool PromptlnYesNo(const string & prompt)
// postcondition: returns true iff user enters yes    
{
    bool retval = PromptYesNo(prompt);
    eatline();
    return retval;       
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -