当计算所有的价格C++时,总金额被弄乱了。 我尝试用C++做一些事情,我所有的代码运行顺利,没有错误,但问题是,付款不正确,这只是从支付的方式,我尝试改变它从int到长不工作双或浮动。下面是代码和输出 #include<conio.h> #include<iostream.h> #include<string.h> #include<iomanip.h> main() { char brand[6][20]={"DA","da","TO","to","HO","ho"},car[6],*info[6]; int j,a,amount[6],tax[6],rent[6],total[6],final[6]; long final_total[20]; int price[15]={200000,300000,400000,500000,600000,250000,450000,550000,350000,375000,425000,555000}; cout<<"\t\t\t***rental mobil sederhana***"<<endl; cout<<"\t\t\t**Jalan tebet raya no.15**"<<endl; cout<<"\t\t\t============================"<<endl; cout<<" "<<endl; cout<<"\tinformasi merk dan mobil yang tersedia"<<endl; cout<<"DAIHATSU [DA] : 1. Ayla 3. Luxio "<<endl; cout<<" 2. Sigra 4. Terios "<<endl; cout<<"-------------------------------------"<<endl; cout<<"TOYOTA [TO] : 1. Innova 3. Avanza "<<endl; cout<<" 2. Yaris 4. Veloz "<<endl; cout<<"-------------------------------------"<<endl; cout<<"HONDA [HO] : 1. Mobilio 3. Civic "<<endl; cout<<" : 2. Jazz 4. Brio "<<endl; cout<<"amount :"; cin>>j; amount[j]=0; if(j<=0) { cout<<"banyak mobil tidak bisa kosong"; } else { for(a=1;a<=j; a++) { cout<<"car number -"<<a<<endl; cout<<"enter the car brand :"; cin>>brand[a]; cout<<"enter the car code :" ; cin>>car[a]; cout<<"how long :"; cin>>rent[a]; if(brand[a]=="DA" || brand[a]=="da") { if(car[a]==1) { info[a]= "Ayla"; price[a]=200000; } else if(car[a]==2) { info[a]= "Sigra"; price[a]=300000; } else if(car[a]==3) { info[a]= "Luxio"; price[a]=400000; } else if(car[a]==4) { info[a]= "Terios"; price[a]=500000; } } else if(brand[a]=="TO" || brand[a]=="to") { if(car[a]==1) { info[a]= "Innova"; price[a]=600000; } else if(car[a]==2) { info[a]= "Yaris"; price[a]=250000; } else if(car[a]==3) { info[a]= "Avanza"; price[a]=450000; } else if(car[a]==4) { info[a]= "Veloz"; price[a]=550000; } } else if(brand[a]=="HO" || brand[a]=="ho") { if(car[a]==1) { info[a]= "Mobilio"; price[a]=350000; } else if(car[a]==2) { info[a]= "Jazz"; price[a]=375000; } else if(car[a]==3) { info[a]= "Civic"; price[a]=425000; } else if(car[a]==4) { info[a]= "Brio"; price[a]=555000; } } total[a]=rent[a]*price[a]; final_total[j]=final_total[j]+total[a]*price[a]; if(final_total[j]<=0) { tax[j]=0; final[j]=0; } else { tax[j]=final_total[j]*0.25; final[j]=final_total[j]+tax[j]; } } } cout<<"\t\t\tRental mobil sederhana"<<endl; cout<<"========================================="<<endl; cout<<"no.| car | car | price | Total"<<endl; cout<<" | brand| name | | price "<<endl; cout<<"========================================="<<endl; for(a=1;a<=j; a++) { cout<<" "<<a<<"|"<<brand[a]<<" |"; cout<<" |"<<price[a]<<" | Rp."<<total[a]<<endl; } cout<<"-------------------------------------------------"<<endl; cout<<"payment :Rp. "<<final_total[j]<<endl; cout<<"tax 25% :Rp. "<<tax[j]<<endl; cout<<"total payment :Rp. "<<final[j]<<endl; getch(); }

