Я хочу создать программу c++, которая может рассчитать количество проданного продукта за 3 года.
Я хочу сделать это с помощью 2-мерного массива и цикла for (требование для практического вопроса)
но почему-то я не могу получить желаемый результат. Существует некоторая ошибка среди вычислений и хранения. Не могли бы вы помочь мне определить ошибку?
#include <iostream>
#include <string>
#include <array>
using namespace std;
int main(){
int quantity[3][12];
int sum[3];
int *p;
p=sum;
int total;
int year=0;
string months[12]={
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"Octorber",
"November",
"December"
};
for (int i=0; i<12; i++) {
cout<<"Enter the quantity sold in "<<months[i]<<endl;
cin>>quantity[year][i];
if(i==11&&year<3){
year++;
i=-1;
}
}
year=0;
for (int i=0; i<12; i++) {
sum[year]+=quantity[year][i];
if (i==11&&year<3) {
i=(-1);
year++;
}
}
year=0;
for (int i=0; i<3; i++) {
cout<<"the information for year "<<(i+1)<<" is " <<endl;
for (int i1=0; i1<12; i1++) {
cout<<quantity[year][i1]<<endl;
}
cout<<"the sum of the "<< (i+1)<< " year: "<<sum[year]<<endl;
total+=sum[year];
}
cout<<"the total amount sold in three year is "<<total<<endl;
return 0;
}
Проблема в этом разделе:
year=0;
for (int i=0; i<3; i++) {
cout<<"the information for year "<<(i+1)<<" is " <<endl;
for (int i1=0; i1<12; i1++) {
cout<<quantity[year][i1]<<endl;
}
cout<<"the sum of the "<< (i+1)<< " year: "<<sum[year]<<endl;
total+=sum[year];
}
cout<<"the total amount sold in three year is "<<total<<endl;
return 0;
}
Похоже, вы думаете, что вы итерации год, в то время как вы на самом деле итерации я и i1. Почему бы не использовать тот же трюк, который вы использовали пчел вместо цикла i1 for?
if (i==11&&year<3) {
i=(-1);
year++;
}