Команда спортсменов - ввод имени, фамилии, массы, роста, и отображение на экране - C (СИ)
Формулировка задачи:
коротко описываю задачу которую я не предстовляю как сделать:
Програма:
(команда спорцменав) - имеется в виду что дощечка примерно выглядит так:
__________________________________________
|Нр.| имя | Фамилия | масса | рост |
|-----------------------------------------------|
| 1 | Иван | Иванов | 87,5 | 183,1 |
| 2 | ... | .... | .... | .... |
-------------------------------------------------
| кнопки помощи: |
| I - Поиск по имени. F - поиск по Фамилии. |
| M - поисл по массе. R - поиск по росту. |
-------------------------------------------------
надеюсь примерно порнятно
1. Записей просмотр на экране
2. Поиск по Имени, Фамилии, массе, рост
3. Посчитать средний рост
4. Записей пополнение и удаление.
Решение задачи: «Команда спортсменов - ввод имени, фамилии, массы, роста, и отображение на экране»
textual
Листинг программы
#include <conio.h> #include <iostream.h> #include <stdlib.h> #include <stdio.h> #include <malloc.h> struct student { char name[25]; char fname[35]; float massa; float rost; }; void enter(int count,student *s); void out_head(); void out_inf(student *s,int count); void enter(int count,student *s) { clrscr(); int i; for(i=0;i<count;i++) { cout<<"Enter "<<i+1<<" student name:";cin>>s[i].name; cout<<"Enter "<<i+1<<" student fname:";cin>>s[i].fname; cout<<"Enter "<<i+1<<" student massa:";cin>>s[i].massa; cout<<"Enter "<<i+1<<" student rost:";cin>>s[i].rost; } } void out_head() { clrscr(); cout<<"-------------------------------------------------------------------------------\n"; cout<<"| Nr | Name | Fname | Massa | Rost |\n"; cout<<"-------------------------------------------------------------------------------\n"; } void out_inf(student *s,int count) { int j=4,m=1,i; for(i=0;i<count;i++) { gotoxy(1,j); printf("|%3d |%15s |%17s |%12.1f |%11.1f |",m,s[i].name,s[i].fname,s[i].massa,s[i].rost); j++; m++; } cout<<"\n-------------------------------------------------------------------------------\n"; } void main() { int n; clrscr(); cout<<"Enter count:";cin>>n; student *s; s=(student*)calloc(n,sizeof(student)); enter(n,s); out_head(); out_inf(s,n); free(s); getch(); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
-
- для функции getch() -
- для использования функций ввода/вывода -
- для функции calloc() -
- для функции printf() -
- для функции calloc()
-
- Определяем структуру student: Структура student содержит поля для хранения имени, фамилии, массы и роста спортсмена.
- *Функция enter(int count, student s)**:
- Ввод данных в структуру student с помощью функции cin().
- Цикл for, который выполняется count раз, где count - количество спортсменов.
- Каждый элемент массива s заполняется данными, введенными пользователем.
- Функция out_head():
- Вывод на экран таблицы с заголовками для каждого поля структуры student.
- *Функция out_inf(student s, int count)**:
- Цикл for, который выполняется count раз, где count - количество спортсменов.
- Вывод на экран информации о каждом спортсмене с помощью функции printf().
- Функция main():
- Ввод количества спортсменов с помощью функции cin().
- Выделение памяти под массив структур student с помощью функции calloc().
- Вызов функции enter() для заполнения массива s данными.
- Вывод на экран заголовка таблицы с помощью функции out_head().
- Вывод на экран информации о спортсменах с помощью функции out_inf().
- Освобождение памяти с помощью функции free().
- Блокировка программы до нажатия клавиши с помощью функции getch().
- В основной функции main() выделяем память под массив структур student с помощью функции calloc():
- Вызываем функцию calloc() для выделения памяти под массив структур student.
- Передаем в функцию calloc() количество спортсменов (n) и размер структуры student в байтах (sizeof(student)).
- В основной функции main() вызываем функцию enter() для заполнения массива s данными:
- Вызываем функцию enter(), передавая ей количество спортсменов (n) и указатель на первый элемент массива s.
- В основной функции main() вызываем функцию out_head() для вывода заголовка таблицы:
- Вызываем функцию out_head().
- В основной функции main() вызываем функцию out_inf() для вывода информации о спортсменах:
- Вызываем функцию out_inf(), передавая ей указатель на первый элемент массива s и количество спортсменов (n).
- В основной функции main() освобождаем память с помощью функции free():
- Вызываем функцию free(), передавая ей указатель на первый элемент массива s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д