0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
1

Работа с файлами

31.10.2011, 15:33. Показов 1090. Ответов 11
Метки нет (Все метки)

Файл содержит сведения о школьниках: фамилия, имя, рост и вес. Выведите список школьников, рост которых превышает задаваемую величину. Все нужно делать без массива.
Скажите как сделать, чтобы он смотрел только на рост?
В файле ввод такая инфа:
Фамилия: Имя: Рост: Вес:
Симпсон Гомер 175 65
Симпсон Барт 154 32
Симпсон Мардж 205 67
Симпсон Мэгги 256 78
Симпсон Лиза 124 32
В данный момент, прога не играет
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program  pr;
uses crt;
 Var vvod,vivod:text;
     n,rost: integer;
     s: string;
 
 Begin
     Assign(vvod, 'vvod.txt');
     Reset(vvod);
     Assign(vivod, 'vivod.txt');
     Rewrite(vivod);
     Writeln ('Ââåäèòå ðîñò ó÷åíèêà:');
     readln (rost);
     While not eof(vvod) do
     Begin
         Readln(vvod,s);
         If s>rost then
         Writeln(vivod,s);
     end;
 
 
 {Âûâîä íà ýêðàí âòîðîãî ôàéëà}
     Writeln;
     Writeln('Âòîðîé ôàéë ñîäåðæèò ñòðîêè:');
     Reset(vivod);
     While not eof(vivod) do
     Begin
         Readln(vivod,s);
         Writeln(s);
     End;
     Close(vivod);
     Close (vvod);
 End.
Добавлено через 1 час 52 минуты
Помогите плиз...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2011, 15:33
Ответы с готовыми решениями:

Работа с файлами , хотелось бы с windows system файлами
всем привет, нужна интересная идея по программированию, работа с файлами , хотелось бы с windows...

Работа с файлами(Запись,чтение,работа с данными)
Здравствуйте, никак не могу осилить файлы... Для начала вот само задание: В справочной автовокзала...

Лабораторная работа №5. Работа с файлами и алгоритмы сортировки
1. Написать функцию Load для считывания из текстового файла (например, Workers.txt) информации о...

Работа с файлами, чтение/работа со строкой
Доброго времени суток. Начал работать с C++ Builder 6. Есть текстовый файл .txt с различными...

11
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
31.10.2011, 15:44 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var s1:string; //дополнительные переменные
    r,c:integer;
....................
While not eof(vvod) do
 Begin
   Readln(vvod,s);
   s1:=s;//запомним строку
   delete(s1,1,pos(' ',s1))//удалим фимилию
   delete(s1,1,pos(' ',s1));//и имя
   s1:=copy(s1,1pos(' ',s1)-1);//возьмем рост
   val(s1,r,c);//преобразуем в число
   If r>rost then Writeln(vivod,s);
 end;
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
01.11.2011, 12:49  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var s1:string; //дополнительные переменные
    r,c:integer;
....................
While not eof(vvod) do
 Begin
   Readln(vvod,s);
   s1:=s;//запомним строку
   delete(s1,1,pos(' ',s1))//удалим фимилию
   delete(s1,1,pos(' ',s1));//и имя
   s1:=copy(s1,1pos(' ',s1)-1);//возьмем рост
   val(s1,r,c);//преобразуем в число
   If r>rost then Writeln(vivod,s);
 end;
Спасибо огромное

Добавлено через 19 часов 28 минут
А можежь сказать, что делают эти строки:
delete(s1,1,pos(' ',s1)); (Тут мы бирем s1, а дальше?)
s1:=copy(s1,1,pos(' ',s1)-1); (Тут мы копируем, тоже бирем s1, а дальше, что значат все эти сиволы?)
0
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
01.11.2011, 12:53 4
Pascal
1
2
delete(s1,1,pos(' ',s1)); //удаляем часть строки с номера 1 по первый пробел
s1:=copy(s1,1,pos(' ',s1)-1);//копируем часть строки с номера 1 до первого пробела(без него)
Тебе что, влом в справку заглянуть, если уж книжки лень читать?
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
01.11.2011, 12:59  [ТС] 5
Не ну когда, кто то обьясняет, так гораздо лучше)
0
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
01.11.2011, 13:03 6
Интересно, чем в справке хуже написано? Просто безмерная ленность и тупость мешают туда заглянуть.
Delete (процедура)
--------------------
Удаляет подстроку из строки.

