C ++日历,在我看到输出之前关闭

时间:2013-11-09 23:11:53

标签: c++ calendar

所以基本上我创建了这个日历,当它输出时你可以简单地看到它是正确但它只是关闭,有人可以帮我保持打开以显示输出吗? 我知道我应该知道这是什么,但这需要我很长时间才能做到,而我的思想并不是在正确的地方。感谢


#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 个答案:

答案 0 :(得分:1)

使用std::cin.get()保持窗口打开。

答案 1 :(得分:0)

最简单的方法可能是在主要结束之前要求输入一些:

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

这将等待输入键被命中:由于只完成了一些数字输入,所以输入缓冲区中至少仍然存在换行符。第一行删除任何已输入的行。然后第二行等待回车键。

答案 2 :(得分:0)

我通常只使用getchar()等待用户输入,这比std::cin.get()短。

答案 3 :(得分:0)

由于没有人提到它 - 您也可以在Windows系统系列上执行system("pause")。它以最“优雅”的方式满足您的需求。