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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Макрос прототипа функции http://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; } http://www.cyberforum.ru/cpp-beginners/thread986454.html
синус и косинус Ряда Тейлора C++
нужно задать диапазон до 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...
C++ Написать программу структурного описания каталога одной книги http://www.cyberforum.ru/cpp-beginners/thread986426.html
//2. Написать следующие функции: // - вывести список всех книг; // - обеспечить хранение книг в следующей последовательности: авторы по алфавиту,книги по алфавиту; // - проверить наличие определенной книги в магазине; // - обеспечить поступление новых книг в магазин; // - обеспечить возможность списания книг (продано); // - поиск по названию, вывести информацию о книге;...
C++ Имя парамтера макроса Есть функция, её вызов надо так завернуть в макрос, чтоб в один из параметров функции передавать имя параметра макроса. Как написать макрос, подставляющий имя своего параметра? подробнее

Показать сообщение отдельно
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 14:00     Как отсортировать структуру
В общем первая ошибка была в том, что он вылетал с Access Violation при первом же обращении к pNewBok.Nazvan, вылечил тем, что выделяю память под char* Nazvan и char* Name.
Вторая ошибка была в том, что он при первом же getline берет откуда-то \0, я покопался в дебагере, так и не понял откуда он его тащит. Решил просто дублированием захвата строки.

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
void new_boks(Books *pKatalog, const int a)
{
    int col=0;
    cout<<"\nNumber\n";
    cin>>col;
    Books* pNewBok = new Books[a+col];
    for(int i=0,k=0; i<a+col; i++)
    {
        if(i<col)
        {
            pNewBok[i].Nazvan = new char[100];
            pNewBok[i].Name_avtor = new char[100];
            cout<<"Caption\n";
            cin.getline(pNewBok[i].Nazvan, 100);
            cin.getline(pNewBok[i].Nazvan, 100);
            cout<<"Name\n";
            cin.getline(pNewBok[i].Name_avtor, 100);
 
            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);
}
Это по 4ому пункту. Пятый пункт не смотрел, думаю там что-то похожее.
 
Текущее время: 01:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru