Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Макрос прототипа функции https://www.cyberforum.ru/ cpp-beginners/ thread986463.html
Существует ли он? __FILE__ подставляет путь к файлу, в котором находится строка, в которой применён макрос. __LINE__ номер строки, в которой применён макрос. А есть что то подобное для прототипа функции, в которой находится строка, в которой применён макрос? Как зовут такой макрос? Например, #include <iostream> int f(int x); double f(char x); int main (int argc, char *argv) { int i; ...
C++ Чем отличаются эти функции?
Аргумент в первой функции передается по значению. Это значит что создается копия переменной. А вот остальные не понимаю. void f1(int a) { a = a * a; } void f2(int &a) { a = a * a; } void f3(int *a) { *a = *a * *a; } void f4(int *&a) { *a = *a * *a; }
C++ синус и косинус Ряда Тейлора https://www.cyberforum.ru/ cpp-beginners/ thread986443.html
нужно задать диапазон до pi/4 что бы в ряде тейлора было меньше сумм помогите оптимизировать #include <iostream> #define _USE_MATH_DEFINES #include <math.h> using namespace std; int main() { int i,s; double z,n,x0,x,n2,y1,y2;
C++ Ошибка вывода данных в файл Помогите найти ошибку. Есть программа, которая выводит массив f из р=53 строк. В первой колонке х - целые числа от -26 до 26, во второй некоторые данные у(х) (приближенно у(х)-кубическая парабола). В третьей - результат аппроксимации полиномом третьей степени. Создается файл "D:\\new.txt", но в него записывается нечто странное: -26 2.42703e+200 -6.27744e+066 2.42703e+200... https://www.cyberforum.ru/ cpp-beginners/ thread986432.html
C++ Написать программу структурного описания каталога одной книги
//2. Написать следующие функции: // - вывести список всех книг; // - обеспечить хранение книг в следующей последовательности: авторы по алфавиту,книги по алфавиту; // - проверить наличие определенной книги в магазине; // - обеспечить поступление новых книг в магазин; // - обеспечить возможность списания книг (продано); // - поиск по названию, вывести информацию о книге;...
C++ Имя парамтера макроса Есть функция, её вызов надо так завернуть в макрос, чтоб в один из параметров функции передавать имя параметра макроса. Как написать макрос, подставляющий имя своего параметра? https://www.cyberforum.ru/ cpp-beginners/ thread986402.html
C++ Использование this в методе класса Добрый день! Пытаюсь написать класс красно-чёрного дерева. Вот фрагмент класса: class Tree { long value; Tree* parent; Tree* leftSon; Tree* rightSon; Tree() {} Insert( long val ) https://www.cyberforum.ru/ cpp-beginners/ thread986382.html Лабораторная по циклам C++
Помогите сделать лабораторную работу! Заранее благодарен!
C++ Вычислить значение выражения (по ссылке и по указателю) Пожалуйста, помогите написать функция для S(x) передачей аргументов в функцию по ссылке и указателю. S(x)=(cos(k*Pi / 4)/!k)*pow(x,k) https://www.cyberforum.ru/ cpp-beginners/ thread986354.html C++ Поворот матрицы Нужно повернуть квадратную матрицу на 180 градусов. У меня не поворачиваются все елементы кроме двух... http://www.************/uploads/131024/IJWj4X3u0V_thumb.jpg Код программы // randomMatrix.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <stdlib.h> #include <time.h> https://www.cyberforum.ru/ cpp-beginners/ thread986348.html
Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке: C++
Есть задание: Заданный файл f, компоненты которого являются целыми числами. Ни один из компонентов файла не равна нулю. Числа в файле идут в следующем порядке: 10 положительных, 10 отрицательных и т.д. Переписать компоненты файла f в файл g так, чтобы в файле g числа шли в следующем порядке: 5 положительных, 5 отрицательных, 5 положительных, 5 отрицательных и т.д. Уважаемые, программисты,...
C++ Указатели Доброй ночи! Вот столкнулась с такой проблемой, нужно из одной функции в другую перенести переменную number через указатель, что у меня никак не хочет получаться, осталась надежда только на знатоков Оставила пустыми места идентификации функций в связи с тем, что там, я так поняла, надо помещать указатели, а у меня с ними вот такая беда void input_struct() { int number; int... https://www.cyberforum.ru/ cpp-beginners/ thread986344.html
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 13:19  [ТС] 0

Как отсортировать структуру - C++ - Ответ 5228881

24.10.2013, 13:19. Показов 2402. Ответов 15
Метки (Все метки)

Ответ

а попробуйте пожалуйста весь мой код пункт 4 и 5 , будет у Вас работать или нет?
Большое спасибо
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#include<iostream>
using namespace std;
#include<conio.h>
#include<clocale>
#include<stdlib.h>
#include<ctime>
#include<iomanip>
#include<cmath>
#include<stdio.h>
 
#include<windows.h>
enum ConsoleColor{Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray, DarkGray, LightBlue, LightGreen, LightCyan, LightRed, LightMagenta, Yellow, White};
 
void SetColor(ConsoleColor text, ConsoleColor background)
{ 
   HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
   SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
//1. Напишите программу структурного описания каталога одной книги.
//2. Написать следующие функции:
//    - вывести список всех книг;
//    - обеспечить хранение книг в следующей последовательности: авторы по алфавиту,книги по алфавиту;
//    - проверить наличие определенной книги в магазине;
//    - обеспечить поступление новых книг в магазин;
//    - обеспечить возможность списания книг (продано);
//    - поиск по названию, вывести информацию о книге;
//    - поиск по автору, вывести список его книг.
struct Books
{
    char *Nazvan;
    char *Name_avtor;
    int Yaer_izd;
    int Stranic;
    double Cena;
};  
//    - вывести список всех книг;
void print(Books *pKatalog, const int a)
{
    SetColor(Green,Black);
    cout<<"\nСписок всех книг"<<endl;
for(int i=0; i<a; i++)
    {   
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;       
    }
SetColor(White,Black);
}
 
//-авторы по алфавиту
void alf_avtor(Books *pKatalog, const int a)
{
    SetColor(Green,Black);
    cout<<"\n"<<"Авторы по алфавиту"<<endl; 
    int i, j;
    Books temp;
    for(i=1;i<a;i++){  
        temp = pKatalog[i]; 
        
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Name_avtor,temp.Name_avtor)>0;j--)
            pKatalog[j+1]=pKatalog[j];      
            pKatalog[j+1] = temp; 
    }
    for(i=0;i<a;i++)
        puts( pKatalog[i].Name_avtor);
    SetColor(White,Black);
}
 
//-книги по алфавиту
void alf_boks(Books *pKatalog, const int a)
{
    SetColor(Green,Black);  
    cout<<"\n"<<"Книги по алфавиту"<<endl;
    int i, j;
    Books temp;
    for(i=1;i<a;i++)
    {  
        temp= pKatalog[i]; 
        
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Nazvan,temp.Nazvan)>0;j--)    {   
            pKatalog[j+1]=pKatalog[j];          
        }
            pKatalog[j+1] = temp; 
            
            
    }   
    for(i=0;i<a;i++)
        puts( pKatalog[i].Nazvan);
    SetColor(White,Black);
}
 
