Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87

Работа с файлами данных

03.12.2020, 02:32. Показов 2198. Ответов 12

Студворк — интернет-сервис помощи студентам
Задание:
Написать программу, которая с помощью отдельных функций выполняет на-ступни действия
1) формирование нескольких элементов файла с данными типа структуры, указанным в таблице;
2) вывод на экран элементов файла в соответствии с заданием.

Сведения об игроках команды "Черноморец": номер на поле, ФИО, амплуа (вратарь, защитник и т.д.), количество голов за сезон. Вывести данные о защитнике, забивший больше всех голов за сезон.

Если не сложно то пожалуйста с комментариями.
Нужно максимально срочно, помогите пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2020, 02:32
Ответы с готовыми решениями:

Работа с строками,Работа со структурными типами данных,Работа с файлами!!
Помогите написать программы для следующих заданий....буду очень благодарен.) 1)Разработать программу которая удаляет все слова в...

Работа с файлами, чтение данных, вывод данных в массив
Ребят, нужна Ваша помощь, только начинаю изучать программирование. Хочу написать по типу авторизации, все сделал, но не получается вывести...

Работа с файлами данных
Написать программу, которая с помощью отдельных функций выполняет следующие действия: 1) формирование несколько элементов файла с данными...

12
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.12.2020, 21:38
sdfafsdf, sdfafsdf,
типа структуры, указанным в таблице;
Какой тип?

Добавлено через 20 секунд
И сам файл
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 22:28  [ТС]
Ну структура, или я что-то не так понял. То что указано в таблице это "сведения об игроках команды "Черноморец"..."

Добавлено через 4 минуты
Во такой мне дали пример, и дали чуть другое задание.
Тема: Работа с файлами данных.
Задача:
Составить файл, содержащий данные о работниках, которые имеют такую инфо-рмацию: табельный номер, ФИО, должность, дата приема на работу, оклад. Вывести данные о технике, получивший наибольшую зарплату.
C++
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
47
48
49
50
51
52
53
54
55
#include<iostream> 
#include<stdio.h> 
#include<сstdlib.h> 
int main ( ) 
{ 
const int n=3; 
FILE *G; 
struct rabotnik 
{ int nomer, 
char tip[20]; 
char FIO[40]; 55 
char posada[20]; 
float oklad; 
int data; 
}s1;
int i; 
if ((G=fopen("danie_Rob", "wb"))==NULL) 
{ cout<<" ERROR OPEN 1 FAIL"; 
exit(1); 
} 
for (i=0;i<n;i++) 
{ cout<<"Nomer: "; cin>> s1.nomer; 
cout<<"FIO: "; cin>>s1.FIO; 
cout<<"Posada: "; cin>>s1. posada; 
cout<<"Oklad: "; cin>> s1. oklad; 
cout<<"Data: "; cin>>s1. data; 
fwrite(&s1,sizeof(struct rabotnik),1,G); 
} 
fclose(G); 
char posad[20]; 
float max=0; 
cout<<" Vvesty posadu dlya poshuku: "; 
cin>>posad; 
if ((G=fopen("danie_Rob", "r"))==NULL) 
{cout<<" ERROR OPEN 2 FAIL "; 
exit(1); 
} 
cout<<" \n Result"<<endl; 
for (i=0;i<n;i++) 
{ fread (&s1,sizeof(struct rabotnik),1,G); 
if (s1.posada==posad) 
if (s1.oklad> max ) { max= s1.oklad; imax=i; } 
} 
fclose(G); 
for (i=0;i<=imax;i++) 
fread (&s1,sizeof(struct rabotnik),1,G); 
 
cout<<" Nomer: "<< s1.nomer<<endl; 
cout<<" FIO: "<< s1.FIO<<endl; 
cout<<" Oklad: "<< s1.oklad<<endl; 
cout<<" posada: "<< s1.posada<<endl; 
cout<<" Data: "<< s1.data <<endl; 
fclose(G); /*закриття файлу*/ 
return 0; 
}
56
Результат:
Nomer: 1
FIO: Ivanov A.O.
Posada: Tehnik
Oklad: 750
Data: 2000
Nomer: 2
FIO: Petrova A.O.
Posada: Tehnik
Oklad: 1750
Data: 2006
Vvesty posadu dlya poshuku: Tehnik
Result
Nomer: 2
FIO: Petrova A.O.
Posada: Tehnik
Oklad: 1750
Data: 2006

Добавлено через 41 минуту
Я так понял вы мне поможете?
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.12.2020, 22:28
sdfafsdf,
Python
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
def foot_file() :
    n = int(input('Количество игроков команды: '))
    foot = {'number': [], 'fio': [], 'role': [], 'goal': []}
    for _ in range(n) :
        num = input('номер в команде: ')
        foot['number'].append(num)
        fio = input('ФИО игрока: ')
        foot['fio'].append(fio)
        amp = input('Амплуа (защитник, вратарь и тп): ')
        foot['role'].append(amp)
        goal = input('Количество голов: ')
        foot['goal'].append(goal)
    return foot
 
