Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 10:48   #1
hidraulik
Новичок
Джуниор
 
Регистрация: 08.12.2009
Сообщений: 1
По умолчанию Удаление строки из двумерного динамического массива

Написал код который добавляет в массив структур новый элемент. Но не получается написать функцию void del удаляющую из этого массива элемент по названию книги.
Код:
#include <iostream> 
#include <windows.h> 
#include <string.h> 
using std::cout; 
using std::cin; 
using std::endl; 
struct s_books   
{ 
    int data; 
    char book_name[40]; 
    char avtor[30]; 
    char ganre[30]; 
    int price; 
    int reiting; 
    int ID; 
}books; 
void add (s_books *&book, int &size)  
{  
  s_books *temp = new s_books[++size];  
  for(int i = 0; i < size - 1; i++)  
  {  
    temp[i].data=book[i].data;  
    strcpy_s(temp[i].book_name,book[i].book_name);  
    strcpy_s(temp[i].avtor,book[i].avtor);  
    strcpy_s(temp[i].ganre,book[i].ganre);  
    temp[i].price=book[i].price;  
    temp[i].reiting=book[i].reiting;  
    temp[i].ID=book[i].ID;  
  }  
  cout<<"Год издания: ";  
  cin>>temp[size - 1].data;  
  cout<<"Название: ";  
  cin>>temp[size - 1].book_name;  
  cout<<"Автор: ";  
  cin>>temp[size - 1].avtor;  
  cout<<"Жанр: ";  
  cin>>temp[size - 1].ganre;  
  cout<<"Цена: ";  
  cin>>temp[size - 1].price;  
  cout<<"Рейтинг: ";  
  cin>>temp[size - 1].reiting;  
  cout<<"Код: ";  
  cin>>temp[size - 1].ID;  
   
  delete[] book;  
  book = new s_books[size];  
 
  for(int i = 0; i < size; i++)  
  {  
    book[i].data = temp[i].data;  
    strcpy_s(book[i].book_name,temp[i].book_name);  
    strcpy_s(book[i].avtor,temp[i].avtor);  
    strcpy_s(book[i].ganre,temp[i].ganre);  
    book[i].price = temp[i].price;  
    book[i].reiting = temp[i].reiting;  
    book[i].ID = temp[i].ID;  
  }  
  delete[] temp;  
} 
void del (s_books *&book, int &size)  
{  
 
} 
void All_kat(s_books *book, int size) 
{ 
    for(int i=0;i<size;i++) 
    { 
                cout<<book[i].data<<" "<<book[i].book_name<<" "<<book[i].avtor<<" "<<book[i].ganre<<" "<<book[i].price<<" "<<book[i].reiting<<" "<<book[i].ID<<endl; 
 
    } 
} 
void main() 
{ 
    SetConsoleOutputCP(1251); 
    SetConsoleCP(1251); 
    const int const_size=5; 
    s_books books[const_size]={1971,"Гидравлика","Башта Т.М.","Гидравлика",45,5,1, 
                                1983,"Черчение","Боголюбов С.К.","Черчение",50,2,2, 
                                1987,"Машиностроительное черчение","Мерзон Э.Д.","Черчение",45,1,3, 
                                1975,"Объемные насосы","Васильцов Э.А.","Гидравлика",45,3,4, 
                                1996,"Хранители Кодекса Люцифера","Дюбель Р.П.","Детектив",70,4,5, 
                                }; 
    int size=5; 
    s_books *book; 
    book=new s_books[size]; 
    for (int i = 0; i < size; i++ ) 
    { 
    book[i]=*&books[i]; 
    } 
                 
    while(1) 
    { 
    cout<<"\n------------------------------------"<<endl; 
    cout<<"\n1-Добавить\t2-Все категори\t3-Удалить\t0-Выход"<<endl; 
        cout<<"\nВыберите действие из команд главного меню "; 
        int key; 
        cin>>key; 
        if(key>3){break;} 
        if(key==1) 
        { 
            cout<<"\nВведите данные книги"<<endl; 
            add(book,size); 
        } 
        if(key==2) 
        { 
            cout<<"\nВсе книги"<<endl; 
            All_kat(book,size); 
        } 
        if(key==3) 
        { 
            cout<<"\nВведите данные книги"<<endl; 
            del(book,size); 
        } 
        if(key==0){break;break;} 
    } 
}
hidraulik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление динамического массива Сергей089 Общие вопросы C/C++ 3 08.03.2009 13:13
Удаление элементов из динамического массива dashulka Общие вопросы Delphi 4 31.10.2008 14:03
Удаление элемента динамического массива Dogmat Помощь студентам 6 13.07.2008 14:33
Удаление записи из динамического масива... Altera Общие вопросы Delphi 4 09.06.2008 09:15
СОХРАНИЯ В ФАЙЛ ДВУМЕРНОГО ДИНАМИЧЕСКОГО МАСИВА!!!! _FL@ER_ Помощь студентам 2 23.06.2007 16:31