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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2009, 19:20   #1
nexUS1
Новичок
Джуниор
 
Регистрация: 29.12.2009
Сообщений: 3
По умолчанию статический ----> динамический . Помогите

Есть программа, нужно статический массив заменить на динамический. Как будет выглядеть?

PHP код:
#include <iostream>
#include <windows.h>
#include <fstream>
#include <cstdlib>
#include <cstring>
using namespace std;
// Определение структуры
struct sotrudnik
{// определение полей
    // фамилия
    
char ns[40];
    
// должность
    
char nz[40];
    
// год рождения
    
double ob;
    
// заработанная плата
    
char avt[30];
};
// Главная функция
void main()
{
// Объявление массивов объектов структуры
    
sotrudnik d[3];
    
sotrudnik dt[4];
 
// Объявление потока записи информации в файл
    
ofstream f;
 
// Объявление необходимых строк
    
char str0[30], str1[80], str2[80], str3[80], str4[80], str5[80], s[80], str[80];
    
    
CharToOemA("Введите путь к файлу \n",str);
    
cout<<str;
    
cin>>s;
 
// связывание потока записи с файлом
    
f.open(s);
 
// проверка успешности открытия файла
    
if(f.fail())   {cout<<"\n oshibka otkritiya faila";
                    exit(
1);
                   }

CharToOemA(" Введите информацию о сотруднике ",str1);
    
CharToOemA("\n фамилия: ",str2);
    
CharToOemA("\n год рождения : ",str3);
    
CharToOemA("\n должность: ",str4);
    
CharToOemA("\n заработанная плата: ",str5);
    
CharToOemA("-й сотрудник ",str0);
int i;    
    for(
i=0;i<3;i++)
      {
cout<<"\n"<<i+1;
       
cout<<str0;
       
cout<<str1;
       
cout<<str2;
       
cin>>d[i].ns;
       
cout<<str3;
       
cin>>d[i].ob;
       
cout<<str4;
       
cin>>d[i].nz;
       
cout<<str5;
       
cin>>d[i].avt;
       
cout<<"\n \n";
      }
CharToOemA(" Введенная информация о сотрудниках ",str1);
f<<str1;
    for(
i=0;i<3;i++)
      {
f<<"\n"<<i+1;
       
f<<str0;
       
f<<str2;
       
f<<d[i].ns;
       
f<<str3;
       
f<<d[i].ob;
       
f<<str4;
       
f<<d[i].nz;
       
f<<str5;
       
f<<d[i].avt;
       
f<<"\n \n";
      }
// Удаление элемента из массива по названию
       
char p1[40], *p2[40],*p3[40];  
       
CharToOemA("\n Ввести фамилию удаляемого сотрудника: ",str);
       
cout<<str;
       
cin>>p1;
       for(
i=0;i<3;i++)
       {*
p2=d[i].ns;
       *
p3=p1;
       
int t;
         
t=strcmp(*p3,*p2);
       if(
t==0
       {
d[i]=d[i+1]; 
       
CharToOemA("\nУдаляем  ",str);
       
CharToOemA("  сотрудник  \n",str1);
       
cout<<str<<i+1<<str1;}
       else {
CharToOemA("-й не указанный сотрудник \n",str);
       
cout<<i+1<<str;       }
      }

CharToOemA("\n Список после удаления выбранного элемента \n",str);
    
f<<str;
    for(
i=0;i<2;i++)
      {
f<<"\n"<<i+1;
       
f<<str0;
       
f<<str2;
       
f<<d[i].ns;
       
f<<str3;
       
f<<d[i].ob;
       
f<<str4;
       
f<<d[i].nz;
       
f<<str5;
       
f<<d[i].avt;
       
f<<"\n \n";
      }

cout<<"\n\n";
int k;
// Добавление новых элементов в список
    
CharToOemA("\n Добавление новых элементов \n",str);
    
cout<<str;
    
CharToOemA("\n Ввести количество элементов: ",str);
    
cout<<str;
    
cin>>k;
    for(
i=0;i<2;i++)
      {
dt[i]=d[i];
      }
    for(
i=2;i<2+k;i++)
      {
cout<<"\n"<<i+1;
       
cout<<str1;
       
cout<<str2;
       
cin>>dt[i].ns;
       
cout<<str3;
       
cin>>dt[i].ob;
       
cout<<str4;
       
cin>>dt[i].nz;
       
cout<<str5;
       
cin>>dt[i].avt;
       
cout<<"\n \n";
      }

 
CharToOemA("\n Список после добавления новых элементов \n",str);
    
f<<str;
    for(
i=0;i<2+k;i++)
      {
f<<"\n"<<i+1;
       
f<<str0;
       
f<<str2;
       
f<<dt[i].ns;
       
f<<str3;
       
f<<dt[i].ob;
       
f<<str4;
       
f<<dt[i].nz;
       
f<<str5;
       
f<<dt[i].avt;
       
f<<"\n \n";
      }
// Закрытие файла
    
f.close();
    
cout<<endl;

nexUS1 вне форума Ответить с цитированием
Старый 29.12.2009, 20:10   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от nexUS1 Посмотреть сообщение
нужно статический массив заменить на динамический
Какой именно массив?
Carbon вне форума Ответить с цитированием
Старый 29.12.2009, 20:13   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Юзаем STL
Типа так
Код:
int *array;
array = new int[arraysize];
***
delete[] array;
//А почему на форуме нету подсветки С++ ? 0_О
Levsha100 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать параметру записи, что в нем параметр это статический массив с данными? SkAndrew Общие вопросы Delphi 6 26.06.2009 02:02
Как изменить статический приватный член класса?? 3dgraph Помощь студентам 2 07.05.2009 20:06
Помогите создать динамический массив из статического в готовой проге!) Sitis Помощь студентам 12 16.04.2009 11:04
помогите: динамический массив в структуре tangar Общие вопросы C/C++ 4 28.12.2006 12:42