12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|||||||||||
1 | |||||||||||
Описать процедуру, присваивающую параметру среднюю цену из непустого прейскуранта22.01.2012, 22:14. Показов 3311. Ответов 20
Метки нет (Все метки)
Писала программу, но понимаю, что там очень много сделано не так, как требуется. Я только учусь и многие примитивные вещи для меня пока тяжело даются. Помогите, пожалуйста, исправить. Буду вам очень признательна. Надо срочно.
Задание:
Помогите со следующими вопросами: 1. Как записать массив в цикле, когда мы рассчитываем rub и kop? А то я тут расписала ерунды, понимаю, укоротить можно, но уже голова кругом, никак не соображу. 2. Не могу понять, как вставить процедуру max, ну чтобы как в задание говорится. 3. Как сделать, чтобы TEdit3, куда копейки вводятся, можно было вводить только двухзначные числа, а то околесица получается. 906 копеек, например. 4. И вообще как сделать, чтобы копейки к рублям прибавлялись? Ведь 100 копеек = 1 рубль, а у меня они только в своей ячейке записываются. 5. И ещё (чисто для себя), как сделать, чтобы при запуске программы в ячейках StringGrid1 уже стояли значения по умолчанию?
0
|
22.01.2012, 22:14 | |
Ответы с готовыми решениями:
20
Описать процедуру, присваивающую параметру наименьшую цену Описать процедуру удаления последнего элемента непустого односвязного списка, заданного указателем на его начало Описать и проверить процедуру или функцию, которая переносит в начало непустого списка L его последний элемент. Описать процедуру maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее |
23.01.2012, 03:01 | 2 | ||||||||||||||||||||
Но оно возможно не пригодиться. См. ниже..
P.S. Слово СРОЧНО в заголовке или вообще в просьбе, для Нас как красная тряпка для быка... Мозги Нам выносит...Имей это к сведению
1
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
23.01.2012, 15:15 [ТС] | 3 |
Большое вам человеческое спасибо :*
Буду иметь в виду. Добавлено через 8 часов 14 минут Подскажите ещё, пожалуйста, как изменится программа, если осуществить запись в файл, ну т.е. изменить в начальном условии задания: arr = file of cena вместо arr = array [1..5] of cena? Буду Вам очень признательна.
0
|
23.01.2012, 16:28 | 4 | ||||||||||||||||||||
Не делай так, а то все пойдет кувырком
Для записи в файл, объяви глобальную переменую( в разделе var) f: file of cena; Сохранения в файл. Создай новую кнопку и в ней напиши следующее
Открытие файла. Создай новую кнопку и в ней напиши следующее
Добавлено через 16 минут Еще сдесь
1
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
23.01.2012, 23:07 [ТС] | 5 |
Не работает. Ругается на строки SaveDialog1.FileName и OpenDialog1.Execute. В чём может быть причина? Пишет "Undeclared identifier".
0
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
23.01.2012, 23:21 [ТС] | 7 |
Вроде сделала. Кинула на форму компоненты FileOpenDialog1 и FileSaveDialog1, изменила в коде немного (добавила приставку "File"). Но теперь выходит другая ошибка mincena.r:=StringGrid1.Cells[2,i]; ему не нравится
Прилагаю файлы проекта. Только я в XE делаю. Надеюсь, у Вас пойдёт.
0
|
24.01.2012, 02:45 | 9 |
Тут я чуток дароботал..
Lab3_2.zip
1
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
24.01.2012, 04:36 [ТС] | 10 |
Спасибо вам огромное :* Теперь всё как надо: и номера номера строк выводит из файла, и результат считает верно (это самое главное! а то я уже вся извелась, пытаясь исправить, да так и не смогла без вашей помощи). У меня только 2 замечания (но если, конечно, я имею право их вам делать):
- как сделать, чтобы при нажатии кнопки "Добавить" осуществлялся переход на следующую строчку в StringGrid, как у меня в начале было? (вот хотя бы это ещё помогите сделать); - это уже придирки, понимаю, что преподаватель в универе такой конечный вариант проглотит, но я просто любопытный человек, и мне интересно чисто для себя, я же понимаю, что результат всё равно получается неверным, т.к. в программе происходит следующее: считается сумма копеек, делится на 5; считается сумма рублей делится на 5 -> вывод результата отдельно рублей, отдельно копеек; на мой взгляд работать это должно так: считаем сумму рублей, считаем сумму копеек, копейки переводим в рубли (как раз когда > 99), прибавляем к рублям, а потом делим и рубли и копейки на 5; вот это я уже не соображу как сделать... Если несложно, не могли бы вы, пожалуйста, объяснить мне несколько нюансов: - что означает цифра 15 в строчке t: string[15]; - вы в procedure TForm1.FormCreate(Sender: TObject); и procedure TForm1.Button1Click(Sender: TObject); 3 раза изменили присваивание значения элементу-счётчику i в отличие от моего исходного варианта, вас не затруднит объяснить, что поменялось и как это теперь работает? - объясните эту строчку кода, пожалуйста (что означает каждый элемент) if FileExists(FileSaveDialog1.FileName) then if MessageDlg('Файл с таким именем уже существует.Перезаписать?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then - если вернуться на 6 сообщений этого форума вверх, ты вы предлагали записать while i<>StringGrid1.RowCount -1 do сейчас просто while j <> StringGrid1.RowCount do без -1, а что изменилось в работе программы? Огромное вам, большущее спасибо, что потратили на меня столько времени :*
0
|
24.01.2012, 05:42 | 11 | |||||||||||||||
Смотрю аппетит у тебя разашолся.)) Это хорошо. Начнем по порядку
FileSaveDialog1.FileName- имя файла которого мы выбрали в диалоге MessageDlg
2
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
25.01.2012, 11:28 [ТС] | 12 |
А как сделать, чтобы после добавления 5-ой строчки программа "успокоилась"? Просто после нажатия кнопки "Добавить" в 5-ый раз, программа, я так понимаю, хочет добавть ещё (6-ую) строчку и вылезает ошибка "Grid index out of range".
И ещё такая проблема, что после добавления в программу сохранённого файла, средняя цена после нажатия кнопки "Расчет" получает значения 0 руб. 0 коп.
0
|
25.01.2012, 17:06 | 13 | ||||||||||
2
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
25.01.2012, 18:58 [ТС] | 14 |
Спасибо. Теперь всё просто идеально!!! :* :* :*
0
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
29.01.2012, 17:04 [ТС] | 15 |
Сдавала эта программу, преподавательница не принимает Говорит, куча ошибок
Ошибка в том, что читаешь из файла в одной процедуре, а работаешь с массивом в другой! Масивов, говорит, в этой лабе нет вообще. Вся работа идет только с файлом. В ОДНОЙ процедуре должно быть и чтение из файла и нахождение цены. И еще, говорит, не загромождай программу всеми этими книжными File exist и т.д. Можете мне помочь еще раз? Пожалуйста.
0
|
29.01.2012, 20:10 | 16 | ||||||||||
Передай своей "преподовательнице" что она сама одна сплашная ошибка природы.))
Вот объявление нашего массива
1
|
29.01.2012, 22:06 | 17 |
Вот переделал, как она хотела. Чтобы она увидела массив в программе, я его переименовал вместо р , везде так MASSIV и вдобавок еще закоментировал. Будет что-то непонятное, спрашивай
Lab3_4.rar
1
|
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
|
|
31.01.2012, 21:43 [ТС] | 18 |
Получила сегодня от нее ответ, что "надо было делать вот так!" И файл мой переделанный прислала, в котором, кстати, Delphi выводит 6 ошибок и не компиллирует. Может вы мне объясните, что ей от меня надо? Что ей не понравилось? И в чем причина этих ошибок? Особенно, говорит, обрати внимание на процедуру max.
0
|
01.02.2012, 00:22 | 19 | ||||||||||
Как ты сама поняла , если будеш делать "вот так!" ни к чему хорошему это не приводит.Пример тому ее переделанная работа.
Так ей и передай. А именно, если она хотела сделать в процедуре, локальный параметр типа файла то он не может быть передан по значению. Он передается только по ссылке. ЕЕ неправильный
Вот файлLab3_5.rar
1
|
01.02.2012, 04:41 | 20 |
Все таки я его доделал. А то в нутри кошки скреблись
Lab3_6.rar
1
|
01.02.2012, 04:41 | |
01.02.2012, 04:41 | |
Помогаю со студенческими работами здесь
20
Описать процедуру star(G,F), присваивающую строке F фамилию самого старшего мужчины из группы G Описать процедуру, которая удаляет из непустого списка L первый элемент Написать функцию, присваивающую параметру t2 время на 1 секунду большее времени t1 Описать процедуру, которая переносит в конец непустого списка L его первый элемент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |