Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CS50信用任务审查_C_Algorithm_Cs50 - Fatal编程技术网

CS50信用任务审查

CS50信用任务审查,c,algorithm,cs50,C,Algorithm,Cs50,我有一个非常有趣的案子。我已经编写了编译后的源代码,这是可行的,但当我将代码添加到课程中以供审查时,我发现了下一个问题: :) credit.c exists. :) credit.c compiles. :( identifies 378282246310005 as AMEX expected "AMEX\n", not "\nAMEX\n" :( identifies 371449635398431 as AMEX expected "AMEX\n", not "\nAMEX\n"

我有一个非常有趣的案子。我已经编写了编译后的源代码,这是可行的,但当我将代码添加到课程中以供审查时,我发现了下一个问题:

:) credit.c exists.

:) credit.c compiles.

:( identifies 378282246310005 as AMEX expected "AMEX\n", not "\nAMEX\n"

:( identifies 371449635398431 as AMEX expected "AMEX\n", not "\nAMEX\n"

:( identifies 5555555555554444 as MASTERCARD
    expected "MASTERCARD\n", not "\nMASTERCARD\n"

:) identifies 5105105105105100 as MASTERCARD

:) identifies 4111111111111111 as VISA

:( identifies 4012888888881881 as VISA
    expected "VISA\n", not "\nVISA\n"

:( identifies 1234567890 as INVALID
    expected "INVALID\n", not "\nINVALID\n"

:) identifies 369421438430814 as INVALID

:( identifies 4062901840 as INVALID
    expected exit code 0, not 1

:) identifies 5673598276138003 as INVALID

:( identifies 4111111111111113 as INVALID
    expected exit code 0, not 1

:) rejects a non-numeric input of "foo"

:) rejects a non-numeric input of ""
下一部分是我的代码:

#包括
#包括
#包括
内部主(空)
{
长卡片数量;
//获取卡号
做
{
card_num=get_long(“编号:\n”);
}
而(卡号<1 | |卡号>9999999999);
对于(int i=0;i0)
{
temp_num=temp_num/10;
计数++;
}
//数字量校验
如果(计数!=13&&count!=15&&count!=16)
{
printf(“无效\n”);
返回1;
}
//luna算法检查
整数和=0;
临时数量=卡片数量;
对于(int i=1;i 9)
{
数字-=9;
}
}
总和+=位数;
temp_num/=10;
}
如果(总和%10!=0)
{
printf(“无效\n”);
返回1;
}    
//银行信息查询
临时数量=卡片数量;
同时(温度数值>100)
{
temp_num=temp_num/10;
}
int company_id=临时数量;
如果(公司id>50和公司id<56和计数==16)
{
printf(“万事达卡”);
}
否则如果((公司id==34 | |公司id==37)和&(计数==15))
{
printf(“美国运通”);
}
否则如果((公司id/10==4)和&(计数==13 | |计数==16))
{
printf(“VISA卡”);
}
其他的
{
printf(“无效\n”);
}
返回0;
}

好消息!CS50有自己的SE社区,您可以找到

密切注意错误告诉你的是什么。有一个额外的回车(
\n
)被输出到某处,如下所示:
:(将378224631005标识为美国运通期望的“美国运通”,而不是“\nAMEX\n”
。请注意check50期望的(
“美国运通”
)和程序输出的(
“\nAMEX\n”
)之间的差异.一旦纠正,将消除5个错误。良好的开端

查看代码以查看返回退出代码1的位置。这不是规范所要求的。请遵守规范。有时越多越好:)。纠正后,将消除最后两个错误


也许这些看起来像是不应该影响评分的小细节。但如果老板或客户希望严格遵守规范,这些“小细节”可能会转化为真正的金钱

请提供问题详情,以便我们能够帮助您欢迎StackOverflow。看见您的问题似乎是在无效输入上出错,并且在许多情况下在预期输出前面插入换行符。显示您诊断和解决这些问题的尝试;在您的代码中,效果应该相当有限。