Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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
任何整数输入,带“quot;6“;因为最右边的数字可以工作,但是任何像…6这样的数字都会导致分割错误,为什么? < >我的C++程序名为“CONchange .CPP”,报告了不同数字的注释数量,以改变给定的整数。代码是 #include<iostream> #include<string> #include<sstream> using namespace std; int main() { cout<<"please enter the amount: "; int amount; cin>>amount; int totalNoOfCoins=0; int coins[]= {100,50,20,10,5,1}; int noOfCoins[sizeof(coins)]= {0}; int counter=0; while(amount>0) { if(amount>coins[counter]) { noOfCoins[counter]=amount/coins[counter]; amount-=noOfCoins[counter]*coins[counter]; } counter++; } string output="The amount can be changed by:\n"; for(int i=0;i<sizeof(coins);i++) { if(noOfCoins[i]>0) { ostringstream oss; ostringstream oss1; oss<<coins[i]; oss1<<noOfCoins[i]; if(noOfCoins[i]>1) output+="\t\t\t"+oss1.str()+" nos of "+oss.str()+" taka notes \n"; else output+="\t\t\t"+oss1.str()+" no of "+oss.str()+" taka note \n"; } } cout<<output<<endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main() { 库塔蒙特; int totalNoOfCoins=0; 国际货币[]={100,50,20,10,5,1}; int noOfCoins[sizeof(硬币)]={0}; int计数器=0; 而(金额>0) { 如果(金额>硬币[柜台]) { noOfCoins[柜台]=金额/硬币[柜台]; 金额-=noOfCoins[柜台]*硬币[柜台]; } 计数器++; } string output=“金额可以通过以下方式更改:\n”; 对于(int i=0;i0) { ostringstream oss; ostringstream oss1; oss_C++ - Fatal编程技术网 0) { 如果(金额>硬币[柜台]) { noOfCoins[柜台]=金额/硬币[柜台]; 金额-=noOfCoins[柜台]*硬币[柜台]; } 计数器++; } string output=“金额可以通过以下方式更改:\n”; 对于(int i=0;i0) { ostringstream oss; ostringstream oss1; oss,c++,C++" /> 0) { 如果(金额>硬币[柜台]) { noOfCoins[柜台]=金额/硬币[柜台]; 金额-=noOfCoins[柜台]*硬币[柜台]; } 计数器++; } string output=“金额可以通过以下方式更改:\n”; 对于(int i=0;i0) { ostringstream oss; ostringstream oss1; oss,c++,C++" />

任何整数输入,带“quot;6“;因为最右边的数字可以工作,但是任何像…6这样的数字都会导致分割错误,为什么? < >我的C++程序名为“CONchange .CPP”,报告了不同数字的注释数量,以改变给定的整数。代码是 #include<iostream> #include<string> #include<sstream> using namespace std; int main() { cout<<"please enter the amount: "; int amount; cin>>amount; int totalNoOfCoins=0; int coins[]= {100,50,20,10,5,1}; int noOfCoins[sizeof(coins)]= {0}; int counter=0; while(amount>0) { if(amount>coins[counter]) { noOfCoins[counter]=amount/coins[counter]; amount-=noOfCoins[counter]*coins[counter]; } counter++; } string output="The amount can be changed by:\n"; for(int i=0;i<sizeof(coins);i++) { if(noOfCoins[i]>0) { ostringstream oss; ostringstream oss1; oss<<coins[i]; oss1<<noOfCoins[i]; if(noOfCoins[i]>1) output+="\t\t\t"+oss1.str()+" nos of "+oss.str()+" taka notes \n"; else output+="\t\t\t"+oss1.str()+" no of "+oss.str()+" taka note \n"; } } cout<<output<<endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main() { 库塔蒙特; int totalNoOfCoins=0; 国际货币[]={100,50,20,10,5,1}; int noOfCoins[sizeof(硬币)]={0}; int计数器=0; 而(金额>0) { 如果(金额>硬币[柜台]) { noOfCoins[柜台]=金额/硬币[柜台]; 金额-=noOfCoins[柜台]*硬币[柜台]; } 计数器++; } string output=“金额可以通过以下方式更改:\n”; 对于(int i=0;i0) { ostringstream oss; ostringstream oss1; oss

