Форум программистов, компьютерный форум CyberForum.ru

Сортировка структур - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить методом итераций корень уравнения http://www.cyberforum.ru/cpp-beginners/thread65980.html
Вот сижу, ломаю голову, понимаю что самой это сделать не получится, а скоро сдавать, поэтому прошу вас о помощи! Очень надо! Язык С 1Вычислить методом итераций корень уравнения x=2-sin(1/x), расположеный на интервале , с абсолютным допуском eps=0.001. Определить также число итераций. 2 Найти минимальный из положительных элементов массива x(15) и поменять его местами с последним элементом. 3...
C++ Сортировка СТРОК матрицы m*m задание: Упорядочить строки матрицы размером m*m в порядке возрастания елементов в главной диагонали. Чисто вручную получается только перестановками строк p(m) при чем не всегда можно по возрастанию ... а алгоритма определенного не могу найти... прошу помощи :pardon: http://www.cyberforum.ru/cpp-beginners/thread65969.html
C++ Если в строке или столбце матрицы только одна единица, то заменить ее нулем
задача: Дана матрица,заполненная нулями и еденицами.Если в строке или столбце только одна еденица,то она заменяеться нулем.Если после этого в какой-либо строке или столбцеокажетьсятолько одна еденица,то она снова заменяеться нулем и т.д. до тех пор,пока возможны такие замены. Указать индексы оставшихся едениц(или напечатать сообщение,что едениц не осталось) кто может помочь с этой...
Найти номера элементов массива, равных заданому числу C++
помогите решить!! найти номера элементов массива М равных заданому числу А =5,количество элементов N= 15,от -10 до 10
C++ Программу по схеме http://www.cyberforum.ru/cpp-beginners/thread65942.html
помогите написать прогу по этой схеме
C++ Максимум в матрице помагите плиз ...ни как не могу разобрать...с задачей на Турбо Си. Дана квадpатная матpица действительных чисел pазмеpности n (n <=20). Найти наибольшее из значений элементов , pасположенных в заштpихoванной части матpицы. а) ┌─────────────────┐ │*\ │***\ │*****\ │*******\ │********/ ... подробнее

Показать сообщение отдельно
Gsom
1 / 1 / 0
Регистрация: 21.11.2009
Сообщений: 3

Сортировка структур - C++

21.11.2009, 20:35. Просмотров 807. Ответов 4
Метки (Все метки)

Задание такое:
Разработайте программу для обработки структурных типов данных. Реализуйте отдельные функции для ввода, вывода, поиска информации по некоторому условию, сортировки по некоторому признаку.

Книжный МАГАЗИН: автор КНИГИ, название, год издания, цена, количество экземпляров. Упорядочьте книги по убыванию год издания. Выведите список книг указанного автора.


проблема с функцией sort, т.е. при выборе варианта "Сортировка" книги выводятся в исходном порядке.
подскажите, где ошибка? заранее, спасибо

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <iostream.h>
#include <windows.h>
 
struct Book {
  char Author[100];
  char Title[100];
  int Year;
  int Price;
  int Number;
};
 
#define MAX_BOOK 100
struct Shop {
  char Name[50];            // Название магазина
  int N;                    // Количество книг
  Book book1[MAX_BOOK];     // Массив книг
};
 
// Вывод книг по автору
void outpa (Shop Shop1)
{
bool prov=false;
char s[20];
cout << "Введите фамилию автора"<<endl;
cin >> s;
//cout<<"Список книг данного автора :"<<endl;
  for (int i=0; i<Shop1.N; i++)
    if (strcmp (s,Shop1.book1[i].Author)==0)
    { cout<<Shop1.book1[i].Title<<endl;
      prov=true; }
  if (prov==false) cout << "В магазине нет книг данного автора"<< endl;
}
 
// Cортировка книг по году издания
void sort (Shop *Shop1)
{
int min;
book1 buf;
for (int i=0; i<=Shop1.N; i++)
   {
   min=i;
   for (int j=i+1; j<=Shop1.N; j++)
   if (Shop1.book1[j].Year>Shop1.book1[min].Year) min=j;
   buf=Shop1.book1[i];
   Shop1.book1[i]=Shop1.book1[min];
   Shop1.book1[min]=buf;
    }
return;
}
 
// Ввод информации о книге с клавиатуры
Book InputBook (void)
  {
  Book book1;
  cout << "Введите автора: ";
  cin >> book1.Author;
  cout << "Введите название: ";
  cin >> book1.Title;
  cout << "Введите год издания: ";
  cin >> book1.Year;
  cout << "Введите цену: ";
  cin >> book1.Price;
  cout << "Введите количество книг: ";
  cin >> book1.Number;
  return book1;
  }
 
// Вывод информации о книге на экран
void OutputBook(Book book1)
  {
  cout << book1.Author << " ";
  cout << book1.Title << " ";
  cout << book1.Year << " ";
  cout << book1.Price<< " ";
  cout << book1.Number<< " " <<endl;
  }
 
// Ввод информации о магазине с клавиатуры
void InputShop(Shop *Shop1)
  {
  cout << "Введите название магазина:  ";
  cin >> Shop1->Name;
  cout << "Введите количество книг, не превышающее "<< MAX_BOOK << ": ";
  cin >> Shop1->N;
  cout << endl;
  for (int i=0; i<Shop1->N; i++)
    {
    cout << "Введите информацию о " << (i+1) << "-ой книге"<<endl;
    Shop1->book1[i]=InputBook();
    cout << endl;
    }
  }
 
// Вывод информации о магазине на экран
void OutputShop(Shop Shop1)
  {
  cout << "Список книг в магазине " << Shop1.Name << "\n";
  for(int i=0; i<Shop1.N; i++) OutputBook(Shop1.book1[i]);
  }
 
 
// Основная функция
  int main()
  {
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  int choose;
  Shop Shop1;
  InputShop(&Shop1);
 
  label:
  cout<<"Введите:"<<endl<<"1 - для вывода книг по фамилии автора"<<endl<<"2 - для сортировки книг по году издания"<<endl;
  cout<<"3 - для выхода из программы"<<endl;
  cin >> choose;
 
 
 switch (choose)
 {
 case 1:
 outpa(Shop1);
 break;
 
 case 2:
 sort(Shop1);
 OutputShop(Shop1);
 break;
 
 case 3:
 break;
 break;
 
 default:
 cout<<"Неверный ввод."<<endl;
 goto label;
 break;
 }
 
  system ("pause");
  return 0;
  }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru