如何在C中创建输入出生日期函数

xe55xuns  于 2023-04-29  发布在  其他
关注(0)|答案(1)|浏览(128)
#include <stdio.h>

// create a struct to store users information
struct  user
    {
        int ID;
        char Username[50];
        char DateBirth[50];
        char Class[10];
    };
int InputUser(){

    int n;
    int Date;
    int Month;
    int Year;
    user u;
    printf("\nName:");
    gets(u.Username);
    printf("\nID: ");
    scanf("%d",&u.ID);
    printf("\nClass: ");
    gets(u.Class);
    printf("\nDate: ");
    scanf("%d",&Date);
    printf("\nMonth: ");
    scanf("%d",&Month);
    printf("\nYear: ");
    scanf("%d",&Year);

    return 0;
}

我想输入用户的生日到结构char DateBirth[10];,它将显示DD/MM/YYYY。示例:2023年4月19日。如何创建出生日期代码?代码在上面。

shyt4zoc

shyt4zoc1#

问题编码

scanf("%d", ...不会使用数字文本后的Enter〉或'\n',因此后面的gets()fgets()将只读取"\n"

scanf("%d",&u.ID);
...
gets(u.Class);  // Only gets `\n`

备选

考虑使用fgets()来处理所有用户输入到 string 中的内容。然后解析字符串中的ID、Class等。
请注意,自C11以来,gets()不再是标准C库的一部分。如果您的源材料建议使用gets(),您应该获得更新的材料。

相关问题