如何在c++中计算日期(减法)

图片说明

如上图的输出

2468的意思是分钟

问题解决的话,请点下采纳

#include <stdio.h>
#include <string.h>

char *weeks[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

char * toStr(int week) { return weeks[week]; }
int fromStr(char * n)
{
    for (int i = 0; i < 7; i++)
        if (strcmp(weeks[i], n) == 0)
            return i;
    return -1;
}

int main()
{
    int h;
    int m;
    char w[10];
    int wn;
    int sub;
    scanf("%s", w);
    wn = fromStr(w);
    scanf("%d", &h);
    scanf("%d", &m);
    scanf("%d", & sub);
    for (int i = 0; i < sub; i++)
    {
        m = m - 1;
        if (m < 0) { m = 59; h = h - 1; }
        if (h < 0) { h = 23; wn = wn - 1; }
        if (wn < 0) wn = 6;
    }
    printf("%s %d %d\n", toStr(wn), h, m);
    return 0;
}