编撰一个简易日历。在文本框中输入要查找的日期,程序可以计算出这一天处在该年 份的第几周,并且能判断出这一天到底是星期几

编写一个简易日历。在文本框中输入要查找的日期,程序可以计算出这一天处在该年 份的第几周,并且能判断出这一天到底是星期几。
我的代码如下
C/C++ code
#include<iostream>
#include <string>
using namespace std;
int weekday(int year,int month,int day);

int main()
{
    int year,month,day,d,i,monthDays,totalDays=0;
    string w[] = {"日","一","二","三","四","五","六"};
    cout<<"输入年月日(单纯数字,空格隔开):";
    cin>>year>>month>>day;
    d = weekday(year,1,1);

    for(i=1;i<month;i++)
    {
        if(i==2)
            {
                if(year%400==0||(year%4==0 && year%100!=0))
                    monthDays = 29;
                else
                    monthDays = 28;
            }
        else if(i==4 || i==6 || i==9 || i==11)
            monthDays = 30;
        else
            monthDays = 31;
    totalDays += monthDays;
    }
    totalDays += day;
    if(d==0) d=5;
    else d=d-2;
    cout<<"第"<<(totalDays+d)/7+1<<"周"<<endl;;
    cout<<"星期"<<w[weekday(year,month,day)]<<endl;
    return 0;
}
int weekday(int year,int month,int day)
{
    int a, y, m, d;
    a = (14 - month) / 12;
    y = year - a;
    m = month + 12*a - 2;
    d = (day + y + y/4 - y/100 + y/400 + (31*m)/12) % 7;
    return d;
}


问题1
但是这个不全面,没有用到文本框,怎么在这个的基础上用上文本框
问题2
或者你有更好的算法也可以告诉我