Объявление:
Procedure Delete(Var S : String; Index : Integer; Count : Integer);

Режим:
Windows, Real, Protected

Замечания:
Параметр S - переменная со строковым типом.
Index и Count - целочисленные выражения.
Delete удаляет Count символов из строки S,
начиная с позиции Index. Если значение Index
больше, чем длина S, то никакие символы не
удаляются. Если Count определяет большее
количество символов, чем остается в строке с
позиции Index до конца строки, то удаляется
остаток строки.

Insert (процедура)
--------------------
Вставляет подстроку в строку.

Объявление:
Procedure Insert(Source : String; Var S : String; Index : Integer);

Режим:
Windows, Real, Protected

Замечания:
Параметр Source - выражение со строковым
типом. Параметр S - переменная со строковым
типом любой длины. Index - выражение
целочисленного типа. Процедура Insert
вставляет строку Source в строку S в позиции с
номером Index. Если возникающая в результате
строка длиннее 255-и символов, то она
усекается после 255-го символа.
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
01.11.2011, 13:07  [ТС] 7
Вот, что в моей справке
Delete(s,index,count) процедура s - string, index и count - integer удаляет в строке s count символов начиная с позиции index
0
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
01.11.2011, 13:19 8
И где вы только такие рахитские Паскали берете..
Скачай ТП 7.0 здесь
Скачать Паскаль
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
10.11.2011, 14:50  [ТС] 9
Чето вообще ниче не могу понять >_< Уже и учебники почитал, не дается мне никак эта тема, хэлп
Файл содержит сведения о школьниках: фамилия, имя, рост и вес. Выведите список школьников, рост которых превышает задаваемую величину, и определите их средние показатели роста и веса. Среди всех найдите самого высокого школьника.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program  pr;
uses crt;
 Var vvod,vivod:text;
     s,s1,s2: string;
     r,c,rost,o,p,max:integer;
     n:real;
 Begin
     Assign(vvod, 'vvod.txt');
     Reset(vvod);
     Assign(vivod, 'vivod.txt');
     Rewrite(vivod);
     Writeln ('Ââåäèòå ðîñò ó÷åíèêà:');
     readln (rost);
     While not eof(vvod) do
 Begin
   Readln(vvod,s);
   s1:=s;//çàïîìíèì ñòðîêó
   delete(s1,1,pos(' ',s1));//óäàëèì ôèìèëèþ
   delete(s1,1,pos(' ',s1));//è èìÿ
   s1:=copy(s1,1,pos(' ',s1)-1);//âîçüìåì ðîñò
   val(s1,r,c);//ïðåîáðàçóåì â ÷èñëî
   If r>rost then Writeln(vivod,s);
   max:=900;
   if r>max then max:=r;
 Writeln(vivod,'Ñàìûé âûñîêèé øêîëüíèê:',max)  ;
 end;
 
 
 {Âûâîä íà ýêðàí âòîðîãî ôàéëà}
     Writeln;
     Writeln('Âòîðîé ôàéë ñîäåðæèò ñòðîêè:');
     Reset(vivod);
     While not eof(vivod) do
     Begin
         Readln(vivod,s);
         Writeln(s);
     End;
 
close(vvod);
close (vivod);
 End.
