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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 22:29   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Динамика

В общем что-то особо не подружился с динамикой в С++. не могли бы указать в коде, где ошибся, и почему, заранее благодарен)
Код:
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <string.h>
struct str{
        string name[10];
        string fio[10];
};
void main(){
str *man[10];
string ff;
int mainkey;
while(mainkey!=4){
        cout<<"\n 1:add 2:print 3:del 4:exit ";
                cin>>mainkey;
switch(mainkey){
case 1: for(int i=0;i<10;i++){man[i]=new str();
cout<<"\n insert name: ";
cin>>man[i]->name;
cout<<"\n insert fio: ";
cin>>man[i]->fio;}
case 2:for(int i=0;i<10;i++)
{
cout<<"\n name: "<<man[i]->name;
cout<<"\n fio: "<<man[i]->fio;
}
case 3:cout<<"\n insert fio del person: ";cin>>ff;for(int i=0;i<10;i++){if(ff==man[i]->fio){delete []man[i]->name;delete []man[i]->fio;}}
}

}
}
CodeNOT вне форума Ответить с цитированием
Старый 11.11.2010, 22:46   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

0.
Код:
struct str{
        string name[10];
        string fio[10];
};
Ничего, что структура состоит из 10 строк name и 10 fio? Точно это хотели написать? Может так:
Код:
struct str
{
  string name;
  string fio;
}
1. Забыты break в switch ... case
2. Память выделяется под str целиком, а удаляется почему-то частями.
Раз у нас man[i] = new str()
значит для удаления нужно:
delete man[i];
3. После удаления элемента не получится вывести массив на экран, т.к. удалённый элемент будет ссылаться на "мусор" и при попытке обращения к непонятно чему произойдёт непонятно что.

Последний раз редактировалось pu4koff; 11.11.2010 в 22:49.
pu4koff вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамика Aleksandr Свободное общение 0 11.06.2010 13:10
C++. Динамика. bpystep Помощь студентам 23 11.12.2009 16:20
Delphi динамика tanek Помощь студентам 3 18.10.2009 19:52
Динамика. Выручайте Sined121 Паскаль, Turbo Pascal, PascalABC.NET 3 06.05.2009 10:30