任何整数输入,带“quot;6“;因为最右边的数字可以工作,但是任何像…6这样的数字都会导致分割错误,为什么? < >我的C++程序名为“CONchange .CPP”,报告了不同数字的注释数量,以改变给定的整数。代码是 #include<iostream> #include<string> #include<sstream> using namespace std; int main() { cout<<"please enter the amount: "; int amount; cin>>amount; int totalNoOfCoins=0; int coins[]= {100,50,20,10,5,1}; int noOfCoins[sizeof(coins)]= {0}; int counter=0; while(amount>0) { if(amount>coins[counter]) { noOfCoins[counter]=amount/coins[counter]; amount-=noOfCoins[counter]*coins[counter]; } counter++; } string output="The amount can be changed by:\n"; for(int i=0;i<sizeof(coins);i++) { if(noOfCoins[i]>0) { ostringstream oss; ostringstream oss1; oss<<coins[i]; oss1<<noOfCoins[i]; if(noOfCoins[i]>1) output+="\t\t\t"+oss1.str()+" nos of "+oss.str()+" taka notes \n"; else output+="\t\t\t"+oss1.str()+" no of "+oss.str()+" taka note \n"; } } cout<<output<<endl; return 0; } #包括 #包括 #包括 使用名称空间std; int main() { 库塔蒙特; int totalNoOfCoins=0; 国际货币[]={100,50,20,10,5,1}; int noOfCoins[sizeof(硬币)]={0}; int计数器=0; 而(金额>0) { 如果(金额>硬币[柜台]) { noOfCoins[柜台]=金额/硬币[柜台]; 金额-=noOfCoins[柜台]*硬币[柜台]; } 计数器++; } string output=“金额可以通过以下方式更改:\n”; 对于(int i=0;i0) { ostringstream oss; ostringstream oss1; oss,c++,C++,我发现你的代码有三个问题 首先,显而易见的一点是: 您误用了sizeof: int noOfCoins[sizeof(coins)]= {0}; 这应该是: const int numCoins = sizeof(coins) / sizeof(coins[0]); int noOfCoins[numCoins]= {0}; 然后,您可以使用numCoins处理其余代码: for(int i=0;i < numCoins; i++) 但这是错误的。如果输入的金额仅仅是100?

我发现你的代码有三个问题

首先,显而易见的一点是:

您误用了
sizeof

 int noOfCoins[sizeof(coins)]= {0};
这应该是:

 const int numCoins = sizeof(coins) / sizeof(coins[0]);
 int noOfCoins[numCoins]= {0};
然后,您可以使用
numCoins
处理其余代码:

 for(int i=0;i < numCoins; i++)
但这是错误的。如果输入的金额仅仅是
100
?您使用上述条件错过了100纸币的支票。这只需要更改为:

if (amount >= coins[counter])

我发现您的代码有3个问题

首先,显而易见的一点是:

您误用了
sizeof

 int noOfCoins[sizeof(coins)]= {0};
这应该是:

 const int numCoins = sizeof(coins) / sizeof(coins[0]);
 int noOfCoins[numCoins]= {0};
然后,您可以使用
numCoins
处理其余代码:

 for(int i=0;i < numCoins; i++)
但这是错误的。如果输入的金额仅仅是
100
?您使用上述条件错过了100纸币的支票。这只需要更改为:

if (amount >= coins[counter])

首先,在调试器中运行程序,找出崩溃发生的位置(在代码中)。此外,您可能希望查看此循环:
for(int i=0;i)首先在调试器中运行程序,找出崩溃发生的位置(在代码中)。此外,您可能希望查看此循环:
for(int i=0;i)(int i=0;iI按照您的建议进行了尝试,但输出与以前相同,即它对除以6结尾的输入之外的所有输入都有效,其他地方一定有问题,我需要帮助…您有一个
while
循环,该循环对输入失控,例如
123456
。条件应为
(金额>0&&counter<6)
。如果要递增
计数器
,并且
计数器
用作数组索引,最好确保它是有效索引。此外,请使用调试器运行代码——如果这样做,我刚才在注释中指出的错误会很明显。这应该是
(金额>0&计数器
假设您将
numCoins
设置为我作为答案给出的值。@anik_sbl请查看更新后的答案。他们讨论了代码中所有3项错误的内容。谢谢大家,生活是如此美好,因为像你们这样的伟人都在处理超出我专长范围的问题……谢谢……我按照你们的建议尝试了,但是输出与以前相同,即除了以6结尾的输入外,它对所有输入都有效,其他任何地方都可能有问题,我需要帮助…您有一个
while
循环,该循环对输入失控,例如
123456
。条件应为
(金额>0和计数器<6)
。如果要递增
计数器
,并且
计数器
用作数组索引,最好确保它是有效索引。此外,请使用调试器运行代码——如果这样做,我刚才在注释中指出的错误会很明显。这应该是
(金额>0&计数器
假设您将
numCoins
设置为我作为答案给出的值。@anik_sbl请查看更新后的答案。他们讨论了代码中所有3项错误的内容。谢谢大家,生活是如此美好,因为像您这样的伟人都在身边,来处理超出我专长范围的问题……谢谢。。。