0
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
10.11.2011, 15:03 10
Я поравил эту программу, но это же не вся задача, еще и с весом нужно поработать.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program  pr;
uses crt;
 Var vvod,vivod:text;
     s,s1,s2,s3: string;
     r,c,rost,o,p,max:integer;
     n:real;
 Begin
     Assign(vvod, 'vvod.txt');
     Reset(vvod);
     Assign(vivod, 'vivod.txt');
     Rewrite(vivod);
     Writeln ('Введите рост ученика:');
     readln (rost);
max:=0;
 While not eof(vvod) do
  Begin
   Readln(vvod,s);
   s1:=s;//запомним строку
   s2:=copy(s1,1,pos(' ',s1)-1);//запомним фамилию
   delete(s1,1,pos(' ',s1));//удалим фимилию
   delete(s1,1,pos(' ',s1));//и имя
   s1:=copy(s1,1,pos(' ',s1)-1);//возьмем рост
   val(s1,r,c);//преобразуем в число
   If r>rost then Writeln(vivod,s);
   if r>max then
    begin
     max:=r;
     s3:=s2;
    end;
  end;
 Writeln(vivod,'Самый высокий школьник: ',s3,' его рост=',max);
 close(vvod);
 close(vivod);
 {Вывод на экран второго файла}
     Writeln;
     Writeln('Второй файл содержит строки:');
     Reset(vivod);
     While not eof(vivod) do
     Begin
         Readln(vivod,s);
         Writeln(s);
     End;
close (vivod);
 End.
1
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
10.11.2011, 17:01  [ТС] 11
Ок спс, щас по налогии разберусь. А то в учебниках, вроде об одном говорят, а общего почти нет..
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
24.11.2011, 18:43  [ТС] 12
АА ваще не могу понять, как найти средний рост у тех, кто прошел условие
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program  pr;
uses crt;
 Var vvod,vivod:text;
     s,s1,s2,s3,s4,s5,s6,s7: string;
     r,c,rost,o,p,max,n,v,u,i,t,y:integer;
 
 Begin
     Assign(vvod, 'vvod.txt');
     Reset(vvod);
     Assign(vivod, 'vivod.txt');
     Rewrite(vivod);
     Writeln ('Ââåäèòå ðîñò ó÷åíèêà:');
     readln (rost);
max:=0;
n:=0;
v:=0;
 While not eof(vvod) do
  Begin
   Readln(vvod,s);
   s1:=s;
   s2:=copy(s1,1,pos(' ',s1)+6);
   delete(s1,1,pos(' ',s1));
   delete(s1,1,pos(' ',s1));
   s1:=copy(s1,1,pos(' ',s1)-1);
   val(s1,r,c);
   If r>rost then Writeln(vivod,s,n);
   if r>max then
    begin
     max:=r;
     s3:=s2;
    end;
  end;
 Writeln(vivod,'Ñàìûé âûñîêèé øêîëüíèê: ',s3,',' , ' åãî ðîñò-',max);
 close(vvod);
 close(vivod);
 {Âûâîä íà ýêðàí âòîðîãî ôàéëà}
     Writeln;
     Writeln('Âòîðîé ôàéë ñîäåðæèò ñòðîêè:');
     Reset(vivod);
     While not eof(vivod) do
     Begin
         Readln(vivod,s);
         Writeln(s);
     End;
close (vivod);
 End.
Добавлено через 15 часов 18 минут
upd Подскажите как сложить значение, например, 5 строк

Добавлено через 13 часов 31 минуту
Хэлп...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2011, 18:43
Помогаю со студенческими работами здесь

Работа с файлами
Помогите ,пожалуйста, с написание программы.Даже не представляю как она должна выглядеть.А сделать...

Работа с файлами
Производится ввод текста с клавиатуры, но в файл записывается только первое слово. Например: с...

Работа с файлами
У меня такой вопрос....как в Basic 8.0 работать с файлами? если точнее какой функцией открывать...

Работа с файлами
Помогите пожалуйста,я задания сделала,а объединить не могу так,как надо(в файле,который я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru