Есть задание: с клавиатуры последовательно вводятся количество товара и его сорт (1 или 2). Ввод автоматически прекращается, как только будет введено нулевое количество товара. Определить товаров какого сорта было получено больше. kt - кол-во товара, ssrt1 и 2 это суммы количества товаров по сортам соответственно, выводят ошибки указанные на скрине, как решить проблему?
З. Ы. я студент первого курса и за мой недокод не бейте плз))
А если использовать массив не потребуется ни if ни switch double s[2]={0,0}; while(1){ cin>>k; if(k==0)break; cin>>srt; s[srt-1]+=k; } cout<<(s[0]>s[1]?"1 sort":"2 sort");
Вам уже ответили. Только обозначу что переопределение в данном случае это когда вы создаете две переменные с одним и тем же именем и компилятор не знает какой переменной отдать предпочтение! Можно писать так: double ssrt1 = 0; //и далее просто пользоваться этой переменной либо так: double ssrt1; ssrt1 = 0; // Переходить на следующую строку не обязательно, но точка с запятой, что бы обозначить конец операции, обязательна. Переход сделан только для наглядности. Обычно программисты и пишут код что-бы был нагляднее, потому что читать код приходится больше чем кодить.
Эмммм, я тоже не шарю, но что будет, если ssrt1=0 ssrt2=0 перенести на новую строку? У вас по моему дичь написана в 7 строчке . Вы сначала определили переменную, потом определили её же, только присвоив 0 . Тут два арианта могут быть . double kt, str,ssrt1,ssrt2; ssrt1=0; ssrt2=0; или double kt, str,ssrt1=0,ssrt2=0;