Re: Таблиці - відфільтрувати записи з данними про холодильники (продовж.)
а якщо в read я почну писати так
(f, tabl[i].nazva , tabl[i].kamera)
хоча ні це для типізованоо файлу
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Таблиці - відфільтрувати записи з данними про холодильники (продовж.)
Сторінки Попередня 1 2 3 4 5 6 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
а якщо в read я почну писати так
(f, tabl[i].nazva , tabl[i].kamera)
хоча ні це для типізованоо файлу
ну дивіться я робив приклад по цьому http://mojainformatika.ru/paskal/uroki- … -fajl.html .
Я подивився за посиланням і ніде не знайшов там нічого схожого навіть на перший рядок з того фрагменту коду, що я вам навів. Як ви примудрилися робити код за зразком, але зовсім не той, що в зразку? Чи ви його робили не за тим зразком?
я не розумію шо треба було тут записати в read
Треба або писати в файл так, щоб потім було зручно читати, або читати рядок, розкладати на на частини і пхати їх в різні елементи tabl.
типу
(f, tabl[i].nazva , tabl[i].kamera)
і т.д. ????
типу
(f, tabl[i].nazva , tabl[i].kamera)
і т.д. ????
Тоді буде зчитуватися по одному рядку в кожну змінну.
натякінть будь ласка, дайте повштовх. я просто іншого способу не знаю
Так дав уже, ви просто ігноруєте його. Мені повторити?
розкладати на на частини і пхати їх в різні елементи tabl.
ну хоч вбийте, не розумыю як це зробити. як це приблизно реалізується в коді ??
розкладати на на частини і пхати їх в різні елементи tabl.
ну хоч вбийте, не розумыю як це зробити. як це приблизно реалізується в коді ??
Ви записували отак:
writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist);
А як би ви це вичитували? Підключіть логіку: маєте же готову структуру рядку.
А тепер спробуйте пояснити, що саме робить ось цей фрагмент коду:
while not eoln(f) do begin read(f,s); write(s); end;
Бо проблема саме в ньому.
Ви так і не спромоглися пояснити, що робить цей код. Вважаю подальшу розмову непродуктивною.
koala написав:А тепер спробуйте пояснити, що саме робить ось цей фрагмент коду:
while not eoln(f) do begin read(f,s); write(s); end;
Бо проблема саме в ньому.
Ви так і не спромоглися пояснити, що робить цей код. Вважаю подальшу розмову непродуктивною.
Господи Боже. Говорю. Думав зчитати з фалйа f дані які б записались у s. після зчитування думав вони мали би записатись тобто ті дані яків ми ввесли мали би записатись
misha_beginner написав:розкладати на на частини і пхати їх в різні елементи tabl.
ну хоч вбийте, не розумыю як це зробити. як це приблизно реалізується в коді ??
Ви записували отак:
writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist);
А як би ви це вичитували? Підключіть логіку: маєте же готову структуру рядку.
але мені сказав koala Тоді буде зчитуватися по одному рядку в кожну змінну.
koala я признаюсь вам, мені сказали так зробити, непояснивши чому так. з цим readln і write я з вами тут не сперечаюсь, якийсь бред написав, вибачте мене тупого.
Bartash написав:misha_beginner написав:ну хоч вбийте, не розумыю як це зробити. як це приблизно реалізується в коді ??
Ви записували отак:
writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist);
А як би ви це вичитували? Підключіть логіку: маєте же готову структуру рядку.
але мені сказав koala Тоді буде зчитуватися по одному рядку в кожну змінну.
Давайте так: для чого будуть використовуватися вичитані дані?
misha_beginner написав:Bartash написав:Ви записували отак:
writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist);
А як би ви це вичитували? Підключіть логіку: маєте же готову структуру рядку.
але мені сказав koala Тоді буде зчитуватися по одному рядку в кожну змінну.
Давайте так: для чого будуть використовуватися вичитані дані?
▼Варіант 1▼Варіант 2
ось як звучить завдання
скласти програму створення текстового файлу з іменем Т, з інформацією про "холодильники"; вивести відповідну таблицю даних файла і ту її частину, яка містить відомості про холодильники на складі: місто виробництва, назва холодильника, обсяг холодильної камери, рік та місяць випуску, ціна, кількість. використовуючи сформований файл, вивести інформацію про холодильники 1993 року випуску. передбачити в програмі вилучення та добавлення даних.
зробив отак
const
n=4;
type
xolod = record
virobn:string[50];
nazvanie:string[45];
kamera:real;
rik:integer;
misce:string[45];
cina:real;
kilkist:real;
end;
var
i:integer;
tabl:array[1..n] of xolod;
f:text;
s:string;
procedure lin(m:integer);
var
i:integer;
begin
for i:=1 to m do
write('-');
writeln;
end;
begin
assign(f,'xolodilnik.txt');
append(f);
Writeln('Vvedi danni');
For i:=1 to n do
begin
Write('virobn:'); readln(tabl[i].virobn);
Write('nazvanie:'); readln(tabl[i].nazvanie);
Write('kamera:'); readln(tabl[i].kamera);
Write('rik:'); readln(tabl[i].rik);
Write('misce:'); readln(tabl[i].misce);
Write('cina:'); readln(tabl[i].cina);
Write('kilkist:'); readln(tabl[i].kilkist);
end;
reset(f);
while not eof(f) do begin
while not eoln(f) do begin
read(f,tabl[i].virobn, tabl[i].nazvanie, tabl[i].kamera, tabl[i].rik, tabl[i].misce, tabl[i].cina , tabl[i].kilkist);
write(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist);
end;
end;
close(f);
Lin(69);
writeln(' | Виробництво | Назва | Обэм Камери | Рік | Місце | Ціна | Кількість|');
Lin(69);
For i:=1 to n do
begin
write(' |', tabl[i].virobn:10,'|');
write(tabl[i].nazvanie:10,'|',tabl[i].kamera:13,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|');
writeln;
Lin(69);
end;
writeln;
writeln('vidsortovano');
Lin(69);
For i:=1 to n do
begin
If (tabl[i].rik = 1993) then
begin
write(' |', tabl[i].virobn:10,'|');
write(tabl[i].nazvanie:15,'|',tabl[i].kamera:16,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|');
writeln;
Lin(69);
end;
end;
End.
але всеодно напевно не так
ось як звучить завдання
скласти програму створення текстового файлу з іменем Т, з інформацією про "холодильники"; вивести відповідну таблицю даних файла і ту її частину, яка містить відомості про холодильники на складі: місто виробництва, назва холодильника, обсяг холодильної камери, рік та місяць випуску, ціна, кількість. використовуючи сформований файл, вивести інформацію про холодильники 1993 року випуску. передбачити в програмі вилучення та добавлення даних.
Прекрасно. Все спрощує визначає оце:
передбачити в програмі вилучення та добавлення даних.
Спочатку - пропозиція:
1. Виводити дані з бази згідно Варіанту 1.
2. Додавання - суто допис в кінець файлу.
Тепер питання до вас:
1. Яким чином очікується вилучати дані? У сенсі - за яким критерієм ідентифікувати рядок у базі?
але всеодно напевно не так
Скріншот результату в студію: жодної уяви про те, як цей код виконується на уявному файлі.
З.І: Суть зауваження: всяка програма має видавати очікуваний результат. Якщо вона видає неочікуваний результат - програмісту ламають пальці її переписують.
за допомогою append(f). пишеться замысть rewrite
але всеодно напевно не так
Скріншот результату в студію: жодної уяви про те, як цей код виконується на уявному файлі.
ось
за допомогою append(f). пишеться замысть rewrite
Це ви про що? 0_о
З.І: мене цікавив скріншот output, а не помилок.