| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > найти товар по введенной цене |
| Автор: S3ndeR 15.6.2008, 15:45 | ||
| Всем здрасти. Есть у меня следующая задачка: Сформировать массив содержащий сведения об ассортименте товара супермаркета .Структурный тип содержит поля:название товара, цена, количество . Написать прогр. выдающую след. сведения: 1 стоимость самого дорогого товара и его наименование . 2 Название товара, которое не привышает Х руб. Значение Х вводится с клавиатуры. Вобщем то не получается у меня решить только последнюю часть задания (вывести название товара(ов), цена которых не превышает Х руб.). Вот мой код:
Подскажите пожалуйста что здесь неправильно. Что то никак у меня не получается решить. :( |
| Автор: LavYaAll 15.6.2008, 16:26 | ||||
| 1) Надо ставить отступы и комменты. Если ты просишь чтоб помогли, то ты предполагаешь, что твою программу будут читать и другие люди кроме тебя. Понимаю что для тебя она очевидна, потому что ты с ней провозился добрый час. А нам вникать надо. 2) Что значит это?
Ты обьявляешь одномерный массив. Где тут в этой строчке: INFO[i] = INFO[i] + Group[i].cena; есть j? А если нет, то зачем там еще один цикл for (int j=0; j<1; j++)? Избавься от этого. Иначе у тебя значение цены каждого товара l раз складывается. Далее. Ты ведь, как я понял, просто хочешь назначить массиву INFO значения цен товаров. Зачем писать INFO[i] = INFO[i] + Group[i].cena; ? Зачем прибавлять к 0? Пиши просто INFO[i] = Group[i].cena; 3) В строке #52, что это за }? К чему она относится? Ты ее закрывешь в строке #67? Если так, то выходит строка #66 выполняется всего 1 раз. 4) У тебя Skolko обозначает максимальную цену, так? Значит сравнение идет неверно. Выводится товары будут те, у которых цена больше(или равно), чем максимальное значение. Перепиши этот кусок так:
5) Зачем копировать значение цен в массив INFO? Почему не работать с полями структуры? |
| Автор: susanin 15.6.2008, 16:27 | ||
вот набросал немного..кстати совет.. если пишешь на с++ то используй лучше в таких случаях string вместо массивов char[] |
| Автор: S3ndeR 15.6.2008, 17:46 |
| Рассказываю: это задание я делал на примере похожего. В инсте была курсовая с такими заданиями, я своё задание делал с большой помощью преподавателя, она практически всё написала сама, в том числе и эти вот INFO[], хотя я слабо понял для его это тут. Поэтому данное задание делал просто немного изменяя/дополняя код от похожей задачки. Сам я в C++ не силён, поэтому делал тем способом которым знал. Поэтому, LavYaAll, на твои вопросы про INFO[] и прочее я толком ответить не смогу. Теперь susanin, тебе тоже огромное спасибо, всё работает. Вот только есть вопрос. Что делает строка 4 (using namespace std;) ? Она нужна для того что бы сделать стрингом tovar и прочие переменные ? ЗЫ - еще раз ОГРОМНОЕ вам спасибо.) |
| Автор: susanin 15.6.2008, 17:51 |
| S3ndeR ,строка using namespace std говорит что библиотеки надо брать из стандартного пространства имен... заметь, у меня написано include <iostream> а не <iostream.h>.... Добавлено через 1 минуту и 44 секунды подключается библиотека <string>.... это отдельный тип переменной... |
| Автор: S3ndeR 15.6.2008, 18:00 |
| ок. а что тогда надо сделать, что бы было написано <iostream.h> и не было строки using namespace std ? Если просто удалить эту строку и к инклюдам дописать .h , то ничего не работает. |
| Автор: susanin 15.6.2008, 18:05 |
| S3ndeR, а чем тебе мешает эта строчка? |
| Автор: LavYaAll 15.6.2008, 18:51 |
| S3ndeR, Насчет задания, ясно. Насчет кода. Если будешь использовать класс string, то использования std(хотя бы 1 раз) не избежать. |
| Автор: S3ndeR 15.6.2008, 18:55 |
| 2susanin: да в принципе ничем. Она мне даже нравится.) Просто думаю вдруг препод скажет сделать без этой строки или спросит что она делает. Ну ладно, думаю всё норм будет. 2LavYaAll: аа, вот оно в чем дело. Теперь понятно.) Спасибо. |
| Автор: susanin 15.6.2008, 18:56 |
| S3ndeR, думаю что просить сделать без нее не потребует, а что эта строчка делает мы тебе уже кажется объяснили! |
| Автор: S3ndeR 15.6.2008, 19:01 |
| Ну да, всё теперь понятно. |
| Автор: susanin 15.6.2008, 19:52 |
согласен! зачем тащить лишний мусор в программу... но для новичка я думаю и так пойдет... |
| Автор: Rififi 16.6.2008, 12:23 | ||||
|