为客户C编程分配点

为客户C编程分配点,c,file,text,login,system,C,File,Text,Login,System,我想在编码方面得到帮助。我用C(使用文件)创建了一个客户忠诚度系统,现在我需要给我的客户分配一些所谓的积分,但结果是它不会给他们分配任何积分 { for (int i = 0; i < (count / 3); i++) { fscanf(reward_file, "%s\n%s\n%d\n", user[i].Username, user[i].Password, &user[i].Points); if (Point = user[i].

我想在编码方面得到帮助。我用C(使用文件)创建了一个客户忠诚度系统,现在我需要给我的客户分配一些所谓的积分,但结果是它不会给他们分配任何积分

{
for (int i = 0; i < (count / 3); i++)
    {
        fscanf(reward_file, "%s\n%s\n%d\n", user[i].Username, user[i].Password, &user[i].Points);
        if (Point = user[i].Points)
        {
            strcpy(user[i].Points, Reward);
            Point = Point + Reward;
            printf("%d", Point);
            system("pause");;
        }
    }
    fclose(reward_file);
    FILE *new_file = fopen("CustomerRegistration.txt", "w");
    for (int i = 0; i < NumOfCust; i++)
    {
        fprintf(new_file, "%s\n%s\n%d\n", user[i].Username, user[i].Password, user[i].Points);
    }
    fclose(new_file);
    printf("You Have Successfully Added Your Point!!!\n");
    printf("You Will be Redirected Back to Customer Privilege Menu");
    system("TIMEOUT \t 5");
}
数据从名为“登录”的函数中获取

我还指定了名为“点”的全局变量


非常感谢您的帮助。

据我所知,从您发布的代码中,您希望为客户积分增加奖励

首先,您只需要向user.Points添加奖励,使用strcpy没有任何意义,因为该函数用于复制字符串

首先,if(Point=user[i].Points)也没有任何意义,因为C相等条件由一个双等号(“==”)表示,您不需要进行检查

积分成员是一个整数,奖励也是一个整数,所以你可以做算术运算,不需要使用其他的积分辅助

    for (int i = 0; i < (count / 3); i++)
        {
            fscanf(reward_file, "%s\n%s\n%d\n", user[i].Username, user[i].Password, &user[i].Points);

                user[i].Points += Reward;
                printf("%d", user[i].Points);

                system("pause");;

        }
 .....
for(int i=0;i<(计数/3);i++)
{
fscanf(奖励文件,“%s\n%s\n%d\n”,用户[i]。用户名,用户[i]。密码,&用户[i]。点数);
用户[i]。积分+=奖励;
printf(“%d”,用户[i]。点数);
系统(“暂停”);;
}
.....
第一个循环:

for (int i = 0; i < (count / 3); i++)
for(int i=0;i<(计数/3);i++)
第二圈

    for (int i = 0; i < NumOfCust; i++)
for(int i=0;i

如果numfcust大于(count/3),您将在CustomerRegistration.txt上获得单位化值。我看不到这些变量的值,但请确保它不会发生。最好是使用第一个循环中的最后一个i值作为第二个循环的停止条件。

Hi,编辑您的帖子,并向我们展示一个您从中获取输入的文件内容示例。Point变量的用途是什么?Hi@CioacaRadu我已经编辑了我的帖子,所有内容都被划分为不同的函数。变量点的目的是分配数学计算。我错了吗?请做一个分析。
gets()
已过时,请使用
fgets()
,尽管它们的工作方式不同。此外,您的代码缺少对库函数返回值的基本检查,例如
fopen
fscanf
等。
fscanf
的使用应该更像
if
(fscanf(奖励文件,“%s%s%d”,用户[i]。用户名,用户[i]。密码和用户[i]。点数)!=3){/*标记错误*/}
它真的很有效!!!非常感谢你,伙计!!!我真的很感激。如果我还有其他问题,我可以找你来帮助我吗?:D@CioacaRaduI认为如果你提出好问题并等待足够长的时间,stackoverflow会一直帮助你。
    for (int i = 0; i < (count / 3); i++)
        {
            fscanf(reward_file, "%s\n%s\n%d\n", user[i].Username, user[i].Password, &user[i].Points);

                user[i].Points += Reward;
                printf("%d", user[i].Points);

                system("pause");;

        }
 .....
for (int i = 0; i < (count / 3); i++)
    for (int i = 0; i < NumOfCust; i++)