gpt4 book ai didi

c++ - 在基于数组的程序中获取最后一个字符串或最后一个价格后,程序崩溃/停止

转载 作者:行者123 更新时间:2023-12-02 07:31:24 26 4
gpt4 key购买 nike

该程序允许您按订单获取产品名称和价格,数据存储在数组中,im使用for循环输入和输出数组元素,但是当用户输入最后的产品名称或价格时,程序将停止工作。是编译器限制还是代码在等待我的答案。我在Code::Blocks和DevC++ IDE中对其进行了测试。
在下面的链接中,您拥有代码本身和正在运行的程序的图像。
[https://drive.google.com/file/d/17vWo0KY5xVqAPK3tsgbo0X-wOTc_FjQr/view?usp=sharing]

The image

#include <iostream>
#include <string>

using namespace std;

int main()
{
int i , n , j;
cout<<"Input the number of the products: "<<endl;
cin>>n;
string Product [n];
double Price[n];
for(i=1;i<=n;i++){

cout<< "Input the name of product"<<i<<" :"<<endl;
cin>>Product[i];
cout<<"Input the price of product "<<i<<" :"<<endl;
cin>>Price[i];

}

for(j=1;j<=n;j++){
cout<< "Product "<<Product[i]<<" costs: "<< Price[i]<<" $."<< endl;



}
return 0;
}

最佳答案

数组索引从0到n-1。在这里,当您进行输入时,您试图将价格和产品的值存储在第n个索引中,这是不可能的。因此,取而代之的是从0开始for循环,或者取而代之的是将i-1索引存储在ith索引中。

初始循环:

`for(i=1;i<=n;i++){ /* some code*/ }

for(j=1;j<=n;j++){ /* some code*/ }`



循环从0开始更新:

for(i=0; i<n; i++){
/* some code*/
}

for(j=0; j<n; j++){
cout<< "Product "<<Product[j]<<" costs: "<< Price[j]<<" $."<< endl;
}



也有其他用途:

for(i=1;i<=n;i++){

cout<< "Input the name of product"<<i<<" :"<<endl;
cin>>Product[i-1];
cout<<"Input the price of product "<<i<<" :"<<endl;
cin>>Price[i-1];
}

for(j=1;j<=n;j++){
cout<< "Product "<<Product[j-1]<<" costs: "<< Price[j-1]<<" $."<< endl; }

关于c++ - 在基于数组的程序中获取最后一个字符串或最后一个价格后,程序崩溃/停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60967888/

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