//???????????????????????????????????????????????????????????????????????
//    - поиск по названию, вывести информацию о книге
// 2.Если мне нужно ввести полное название книги, как это сделать, gets он игнорирует, просто пропускает, так же и cin.getline, иногда бывают предупреждения заменить на функции gets_s и scanf_s но результат от этого не меняется
void nazv_poisk(Books *pKatalog, const int a)
{
    char name_bok[80];
    cout<<"\nВведите название книги\n";
    SetColor(Green,Black);
 
    scanf ("%s",&name_bok);
    int i=0;
    /*gets(name_bok);*/
    /*cin.getline(name_bok, 80);*/
    /*cin>>name_bok;*/
for(; i<a; i++)
    {
    if(strstr(pKatalog[i].Nazvan, name_bok))
      {      
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;   
      }
    }
if(!(strstr(pKatalog[i].Nazvan, name_bok)))
{
    SetColor(Red,Black);
    cout<<"Нет в наличии\n";
}
 
SetColor(White,Black);
}
//???????????????????????????????????????????????????????????????????????
 
//???????????????????????????????????????????????????????????????????
//    - обеспечить поступление новых книг в магазин
// 3.Опять проблемы с вводом
void new_boks(Books *pKatalog, const int a)
{
    int col;
    cout<<"\nВведите количество книг, которое Вы хотите добавить\n";
    cin>>col;
 
    Books *pNewBok=new Books[a+col];
 
    for(int i=0,k=0; i<a+col; i++)
    {
        if(i<col)
        {
            cout<<"Введите название книги\n";
            scanf ("%s",pNewBok[i].Nazvan);
            cout<<"Введите имя автора\n";
            gets(pNewBok[i].Name_avtor);
 
            cout<<"Введите год издания книги\n";
            cin>>pNewBok[i].Yaer_izd;
            cout<<"Введите количество страниц книги\n";
            cin>>pNewBok[i].Stranic;
            cout<<"Введите цену книги\n";
            cin>>pNewBok[i].Cena;
        }
        else
        {
            pNewBok[i]=pKatalog[k];
            k++;
        }
    }
    for(int i=0; i<a+col; i++)
    {   
        cout<<pNewBok[i].Nazvan<<" "; 
        cout<<pNewBok[i].Name_avtor<<" ";
        cout<<pNewBok[i].Yaer_izd<<" ";
        cout<<pNewBok[i].Stranic<<" ";
        cout<<pNewBok[i].Cena<<endl;        
    }
    delete []pKatalog;
    pKatalog=pNewBok;
    //print(pNewBok, a);
}
//?????????????????????????????????????????????????????????????????????????
 
//    - поиск по автору, вывести список его книг
void avtor_poisk(Books *pKatalog, const int a)
{
    char name_avt[40];
    cout<<"\nВведите имя автора книги\n";
    SetColor(Green,Black);
    scanf ("%s",name_avt);
 
    /*gets(name_bok);*/
    /*cin.getline(name_bok, 40);*/
    /*cin>>name_bok;*/
    bool flag=false;
for(int i=0; i<a; i++)
    {
    if(strstr(pKatalog[i].Name_avtor, name_avt))
      {
          flag=true;
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;   
      }
    }
if(!flag)
{
    SetColor(Red,Black);
    cout<<"Нет в наличии\n";
}
 
SetColor(White,Black);
} 
 
 
void (*boks[6])(Books *, const int)={print, alf_avtor, alf_boks/*, nalichie*/, new_boks, /*delete_buks,*/ nazv_poisk, avtor_poisk};
 
void main()
{
    setlocale(LC_CTYPE,"rus");
    const int size=5;
    int point;
    Books Katalog[size]={{"Osnovu programmirovaniy", "Harvi Deitl", 1998, 1078,380},{"The Changed Man and the King of Words", "Card, Orson Scott", 2010, 950,400},{"Yazuk programmirovaniy C", "Gerbert Shildt", 2012, 1078,500},{"Programmirovanie na C++", "Harvi Deitl", 2000, 1020,315},{"Neznayka na lune", "Nikolay Nosov", 1997, 1000,320}};
    Books *pKatalog=new Books[size];
 
    for(int i=0; i<size; i++)
    {       
        pKatalog[i]=Katalog[i];             
    }
    
    cout<<"\t\tВыберите пункт меню\n";
    do{
    cout<<"\nВывести список всех книг (1)\nОбеспечить хранение книг в следующей последовательности:\n  -авторы по алфавиту (2)\n  -книги по алфавиту (3)\n"<</*Проверить наличие определенной книги в магазине (4)\n*/"Обеспечить поступление новых книг в магазин (4)\n"/*Обеспечить возможность списания книг (продано) (6)\n*/<<"Поиск по названию, вывести информацию о книге (5)\nПоиск по автору, вывести список его книг (6)\nВыход (0)\n";
    cin>>point; 
    if(!point)
        break;
        (*boks[point-1])(pKatalog, size);
    }while(point);
}


Вернуться к обсуждению:
Как отсортировать структуру C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2013, 13:19
Готовые ответы и решения:

Как отсортировать структуру?
В чем здесь ошибка? Нужно записать во второй файл структуру, отсортированную по параметру number....

Как отсортировать структуру?
Нужно отсортировать по number, и записать в новый файл. #include &quot;stdafx.h&quot; #include &lt;fstream&gt;...

Как отсортировать структуру по убыванию
#include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using...

Как отсортировать по алфавиту структуру
Здравствуйте, мальчики. Я делала программу, которая содержит прайс лист: -названия товара...

15
24.10.2013, 13:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2013, 13:19
Помогаю со студенческими работами здесь

Как отсортировать структуру с полями string по алфавиту
Народ выручайте!!!! Нужно сделать сортировку по полю string Fname(по фамилии), всё сделал только...

Отсортировать структуру
Начал изучать структуры. Разобрался как вводить и выводить, но при попытке вывести через отдельную...

Отсортировать структуру
Задание такое Описать структуру с именем Train содержащую следующие поле. nazn-название пункта...

отсортировать структуру
Всем привет, вот такой вопрос, не получается правильно отсортировать следующую структуру по z...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru