Ввод/вывод данных элементов структуры через функцию - C (СИ)
Формулировка задачи:
Разработать программу учета покупок ювелирного магазина. Данные о покупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости ювелирного украшения.
(в программе использовать структуры; все логически законченные части программы оформить в виде отдельных функций)
Не понимаю, как осуществить ввод/вывод данных элементов структуры через функцию... Помогите пожалуйста!!!
Листинг программы
- #include <stdio.h>
- #include <conio.h>
- struct YuShop{
- char Name[10];// назвоние изделия
- float Cena;// цена
- char Prod[10];// продавец
- char Pokup[10];// покупатель
- int Data[3];//дата продажи
- };
Решение задачи: «Ввод/вывод данных элементов структуры через функцию»
textual
Листинг программы
- #include <iostream>
- #include <stdio.h>
- const int n = 10;
- int size = 0;
- typedef struct YuShop{
- char name[n];// наименование изделия
- double cena;// цена
- char prod[n];// продавец
- char pokup[n];// покупатель
- int data[3];// дата покупки
- }SHOP;
- SHOP sh[100]; // Оглашение масива структур
- void input(int size) {
- for(int i = 0; i < size; i++) {
- do {
- printf("\n№%d Nazvanie tovara: ", i + 1);
- scanf("%s", &sh[i].name);
- }while(!strcmp(sh[i].name, ""));// выполняется пока строчка не пуста
- printf("\nCena: ");
- scanf("%lf", &sh[i].cena);
- do {
- printf("\nProdavec: ");
- scanf("%s", &sh[i].prod);
- }while(!strcmp(sh[i].prod, ""));
- do {
- printf("\nPokupatel: ");
- scanf("%s", &sh[i].pokup);
- }while(!strcmp(sh[i].pokup, ""));
- printf("\nDen\' prodagu: ");
- scanf("%d", &sh[i].data[0]);
- printf("\nMуsac prodagu: ");
- scanf("%d", &sh[i].data[1]);
- printf("\nGod prodagu: ");
- scanf("%d", &sh[i].data[2]);
- }
- }
- void show(int size){
- printf("+---------------+--------+---------------+---------------+----------+\n");
- printf("+-----Tovar-----+--Cena--+---Prodavec----+---Pokupatel---+---Data---+\n");
- printf("+ + + + + +\n");
- for(int i = 0; i < size; i++) {
- printf("+%-15s|%-8.2lf|%-15s|%-15s|%-2d.%-2d.%-2d +\n",
- sh[i].name, sh[i].cena, sh[i].prod, sh[i].pokup, sh[i].data[0], sh[i].data[1], sh[i].data[2]);}
- printf("+---------------+--------+---------------+---------------+----------+\n");
- }
- void sortByPrice(int size) { //Сортировка методом выбора
- double tmp;
- int i, j, pos;
- for(i = 0; i < size; ++i)
- {
- pos = i;
- tmp = sh[i].cena;
- for(j = i + 1; j < size; ++j)
- {
- if (sh[j].cena < tmp)
- {
- pos = j;
- tmp = sh[j].cena;
- }
- }
- sh[pos].cena = sh[i].cena;
- sh[i].cena = tmp;
- }
- }
- int main (void){
- printf("Skolko adresov budet v strukture? ");
- scanf("%d", &size);
- input(size);
- show(size);
- sortByPrice(size);
- printf("\n\n Posle sortirovki:\n");
- show(size);
- getchar ();
- getchar ();
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д