当计算所有的价格C++时,总金额被弄乱了。 我尝试用C++做一些事情,我所有的代码运行顺利,没有错误,但问题是,付款不正确,这只是从支付的方式,我尝试改变它从int到长不工作双或浮动。下面是代码和输出 #include<conio.h> #include<iostream.h> #include<string.h> #include<iomanip.h> main() { char brand[6][20]={"DA","da","TO","to","HO","ho"},car[6],*info[6]; int j,a,amount[6],tax[6],rent[6],total[6],final[6]; long final_total[20]; int price[15]={200000,300000,400000,500000,600000,250000,450000,550000,350000,375000,425000,555000}; cout<<"\t\t\t***rental mobil sederhana***"<<endl; cout<<"\t\t\t**Jalan tebet raya no.15**"<<endl; cout<<"\t\t\t============================"<<endl; cout<<" "<<endl; cout<<"\tinformasi merk dan mobil yang tersedia"<<endl; cout<<"DAIHATSU [DA] : 1. Ayla 3. Luxio "<<endl; cout<<" 2. Sigra 4. Terios "<<endl; cout<<"-------------------------------------"<<endl; cout<<"TOYOTA [TO] : 1. Innova 3. Avanza "<<endl; cout<<" 2. Yaris 4. Veloz "<<endl; cout<<"-------------------------------------"<<endl; cout<<"HONDA [HO] : 1. Mobilio 3. Civic "<<endl; cout<<" : 2. Jazz 4. Brio "<<endl; cout<<"amount :"; cin>>j; amount[j]=0; if(j<=0) { cout<<"banyak mobil tidak bisa kosong"; } else { for(a=1;a<=j; a++) { cout<<"car number -"<<a<<endl; cout<<"enter the car brand :"; cin>>brand[a]; cout<<"enter the car code :" ; cin>>car[a]; cout<<"how long :"; cin>>rent[a]; if(brand[a]=="DA" || brand[a]=="da") { if(car[a]==1) { info[a]= "Ayla"; price[a]=200000; } else if(car[a]==2) { info[a]= "Sigra"; price[a]=300000; } else if(car[a]==3) { info[a]= "Luxio"; price[a]=400000; } else if(car[a]==4) { info[a]= "Terios"; price[a]=500000; } } else if(brand[a]=="TO" || brand[a]=="to") { if(car[a]==1) { info[a]= "Innova"; price[a]=600000; } else if(car[a]==2) { info[a]= "Yaris"; price[a]=250000; } else if(car[a]==3) { info[a]= "Avanza"; price[a]=450000; } else if(car[a]==4) { info[a]= "Veloz"; price[a]=550000; } } else if(brand[a]=="HO" || brand[a]=="ho") { if(car[a]==1) { info[a]= "Mobilio"; price[a]=350000; } else if(car[a]==2) { info[a]= "Jazz"; price[a]=375000; } else if(car[a]==3) { info[a]= "Civic"; price[a]=425000; } else if(car[a]==4) { info[a]= "Brio"; price[a]=555000; } } total[a]=rent[a]*price[a]; final_total[j]=final_total[j]+total[a]*price[a]; if(final_total[j]<=0) { tax[j]=0; final[j]=0; } else { tax[j]=final_total[j]*0.25; final[j]=final_total[j]+tax[j]; } } } cout<<"\t\t\tRental mobil sederhana"<<endl; cout<<"========================================="<<endl; cout<<"no.| car | car | price | Total"<<endl; cout<<" | brand| name | | price "<<endl; cout<<"========================================="<<endl; for(a=1;a<=j; a++) { cout<<" "<<a<<"|"<<brand[a]<<" |"; cout<<" |"<<price[a]<<" | Rp."<<total[a]<<endl; } cout<<"-------------------------------------------------"<<endl; cout<<"payment :Rp. "<<final_total[j]<<endl; cout<<"tax 25% :Rp. "<<tax[j]<<endl; cout<<"total payment :Rp. "<<final[j]<<endl; getch(); },c++,C++,搞错的号码最后是在付款时。我的税和最后的付款也受到了混乱的数字的影响。谢谢对不起,我的英语不好 这里没有什么问题 数组从0开始:不是从1开始。价格已初始化为20000、30000、40000等。价格[1]为30000:不是20000。不确定为什么要初始化价格,因为您正在覆盖下面if语句中的所有价格。 最终的_总数在使用前需要初始化:因此是一个混乱的数字。这需要在你第一次尝试之前完成。 总[a]=租金[a]*价格[a]-这是有道理的,但你是从1开始的。如果打印出所有元素的合计值,则第一个值为空,第

搞错的号码最后是在付款时。我的税和最后的付款也受到了混乱的数字的影响。谢谢对不起,我的英语不好

这里没有什么问题

数组从0开始:不是从1开始。价格已初始化为20000、30000、40000等。价格[1]为30000:不是20000。不确定为什么要初始化价格,因为您正在覆盖下面if语句中的所有价格。 最终的_总数在使用前需要初始化:因此是一个混乱的数字。这需要在你第一次尝试之前完成。 总[a]=租金[a]*价格[a]-这是有道理的,但你是从1开始的。如果打印出所有元素的合计值,则第一个值为空,第二个元素具有计算出的合计值。这是因为数组从0开始。 最终总价[j]=最终总价[j]+总价[a]*价格[a]-为什么还要再乘以价格? 了解如何使用调试器:它将为您节省大量时间


Semoga berhasil

我应该在哪里更改您提到的问题1?问题2我已经在代码上启动了,也许我做错了?而卡拉进入凯巴瓦·迪西·吉马纳??请进入玛拉,救救他。非常感谢你!