gpt4 book ai didi

c - 我需要获取函数 calc_date_number 来执行方程,然后在 main 中使用该函数方程来处理用户的日期

转载 作者:行者123 更新时间:2023-11-30 20:55:05 25 4
gpt4 key购买 nike

#include <stdio.h>
long int calc_date_number (int, int, int);

main()
{

int x, y, month, day, year, invalid_date;
int daysPerMonth[12] = {31, y, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
long int N;

printf ("Welcome to the Date to Day-of-Week program.\n\n");
printf ("The program will five the day of the week for any date from 1/1/1900");

for (x = 0; x < 1; x++)
{
printf ("\n\nEnter date (mm/dd/yyyy): ");
scanf ("%i/%i/%i", &month, &day, &year);

daysPerMonth[2] = 28;
if ( (year % 400 == 0 && year % 100 != 0) || year % 400 == 0)
daysPerMonth[2] = 29;
else if ( day < 1 || day > daysPerMonth[month - 1]){
printf ("Invalid day. Please re-enter date.\n");
&invalid_date;
--x;
continue;}
else if ( month < 1 || month > 12){
printf ("Invalid month. Please re-enter date.\n");
&invalid_date;
--x;
continue;}
else if ( year < 1900){
printf ("Invalid year. Pleas re-enter date.\n");
&invalid_date;
--x;
continue;}
}
N = calc_date_number(month, day, year);
printf("%li", N);

}

long int calc_date_number (int m, int d, int y)
{

int f, g;
long int date_number;

if ( m <= 2)
f == y;
else
f == y;

if ( m <= 2)
g == m + 13;
else
g == m + 1;

date_number = (1461 * f)/ 4 + (153 * g) / 5 + d;

return date_number;

我无法按照老师的要求让 main 执行 calc_date_number 中的方程。

最佳答案

我在您的 if 语句中立即看到的两个问题是:

  1. 您使用的是 ==(等价运算符)而不是 =(赋值运算符)。
  2. 这似乎更像是一个逻辑错误,但您的第一个 if 语句的计算结果是相同的,与 m 是否大于 2 无关。

    if ( m <= 2)
    f == y;
    else
    f == y;

    if ( m <= 2)
    g == m + 13;
    else
    g == m + 1;

您还可以将这两个 if 语句组合在一起,因为条件相同(除非这也是逻辑错误)。那么以上所有部分将如下所示:

if (m <= 2) {
f = y;
g = m + 13;
} else {
f = ? // Replace ? with your value, or remove it, or do whatever
g = m + 1;
}

我可以通过研究逻辑来帮助你更多,但也许这不是你的老师想要的。 ;)

关于c - 我需要获取函数 calc_date_number 来执行方程,然后在 main 中使用该函数方程来处理用户的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com