0

基本的に私はこのカレンダーを作成しました。出力すると、それが正しいことを簡単に確認できますが、閉じてしまいます。誰かが出力を表示するために開いたままにするのを手伝ってくれますか? これが何であるかを知る必要があることはわかっていますが、これを行うのに長い時間がかかり、私の心は適切な場所にありません. ありがとう


#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <iomanip>
#include "float.h"
#include <stack>

using namespace std;

using std::stack;

int calendar[6][7];
void cal(int y, int z) // y is number of days and z is the number corresponding 
{                              // to the first day
    int n = 1;
    for (int j = z - 1; j<7; j++)
    {
        calendar[0][j] = n;
        n++;
    }
    for (int i = 1; i<6 && n <= y; i++)
    {
        for (int k = 0; k<7 && n <= y; k++)
        {
            calendar[i][k] = n;
            n++;
        }
    }
}
int main()
{
    int d;
    int day;
    cout << "Enter number of days : ";
    cin >> d;
    cout << "Enter first day of the month(1 for monday 7 for sunday..) : ";
    cin >> day; cout << "\n";
    cal(d, day);
    cout << "M       T       W       T       F       S       S" << endl;
    cout << "\n";
    for (int i = 0; i<6; i++)
    {
        for (int j = 0; j<7; j++)
        {
            cout << calendar[i][j] << "\t";
        }
        cout << "" << endl; 
    }
}
4

4 に答える 4

1

std::cin.get()窓を開けたままにするために使用します。

于 2013-11-09T23:13:02.237 に答える
0

おそらく最も簡単な方法は、main の終了直前に何らかの入力を求めることです。

std::cin.ignore(std::numeric_limits<std::streamsize>::max());
std::cin.ignore();

これはエンターキーが押されるのを待ちます: 数値入力が行われただけなので、入力バッファには少なくとも改行が残っています。最初の行は、すでに入力されている行を取り除きます。次に、2 行目はエンター キーを待ちます。

于 2013-11-09T23:12:56.143 に答える
0

私は通常getchar()、より短いユーザー入力を待つために使用しますstd::cin.get()

于 2013-11-09T23:16:20.147 に答える
0

誰も言及していないのでsystem("pause")、Windows システム ファミリでも実行できます。最も「エレガントな」方法で必要なことを行います。

于 2013-11-09T23:56:22.207 に答える