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

Выделение памяти в структурах - C++

Восстановить пароль Регистрация
 
Vit_as
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 10
29.06.2010, 01:47     Выделение памяти в структурах #1
Есть структура:
[code]
struct Baze
{
char artist[30];
char kompoz[30];
int year;
char album[30];
};
int write(void) //Запись
{
int k,i;
Baze baze[50];
Baze baze1[50];
FILE *fp;

fp=fopen('data.txt', 'a+');

fwrite(&k, sizeof(int),1,fp);
for (i=0; i<k; i++)
{
clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');
printf(' „®Ў*ў«Ґ*ЁҐ *®ўле ¤***ле

');

printf('
?бЇ®«*ЁвҐ«м: ');
gets(baze[i].artist);
gets(baze[i].artist);

printf('
Љ®¬Ї®§ЁжЁп: ');
gets(baze[i].kompoz);

printf('
ѓ®¤: ');
scanf('%d',&baze[i].year);

printf('
Ђ«мЎ®¬: ');
gets(baze[i].album);
gets(baze[i].album);

fwrite(&baze[i], sizeof(struct Baze), 1, fp);
}

fclose( fp);
}
int view(void)
{
int k,i,n,d,p,j;
Baze baze[50];
Baze baze1[50];
FILE *fp;

printf('
‚ўҐ¤ЁвҐ Ї*а*¬Ґвал бЇЁбЄ*
');
printf('
1-ЋЎлз*л©');
printf('
2-‘®авЁа®ўЄ* Ї® **§ў**Ёо ЁбЇ®«*ЁвҐ«п');
printf('
3-‘®авЁа®ўЄ* Ї® **§ў**Ёо Є®¬Ї®§ЁжЁЁ');
printf('
4-‘®авЁа®ўЄ* Ї® **§ў**Ёо *«мЎ®¬*');
printf('
‚лЎ®а: ');
scanf('%d',&n);

clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');

cout << '
';


fp=fopen('data.txt', 'r');

fseek(fp,0,SEEK_END);
d = ftell(fp);
d = d/100; //Сколько записей находится в данный момент в базе

fseek(fp,0,SEEK_SET);

if( fp == NULL)
{
cout << '
No File';
return 0;
}

for(i=0; i<d; i++)
{
fread(&k, sizeof(int), 1, fp);
printf(' %d).',i+1);
fread(&baze1[i], sizeof(struct Baze), 1, fp);

printf('

?бЇ®«*ЁвҐ«м: %s
', baze1[i].artist);
printf(' Љ®¬Ї®§ЁжЁп: %s
', baze1[i].kompoz);
printf(' ѓ®¤: %d
', baze1[i].year );
printf(' Ђ«мЎ®¬: %s


', baze1[i].album);
p++;
}

fclose( fp);

getch();
return 0;
}
int main(void)
{

Baze baze[50];
Baze baze1[50];
int a, n, i, p, k, d, f,l,j,g;
char find[20];
int ptr[100];
char *str;
char *s;
p=0;

first:
clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');
printf(' ‚лЎҐаҐвҐ *®¬Ґа ¤Ґ©бвўЁп:
');
printf('
1-„®Ў*ў«Ґ*ЁҐ ¤***ле
');
printf(' 2-“¤*«Ґ*ЁҐ ¤***ле
');
printf(' 3-Џа®б¬®ва Ѓ*§л „***ле
');
printf(' 4-Џ®ЁбЄ
');
printf(' 0-‚л室

');
printf(' ‚лЎ®а: ');
FILE *fp;
scanf('%d&
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2010, 01:47     Выделение памяти в структурах
Посмотрите здесь:

Выделение памяти C++
Выделение памяти C++
C++ Выделение памяти (new)
Выделение памяти C++
До выделение памяти в С++ C++
Выделение памяти C++
Выделение памяти C++
Выделение памяти C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
(Phantom)
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 86
29.06.2010, 10:53     Выделение памяти в структурах #2
Если я понял твой вопрос, то так:
Код
Baze *bazes=new Baze[100];
Создать масив из 100 елементов. Число 100 может быть и зн. переменной:
Код
int size=100;
Baze *bazes=new Baze[size];
ЗЫ А если ты используеш С++, есть смысл всглянуть в сторону STL и потоков.
ЗЫЗЫ А почему б тебе не использоваться для хранения XML
Yandex
Объявления
29.06.2010, 10:53     Выделение памяти в структурах
Ответ Создать тему
Опции темы

Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru