Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2013, 11:01   #11
stalker1995s
Gamedeveloper
Форумчанин
 
Аватар для stalker1995s
 
Регистрация: 11.07.2012
Сообщений: 149
По умолчанию

Цитата:
Сообщение от netpolice Посмотреть сообщение
Это Дельфийская связка, в Паскале

Код:
PriceText: Text;
А разница та какая ? Смысл в одном, да и не жуткий я грамотей согласен.
stalker1995s вне форума Ответить с цитированием
Старый 09.04.2013, 11:07   #12
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Цитата:
Сообщение от stalker1995s Посмотреть сообщение
А разница та какая ? Смысл в одном, да и не жуткий я грамотей согласен.
Согласен разницы нет, но вдруг у D1esel реально Turbo Pascal, он же обидится (я имею ввиду Pascal). Делфи в обратном случае тоже обидится.
netpolice вне форума Ответить с цитированием
Старый 09.04.2013, 11:25   #13
D1esel
Новичок
Джуниор
 
Регистрация: 09.04.2013
Сообщений: 13
По умолчанию

Спасибо


Вот мои наброски

Код:
{Список студенческой группы записан на диске как текстовый файл.
Каждая строка списка содержит фамилию студента и три экзаменационные оценки,
 причем список никак не упорядочен. Составить программу,
  которая корректирует список и сортирует его либо по среднему баллу,
  либо по алфавиту, либо по оценкам по заданному предмету.

Список записывается в файл либо под старым, либо под новым именем.}


program store;
const Max_n = 100;
type
   str20 = string [20];
   goods = record
      name   : str20;
      price  : real;
      number : integer;
   end;
var stock     : array[1 .. Max_n] of goods;
    i, j, len : integer;
    name      : str20;
    found     : boolean;
    f         : text;
begin
   assign(f, 'stock.txt'); reset(f);
   i := 1;
   while not Eof(f) do begin
      with stock[i] do readln(f, name, price, number);
      inc(i);
      if i > Max_n then begin                             {1}
         writeln('Переполнение массива'); exit end;
      end;
      while true do begin                                    {2}
      writeln('Введите наименование'); Readln(name);
      len := length(name);
      if len = 0 then break;                                 {3}
      for j := len + 1 to 20 do name := name + ' ';          {4}
      found := false;
      for j := 1 to i - 1 do begin                           {5}
          if name <> stock[j].name then continue;
          with stock[j] do writeln (name:22, price:7:2, number:5);
          found := true;
          break;
      end;
      if not found then writeln ('Товар не найден');         {6}
      end;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.04.2013 в 11:32.
D1esel вне форума Ответить с цитированием
Старый 09.04.2013, 11:27   #14
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Задание не то

Млин и оформите правильно код, А то совершенно не читаем.

Последний раз редактировалось netpolice; 09.04.2013 в 11:31.
netpolice вне форума Ответить с цитированием
Старый 09.04.2013, 11:33   #15
D1esel
Новичок
Джуниор
 
Регистрация: 09.04.2013
Сообщений: 13
По умолчанию

Код:
program store;
const Max_n = 100;
type
   str20 = string [20];
   goods = record
      name   : str20;
      price  : real;
      number : integer;
   end;
var stock     : array[1 .. Max_n] of goods;
    i, j, len : integer;
    name      : str20;
    found     : boolean;
    f         : text;
begin
   assign(f, 'stock.txt'); reset(f);
   i := 1;
   while not Eof(f) do begin
      with stock[i] do readln(f, name, price, number);
      inc(i);
      if i > Max_n then begin                             {1}
         writeln('Переполнение массива'); exit end;
      end;
      while true do begin                                    {2}
      writeln('Введите наименование'); Readln(name);
      len := length(name);
      if len = 0 then break;                                 {3}
      for j := len + 1 to 20 do name := name + ' ';          {4}
      found := false;
      for j := 1 to i - 1 do begin                           {5}
          if name <> stock[j].name then continue;
          with stock[j] do writeln (name:22, price:7:2, number:5);
          found := true;
          break;
      end;
      if not found then writeln ('Товар не найден');         {6}
      end;
end.
Вот в txt заданы данные



___________
Код нужно оформлять по правилам (а не тегом цитирования!):
тегом [CODE]..[/СODE] (кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.04.2013 в 11:36.
D1esel вне форума Ответить с цитированием
Старый 09.04.2013, 11:35   #16
D1esel
Новичок
Джуниор
 
Регистрация: 09.04.2013
Сообщений: 13
По умолчанию

вот в txt заданы данные
Код:
program store;
const Max_n = 100;
type
   str20 = string [20];
   goods = record
      name   : str20;
      price  : real;
      number : integer;
   end;
var stock     : array[1 .. Max_n] of goods;
    i, j, len : integer;
    name      : str20;
    found     : boolean;
    f         : text;
begin
   assign(f, 'stock.txt'); reset(f);
   i := 1;
   while not Eof(f) do begin
      with stock[i] do readln(f, name, price, number);
      inc(i);
      if i > Max_n then begin                             {1}
         writeln('Переполнение массива'); exit end;
      end;
      while true do begin                                    {2}
      writeln('Введите наименование'); Readln(name);
      len := length(name);
      if len = 0 then break;                                 {3}
      for j := len + 1 to 20 do name := name + ' ';          {4}
      found := false;
      for j := 1 to i - 1 do begin                           {5}
          if name <> stock[j].name then continue;
          with stock[j] do writeln (name:22, price:7:2, number:5);
          found := true;
          break;
      end;
      if not found then writeln ('Товар не найден');         {6}
      end;
end.
D1esel вне форума Ответить с цитированием
Старый 09.04.2013, 11:38   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

D1esel, цитирую ваше задание:
Цитата:
Сообщение от D1esel
1. Описать запись с именем Price, содержащую следующие поля:

название товара;
название магазина, в котором продается товар;
стоимость товара в рублях.
сравните с вашим кодом. Попытайтесь найти совпадения...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2013, 11:46   #18
D1esel
Новичок
Джуниор
 
Регистрация: 09.04.2013
Сообщений: 13
По умолчанию

Не получается
D1esel вне форума Ответить с цитированием
Старый 09.04.2013, 11:47   #19
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Код:
  writeln('Введите наименование'); Readln(name);
Если я правильно понял код (спс модератору за форматирование), то данная строчка должна при каждом считывании одной записи файла выводиться, Далее

Код:
for j := len + 1 to 20 do name := name + ' ';          {4}
Зачем вы до 20-ого символа забиваете пробелами? (реально не могу понять)

Ну и вообщем несколько сумбурный код

Код:
while true do begin
Ах да, ну это уже смертный грех... Ну нельзя так... Это против правил программирования, вот зациклитесь будете знать

Последний раз редактировалось netpolice; 09.04.2013 в 11:51.
netpolice вне форума Ответить с цитированием
Старый 09.04.2013, 11:50   #20
D1esel
Новичок
Джуниор
 
Регистрация: 09.04.2013
Сообщений: 13
По умолчанию

Код давала преподавательница в колледже
Нужно из этого кода переделать под задачу с оценками
D1esel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача 1-реализована.Задача 2-Найти и вывести символы 2-ой строки не совпавшие с символами 1-ой строки Leshkin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.11.2013 08:57
задача на строки (СИ) Александрq Помощь студентам 1 11.02.2013 05:31
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Задача на строки Evgenyi Паскаль, Turbo Pascal, PascalABC.NET 1 20.06.2011 18:20