Ввод/вывод данных элементов структуры через функцию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

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

Не понимаю, как осуществить ввод/вывод данных элементов структуры через функцию... Помогите пожалуйста!!!

Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. struct YuShop{
  5. char Name[10];// назвоние изделия
  6. float Cena;// цена
  7. char Prod[10];// продавец
  8. char Pokup[10];// покупатель
  9. int Data[3];//дата продажи
  10. };

Решение задачи: «Ввод/вывод данных элементов структуры через функцию»

textual
Листинг программы
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. const int n = 10;
  5. int size = 0;
  6. typedef struct YuShop{
  7.         char name[n];// наименование изделия
  8.         double cena;// цена
  9.         char prod[n];// продавец
  10.         char pokup[n];// покупатель
  11.         int data[3];// дата покупки
  12.         }SHOP;
  13.  
  14. SHOP sh[100]; // Оглашение масива структур
  15.  
  16. void input(int size) {
  17.     for(int i = 0; i < size; i++) {
  18.         do {
  19.             printf("\n№%d Nazvanie tovara: ", i + 1);
  20.             scanf("%s", &sh[i].name);
  21.         }while(!strcmp(sh[i].name, ""));// выполняется  пока строчка не пуста
  22.         printf("\nCena: ");
  23.         scanf("%lf", &sh[i].cena);
  24.         do {
  25.             printf("\nProdavec: ");
  26.             scanf("%s", &sh[i].prod);
  27.         }while(!strcmp(sh[i].prod, ""));
  28.         do {
  29.             printf("\nPokupatel: ");
  30.             scanf("%s", &sh[i].pokup);
  31.         }while(!strcmp(sh[i].pokup, ""));
  32.         printf("\nDen\' prodagu: ");
  33.         scanf("%d", &sh[i].data[0]);
  34.         printf("\nMуsac prodagu: ");
  35.         scanf("%d", &sh[i].data[1]);
  36.         printf("\nGod prodagu: ");
  37.         scanf("%d", &sh[i].data[2]);  
  38.     }
  39. }
  40.  
  41. void show(int size){
  42.     printf("+---------------+--------+---------------+---------------+----------+\n");
  43.     printf("+-----Tovar-----+--Cena--+---Prodavec----+---Pokupatel---+---Data---+\n");
  44.     printf("+               +        +               +               +          +\n");
  45.     for(int i = 0; i < size; i++) {
  46.     printf("+%-15s|%-8.2lf|%-15s|%-15s|%-2d.%-2d.%-2d  +\n",
  47.             sh[i].name, sh[i].cena, sh[i].prod, sh[i].pokup, sh[i].data[0], sh[i].data[1], sh[i].data[2]);}
  48.     printf("+---------------+--------+---------------+---------------+----------+\n");
  49.     }
  50.  
  51. void sortByPrice(int size) { //Сортировка методом выбора
  52.     double tmp;
  53.     int i, j, pos;
  54.     for(i = 0; i < size; ++i)
  55.     {
  56.         pos = i;
  57.         tmp = sh[i].cena;
  58.         for(j = i + 1; j < size; ++j)
  59.         {
  60.             if (sh[j].cena < tmp)
  61.             {
  62.                pos = j;
  63.                tmp = sh[j].cena;
  64.             }
  65.         }
  66.         sh[pos].cena = sh[i].cena;
  67.         sh[i].cena = tmp;
  68.     }      
  69. }  
  70.  
  71. int main (void){
  72. printf("Skolko adresov budet v strukture? ");
  73. scanf("%d", &size);
  74. input(size);
  75. show(size);
  76. sortByPrice(size);
  77. printf("\n\n Posle sortirovki:\n");
  78. show(size);
  79.  
  80. getchar ();
  81. getchar ();
  82. return 0;
  83. }

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


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

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

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы