Команда спортсменов - ввод имени, фамилии, массы, роста, и отображение на экране - 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();
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы:
    • - для функции getch()
    • - для использования функций ввода/вывода
    • - для функции calloc()
    • - для функции printf()
    • - для функции calloc()
  2. Определяем структуру student: Структура student содержит поля для хранения имени, фамилии, массы и роста спортсмена.
  3. *Функция enter(int count, student s)**:
    • Ввод данных в структуру student с помощью функции cin().
    • Цикл for, который выполняется count раз, где count - количество спортсменов.
    • Каждый элемент массива s заполняется данными, введенными пользователем.
  4. Функция out_head():
    • Вывод на экран таблицы с заголовками для каждого поля структуры student.
  5. *Функция out_inf(student s, int count)**:
    • Цикл for, который выполняется count раз, где count - количество спортсменов.
    • Вывод на экран информации о каждом спортсмене с помощью функции printf().
  6. Функция main():
    • Ввод количества спортсменов с помощью функции cin().
    • Выделение памяти под массив структур student с помощью функции calloc().
    • Вызов функции enter() для заполнения массива s данными.
    • Вывод на экран заголовка таблицы с помощью функции out_head().
    • Вывод на экран информации о спортсменах с помощью функции out_inf().
    • Освобождение памяти с помощью функции free().
    • Блокировка программы до нажатия клавиши с помощью функции getch().
  7. В основной функции main() выделяем память под массив структур student с помощью функции calloc():
    • Вызываем функцию calloc() для выделения памяти под массив структур student.
    • Передаем в функцию calloc() количество спортсменов (n) и размер структуры student в байтах (sizeof(student)).
  8. В основной функции main() вызываем функцию enter() для заполнения массива s данными:
    • Вызываем функцию enter(), передавая ей количество спортсменов (n) и указатель на первый элемент массива s.
  9. В основной функции main() вызываем функцию out_head() для вывода заголовка таблицы:
    • Вызываем функцию out_head().
  10. В основной функции main() вызываем функцию out_inf() для вывода информации о спортсменах:
    • Вызываем функцию out_inf(), передавая ей указатель на первый элемент массива s и количество спортсменов (n).
  11. В основной функции main() освобождаем память с помощью функции free():
    • Вызываем функцию free(), передавая ей указатель на первый элемент массива s.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы