Re: Игнорировать пробел
Добавлено: 10 дек 2009, 18:50
Сбрасываю абсолютно весь код:
Код: Выделить всё
#include<string.h>
#include<iostream.h>
#include <conio.h>
#include <stdlib.h>
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[] =
{
{ "Winer R.S.", "Jasik Turbo C++", "M", "Mir", 1991, 384 },
{ "Stroustrup B.", "Jasik C++", "Kiev", "DiaSoft", 1993, 560 },
{ "Turbo C++", "Rukovodstvo programmista", "M", "INTKV", 1991, 394 },
{ "Lippman S.B.", "C++ dlj nachinauchih", "M", "GELION", 1993, 496 }
};
void main()
{
card add;
int m = 0, j = 0, ch;
record *begin = NULL, //указатель на начало списка
*last = NULL, //указатель на очередную запись
*list; //указатель на элементы списка
do
{
_cputs( "Prodolzhit ili vyiti (D-prodolzhit; V-vyiti)? " );
ch = _getch();
_cputs( "\r\n" );
if( toupper( ch ) == 'V' )
exit( 1 );
}while(toupper( ch ) != 'D');
cout << "Skolko dobavit sapisey: ";
cin >> j; //какую цифру введем, столько и будет добавлено записей
//n - кол-во записей в списке
int n = sizeof(books)/sizeof(books[0]);
m = n;
for(int i = 0; i < m+j; ++i)
{
//Создать новую запись (элемента списка)
last = new(record);
if( m <= i )
{
add.author = new char[50];
cin.getline(add.author, 50);
books[n].author = add.author;
add.title = new char[30];
cin.getline(add.title, 30);
books[n].title = add.title;
add.city = new char[20];
cin.getline(add.city, 20);
books[n].city = add.city;
add.firm = new char[20];
cin.getline(add.firm, 20);
books[n].firm = add.firm;
cin >> add.year;
books[n].year = add.year;
cin >> add.pages;
books[n].pages = add.pages;
n++;
}
//Занести сведения о книге в новую запись
(*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(list->next == NULL)
{
last->next = NULL;
last->prior = list;
list->next = last;
break;
}
list = list->next;
}
}
}
list = begin;
cout << '\n';
while(list)
{
printbook(list->book);
list = list->next;
}
if( j != 0 )
{
delete [] add.author;
delete [] add.title;
delete [] add.city;
delete [] add.firm;
}
cout << endl << endl;
}