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

Не выводит список на экран - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти точку http://www.cyberforum.ru/cpp-beginners/thread647194.html
вводится N- количество домов и К- количество дорог. дома пронумерованы от 1 до N. каждая дорога определяется тройкой чисел- двумя номерами домов- концов дороги и длиной дороги. в каждрм доме живет по...
C++ Блок схема Челночной сортировки Очень нужна блок схема Челночной сортировки!!! http://www.cyberforum.ru/cpp-beginners/thread647191.html
C++ заданы координаты сторон треугольника
если треугольник существует, то найти его площадь. решить задачу с использованием функций
дано число в К-ичной системе счисления C++
an an-1 ...а0 (К<=36). найти остаток от деления его на m. числа К,n,m, как и остаток от деления на m, представляются в десятичной системе счисления.
C++ Программа выдает не правильный результат http://www.cyberforum.ru/cpp-beginners/thread647180.html
Задание: Задана прямоугольная матрица размером N x M вещественных 8-ми байтовых чисел и вектор B(M) вещественных 8-ми байтовых чисел. Написать прогу формирующую новую матрицу из исходной путем...
C++ Изображения в wxWidgets Необходимо создать wxBitmapButton и установить ей картинку из файла относительно местоположения к программе, например, "data\\img.jpg". При попытке сделатьwxBitmap bmp(_("data\\img.jpg"),... подробнее

Показать сообщение отдельно
Андрей979
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 22

Не выводит список на экран - C++

05.09.2012, 18:12. Просмотров 512. Ответов 9
Метки (Все метки)

Здравствуйте!
Проблема вот в чем: при запуске программы ошибок не возникает, только мигнет черное окошко и все.
Отлаживая программу выяснил, что проблемма находится тут, операция присваивания не происходит, пишет невозможно вычислить выражение:
C++
1
2
3
4
5
6
7
8
9
10
int n = sizeof(books);
for (int i = 0; i < n; i++)
{
    last = new(record);
    (*last).book.author = books[i].author;
    (*last).book.title = books[i].title;
    last->book.city = books[i].city;
    last->book.firm = books[i].firm;
    last->book.year = books[i].year;
    last->book.pages = books[i].pages;
Суть программы в выводе на экран списка из: автора, названия книги, год и т.п.
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
#include <string.h>
#include <iostream>
#include <conio.h>
using namespace std;
struct card {
    char *author;
    char *title;
    char *city;
    char *firm;
    int year;
    int pages;
};
void printbook (card &car)
{ static int count = 0;
cout <<"\n"<<++count<<". "<<car.author;
cout <<' '<<car.title<<".- "<<car.city;
cout <<": "<<car.firm<<", ";
cout <<"\n"<<car.year<<".- "<<car.pages<<"c.";
}
struct record
{
    card book;
    record *prior;
    record *next;
};
card books[] = {
    {"wiener R.S. ", "Turbo","M","Mir", 1991,384},
    {"wiener R.S. ", "Turbo","M","Mir", 1991,384},
    {"wiener R.S. ", "Turbo","M","Mir", 1991,384},
    {"wiener R.S. ", "Turbo","M","Mir", 1991,384},
};
int main()
{
    record *begin = NULL;
record *last = NULL;
record *list;
int n = sizeof(books);
for (int i = 0; i < n; i++)
{
    last = new(record);
    (*last).book.author = books[i].author;
    (*last).book.title = books[i].title;
    last->book.city = books[i].city;
    last->book.firm = books[i].firm;
    last->book.year = books[i].year;
    last->book.pages = books[i].pages;
    if (begin = NULL)
    {last->prior = NULL;
    begin = last; last->next = NULL;
    }
    else
    {
        list = begin;
        while (list)
        {if(strcmp(last->book.author,list->book.author)<0)
        {
            if (begin == list)
            {
                last->prior = NULL;
                begin = last;
            }
            else
            {list->prior->next = last;
            last->prior = list->prior;
            }
            list->prior = last;
            last->next = list;
            break;
        }
        if (list->next == NULL)
        {
            last->next = NULL;
            last->prior = last;
            list->next = last;
            break;
        }
        list = list->next;
        }
        
    }
    }
    list = begin;
    cout<<'\n';
    while (list)
    {
        printbook (list->book);
        list =  list->next;
    }
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru