Member 12723446 Ответов: 3

Как мне закодировать эту проблему для начинающих C++?


Почтовые расходы по каждому отправленному товару зависят от базовой стоимости товара: если базовая стоимость меньше 100, то взимается сумма lowpostage; в противном случае взимается highpostage. Общая стоимость товара - это сумма его базовой стоимости и почтовых расходов. Эта программа вводит количество и базовую стоимость 2 предметов в виде целых чисел и выводит сумму общих затрат для них, опять же в виде целого числа.

Что я уже пробовал:

Я пробовал, если, еще что-то, но я не уверен, как это решить. Я также попытался ввести стоимость и количество.
I added this but I get syntax error in if and else. So this is what I have:

if (sum<100)
cout<<"Low"<<endl;
int Charge=sum+sum<100;
else
cout<<"High"<<endl;
int Cost=sum+sum>=100;
cout<<"Cost "<<Cost<<endl;

There is a syntax error in else how do I improve this ?
Also I would like the output to show the complete sum plus low or high postage price.

}

Richard MacCutchan

Пожалуйста, попробуйте еще раз и покажите нам код и любые детали ошибки, которые вы видите.

Member 12723446

Привет,
Вот что у меня есть

#include <iostream>
использование пространства имен std;
главный() {
int первый, второй;
cout<<"количество + стоимость".< & lt;endl;
cin> & gt; первый> & gt; Второй;
}

[no name]

Мы не можем научить вас программированию на форуме. Покажите нам, что вы пробовали, и опишите проблему с вашим кодом.

Member 12723446

У меня есть это, но я не знаю, как продолжить с boolian

#include <iostream>
использование пространства имен std;
главный() {
int первый, второй;
cout<<"количество + стоимость".< & lt;endl;
cin> & gt; первый> & gt; Второй;
}

[no name]

Это происходит потому, что в вашем коде нигде нет логического выражения.

Member 12723446

Да, я его обновил.

Richard MacCutchan

В качестве подсказки попробуйте сначала записать его на бумаге в виде набора простых инструкций (на вашем родном языке). Тогда вы сможете увидеть, как преобразовать это в код.

Member 12723446

Я пробовал писать для переменных один и два как *int first, second

Philippe Mori

Делай свою домашнюю работу. Это способ учиться...

Member 12723446

Если у вас нет ничего полезного, чтобы внести свой вклад, пожалуйста, не тратьте чье-либо время.

Philippe Mori

Очевидно, вы не приложили много усилий. В коде, показанном выше, у вас даже нет никакой формулы. И в вашем вопросе много полезной информации отсутствует. Вы не показываете базовую стоимость или то, что является низкой или высокой стоимостью.

Поэтому, задавая неполный вопрос, вы тратите наше время впустую! Если вы учитесь и не понимаете чего-то, тогда задайте точный вопрос о том, чего вы не понимаете. Не просите нас решить всю проблему.

Member 12723446

Разве вы не понимаете, что высокие и низкие почтовые расходы являются переменными? Их может быть сколько угодно...

Philippe Mori

Так где же эти переменные появляются в вашем коде? Приложите еще немного усилий в своем вопросе.

Member 12723446

Нет тебя.

[no name]

Просто говорю... лучше не кормить троллей.

Patrice T

Этот фрагмент кода-хорошее начало, теперь попробуйте улучшить код с помощью теста "базовая стоимость меньше 100" и калькулятора для общей почтовой оплаты.

Member 12723446

Привет,
Я добавил это, но я получаю синтаксическую ошибку в if и else. Так вот что у меня есть:

если (сумма< 100)
соиь<&ЛТ;"низкий"на<<епси;
int Charge=sum+sum< 100;
ещё
соиь<&ЛТ;"высокий"на<<епси;
int Cost=sum+sum>=100;
соиь<&ЛТ;"стоимость "&ЛТ;&ЛТ;затраты на<<епси;

Ошибка говорит, что стоимость не определена. Есть ли способ определить стоимость внутри if и else?

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Member 12723446

обновленный

Philippe Mori

Выделите свой код выше и не смешивайте текст и код (или не помещайте код в комментарий). Если вы пишете нечитаемый код, не ждите, что мы будем готовы вам помочь. Кроме того, поставьте некоторые интервалы в свой код. Есть ли у вас на клавиатуре пробел? А потом использовать? Добавление пробела между операторами ( + ,=, <<,...) действительно помогает сделать код более читабельным.

Member 12723446

Убери свой негатив с моего вопроса, танкс.

Philippe Mori

Я только спросил тебя чтобы сделать отступ в коде и добавить дополнительные пробелы для улучшения читабельности. Спасибо.

Member 12723446

Э-э, нет, вы добавили туда немного ненужной объективности.

Philippe Mori

Может быть... но код по-прежнему не имеет отступов...

Трудно не стать негативным, когда мы сказали вам, как улучшить ваш вопрос, и вы сделали только половину того, что мы просим вас сделать.

Поэтому, пожалуйста, сделайте отступ в своем коде и добавьте дополнительное пространство, чтобы сделать его более читабельным. Кроме того, Пожалуйста, ответьте на любые вопросы, заданные в решении 2.

Member 12723446

Ты хочешь сказать, что я уже нашел решение ? Я написал отступ по ошибке раньше, проблема была не в отступе, а в удалении отступов.

3 Ответов

Рейтинг:
26

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей выполнять вашу работу, оно предназначено для того, чтобы помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, начинайте работать. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

[Обновление]

Цитата:
Вам не приходило в голову, что я мог бы попытаться решить эту проблему самостоятельно по учебнику?
Упражнения в учебниках связаны с предыдущими уроками, поэтому, возможно, перечитывание урока может помочь.
Если вы застряли, вы можете найти учебные пособия и видео (на YouTube).

Вот ссылки на справочники книг по С и с++ авторов этих языков. Обратите внимание, что C является предком C++, поэтому знание C всегда полезно с C++.
Язык программирования Си - Википедия, свободная энциклопедия[^]
https://hassanolity.files.wordpress.com/2013/11/the_c_programming_language_2.pdf[^]
http://www.ime.usp.br/~ПФ/Керниган-Ритчи/с-Программирование-электронные книги.формат PDF[^]

Язык Программирования C++ [^]

[Обновление]
прочтите это и обратите внимание на использование {} :
Что такое фигурные скобки?[^]


Member 12723446

Вам не приходило в голову, что я мог бы попытаться решить эту проблему самостоятельно по учебнику? Я не буду говорить о том, как наивно думать, что каждый вопрос-это домашняя работа.

Philippe Mori

Решение задачи в книге - это такое же домашнее задание, как и решение задачи, заданной профессором.

Member 12723446

Хм, нет, это не так.

[no name]

Хм, Да, это так.

Member 12723446

Нухух

Рейтинг:
2

Philippe Mori

Решение 2 сообщайте о большинстве проблем с вашим кодом, а также указывайте на код, который мы не понимаем.

Мы читаем вопрос, но без формулы или кода трудно узнать действительную формулу, а без какой-либо формулы вопрос не приводит к окончательному ответу.
Очевидно, из приведенного выше кода Вы не знаете, что в C++, { и } используются для разграничения области действия. Вам нужно изучить базовый синтаксис, прежде чем пытаться писать код.

Когда вы изучаете язык, у вас должна быть документация рядом, а не пробовать случайные вещи и ожидать, что она сработает. Как вы увидите в следующих ссылках, когда в if или else предложение, вам нужно поместить их в блочный оператор. Блок разделяется { и }.

оператор if-else (C++)[^]
Операторы If в C++ - Cprogramming.com[^]
Инструкции и управление потоком-учебники по C++ [^]

На самом деле, многие программисты рекомендовали бы всегда использовать похвалы, даже если у вас есть один оператор, поскольку это несколько облегчает чтение и обслуживание кода (так как он менее подвержен ошибкам).

В C++ отступ не влияет на синтаксический анализ, но в любом случае у вас всегда должен быть правильный отступ. Это значительно облегчает чтение кода (и обнаружение несбалансированного кода).

Но вы действительно должны делать отступы в своем коде даже в проекте кода. На самом деле люди, которые слишком ленивы, чтобы отступать от своего кода, не заслуживают никакой помощи. Поэтому вы должны быть очень благодарны нам за то, что мы стараемся вам помочь.


Member 12723446

К

Рейтинг:
0

Richard MacCutchan

if (sum<100)
cout<<"Low"<<endl;      // your if statement ends here
int Charge=sum+sum<100; // what is this expression supposed to calculate?
else                    // this else is not connected to any if statement
cout<<"High"<<endl;
int Cost=sum+sum>=100;  // what is this expression supposed to calculate?
cout<<"Cost "<<Cost<<endl;
}

Глядя на вышеизложенное, вам нужно вернуться к своим учебным пособиям и изучить базовый синтаксис языка, прежде чем пытаться написать какой-либо код.


Member 12723446

Предполагается, что в конце концов он добавит максимум или минимум к выходу, который я не добавил, Потому что не был уверен, и об этом не говорится в руководствах. Вы вообще читали вопрос?

В любом случае, оказывается, проблема была в том, что я должен был объявить ints раньше, чем if и else, и у меня были отступы, отсутствующие в else. В любом случае спасибо, ребята.

Richard MacCutchan

Да, я действительно читал этот вопрос, но код, который вы представили, был запутанным и не решал проблемы в этом вопросе.

Member 12723446

Тогда ты должен был спросить, что тебя смутило.

Philippe Mori

Вы должны написать вопрос, который не сбивает с толку! И вы не ответили на все наши вопросы. Например, где вы отвечаете на вопрос "что это выражение должно вычислять?" в приведенном выше ответе.

Неужели вы действительно думаете, что мы можем догадаться о том, чего вы не написали? Приложите некоторое усилие, задавая хорошие вопросы.

Member 12723446

Ладно, расслабься. Вот вам и чтение из моего собственного решения.

Richard MacCutchan

Вы, очевидно, не читали комментариев в моем ответе выше.

Member 12723446

Я вижу, что вы написали @ppolymorph уже объясняет, почему нужно добавить эту часть в код. И я нашел свое решение...