mydict = foot_file()
my_search = "защитник" # input()
res = []
for i, v in enumerate(mydict['role']) :
    if v == my_search :
        res.append((mydict['number'][i], mydict['fio'][i], mydict['goal'][i]))
res.sort(key = lambda x: x[2])
 
print('Защитники, забившие голы: ')
for i in res :
    print('Номер {:2d}  {:20s} всего голов: {:2d}'.format(int(i[0]), i[1], int(i[2])))
    
goal_max = res[-1][2]
res = [i for i in res if i[2] == goal_max]
print('Защитники, забившие больше всех голов: ')
for i in res :
    print('Номер {:2d}  {:20s} всего голов: {:2d}'.format(int(i[0]), i[1], int(i[2])))
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 22:53  [ТС]
А что вот это вот на скрине означает?
Миниатюры
Работа с файлами данных  
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.12.2020, 23:01
Лучший ответ Сообщение было отмечено sdfafsdf как решение

Решение

sdfafsdf, значит файл есть?

Добавлено через 2 минуты
sdfafsdf, значит, что нет таких защитников
Попробуй так
Python
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
def foot_file() :
    n = int(input('Количество игроков команды: '))
    foot = {'number': [], 'fio': [], 'role': [], 'goal': []}
    for _ in range(n) :
        num = input('номер в команде: ')
        foot['number'].append(num)
        fio = input('ФИО игрока: ')
        foot['fio'].append(fio)
        amp = input('Амплуа (защитник, вратарь и тп): ')
        foot['role'].append(amp)
        goal = input('Количество голов: ')
        foot['goal'].append(goal)
    return foot
 
mydict = foot_file()
my_search = "защитник" # input()
res = []
for i, v in enumerate(mydict['role']) :
    if v == my_search :
        res.append((mydict['number'][i], mydict['fio'][i], mydict['goal'][i]))
        
if len(res) :
    res.sort(key = lambda x: x[2])
 
    print('Защитники, забившие голы: ')
    for i in res :
        print('Номер {:2d}  {:20s} всего голов: {:2d}'.format(int(i[0]), i[1], int(i[2])))
    
    goal_max = res[-1][2]
    res = [i for i in res if i[2] == goal_max]
    print('Защитники, забившие больше всех голов: ')
    for i in res :
        print('Номер {:2d}  {:20s} всего голов: {:2d}'.format(int(i[0]), i[1], int(i[2])))
Добавлено через 54 секунды
Если здесь показываешь ошибку, то и данные, которые вводишь, тоже показывай
1
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 23:04  [ТС]
А понял, ну я просто рандомные буквы вводил что бы проверить как работает.
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 23:14  [ТС]
Вывело просто последнего игрока, а нужно того кто забил наибольше голов, такого я указал под 9-тым номером (3 гола)
Миниатюры
Работа с файлами данных   Работа с файлами данных  
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.12.2020, 23:20
Лучший ответ Сообщение было отмечено sdfafsdf как решение

Решение

sdfafsdf, Ищем
Python
1
my_search = "защитник" # input()
Значит при формировании списка команды при запросе "амплуа" вводится "защитник" или что то другое. Если вводишь произвольное, то исправь на этот оператор
Python
1
my_search = input('введите амплуа игрока для фильтра: )
Добавлено через 2 минуты
Ты же в поле амплуа вводишь asfafs
Естественно такого нет - он ищет my_search = "защитник" а не "asfafs
1
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
04.12.2020, 23:23  [ТС]
Аа, что-то не подумал. Спасибо, сейчас попробую всё ввести нормально
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.12.2020, 23:24
sdfafsdf, если с компа вводишь, то напиши где нить в блокноте заготовку один раз, но полноценную
0
-66 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 87
05.12.2020, 00:51  [ТС]
Вот сейчас так и делаю

Добавлено через 1 час 25 минут
Код работает так как мне нужно, всё отлично. Спасибо большое, вы мне очень помогли!
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
05.12.2020, 01:04
sdfafsdf, ОК
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2020, 01:04
Помогаю со студенческими работами здесь

работа с файлами данных
В задаче у меня стоит пункт считать элементы файла в массив ... как это сделать?

Работа с файлами данных
Как корректно добавить функцию чтения и записи данных из файла? А так же создать меню для вызова созданных файлов? #include...

Работа с файлами данных
Задание: Написать программу, которая с помощью отдельных функций выполняет на-ступни действия 1) формирование нескольких элементов...

Работа с файлами данных
Помогите написать код. Задание: Написать программу, которая с помощью отдельных функций выполняет на-ступни действия 1) формирование...

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru