Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 07:28   #1
inc
Пользователь
 
Аватар для inc
 
Регистрация: 23.05.2011
Сообщений: 14
По умолчанию Определение и использование структур. Методы сортировки.

Описать структуру с именем Price, содержащую следующие поля: Title (название товара), Shop (название магазина, в котором продается товар), Cost (стоимость товара в руб.). Написать программу, выполняющую следующие действия:

ввод с клавиатуры данных в массив List, состоящий из 8 структур типа Price;

сортировка простыми вставками в алфавитном порядке по названиям товара;

вывод на экран информации о товаре, название которого введено с клавиатуры;

если таких товаров нет, вывести соответствующее сообщение.

вот мой код но он не дописан Я не знаю как реализовать 4
функцию (вывод на экран информации о товаре, название которого введено с клавиатуры)
И проверте пожалуйста мой код может где то ошибки есть

Код:
#include <iostream>
#include <cstring>
#include <conio.h>

#define N 8

// Описание структуры
struct Price {
  char Title[30];
  char Shop[30];
  int Cost;
};

// Прототипы используемых функций
void Input (Price (&)[N]);
void Sort (Price (&)[N]);
void Find (Price (&)[N]);

using namespace std;

int main (void)
{
  Price List[N]; // Описание массива структур

  Input (List); // Ввод массива с клавиатуры
  Sort (List);  // Сортировка массива
  Find (List);

  getch ();
  return 0;
}



void Input (Price (&g)[N])
{
  for (int i = 0; i < N; i++)
  {
    cout << "Vvedite nazvanie tovara: ";
    cin >> g[i].Title;
    cout << "Vvedite nazvanie magazina: ";
    cin >> g[i].Shop;
  }
}



void Exchange (Price *g1, Price *g2)
{
  Price t;
  memcpy (&t, g1, sizeof (Price));
  memcpy (g1, g2, sizeof (Price));
  memcpy (g2, &t, sizeof (Price));
}



void Sort (Price (&g)[N])
{
  int imin; // номер минимального элемента

  for (int i = 0; i < N; i++)
  {
    imin = i;
    for (int j = i + 1; j < N; j++)
    {
      if (strcmp (g[j].Title, g[imin].Shop) < 0)
      {
        imin = j;
      }
    }
    Exchange (&g[i], &g[imin]);
  }

  for (int i = 0; i < N; i++)
  {
    cout << g[i].Title << " " << g[i].Cost << endl;
  }
}



void Find (Price (&g)[N]) // здесь проблема
{
  int price;
  int q = 0;
  cout << "Vvedite nazvanie tovara: ";
  cin >> price;

  for (int i = 0; i < N; i++)
  {
    if (g[i].Price > price)
    {
      cout << g[i].Title << " " << g[i].Cost << endl;
      q++;
    }
  }
  if (q == 0)
  {
    cout << "Takih tovarov net." << endl;
  }
}

Последний раз редактировалось inc; 24.05.2011 в 07:31.
inc вне форума Ответить с цитированием
Старый 25.05.2011, 06:21   #2
inc
Пользователь
 
Аватар для inc
 
Регистрация: 23.05.2011
Сообщений: 14
По умолчанию

помогите пожалуйста !
inc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методы сортировки.Сортировка выбором. Alena_897 Visual C++ 0 29.04.2011 20:26
Методы сортировки массивов!!! >>arty<< Помощь студентам 2 20.01.2010 18:39
Паскаль методы сортировки Igomax Помощь студентам 5 24.10.2009 15:59
Методы сортировки. Teddy Помощь студентам 1 16.10.2008 19:08