| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Големичка База данни http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=636 |
Страница 1 от 2 |
| Автор: | HCL [ Сря Май 04, 2005 11:35 pm ] |
| Заглавие: | Големичка База данни |
Едно въпросче. Как се пише база данни за 100000 студента. Трябва да използвам struct student { char name[40]; char vorname[20]; char fach[40]; int matrikelnummer; float noten[20]; student * pNext; }; Мислех да го правя с масив, ама няма да стане явно |
|
| Автор: | HCL [ Сря Май 04, 2005 11:58 pm ] |
| Заглавие: | |
[/quote]student * pNext; [quote] е той отговорът на въпроса ми бил в поста |
|
| Автор: | forest_gump [ Чет Май 05, 2005 12:00 am ] |
| Заглавие: | |
Едно вероятно решение , правиш структура само на един от редовете в базата както си направил за студента , създаваш файл от типа на структората /знам за паскал че става/, създаваш промелива от типа на структурата и когато записваш в базата попълваш променливите в структурата и добавяш запис във файла със стандартният оп. writefile, при четене е същото само че обратно, при търсене вече е гърч ... ограничението е само във макс. размер на файла в зависимост от фат-таблицата на диска! |
|
| Автор: | HCL [ Чет Май 05, 2005 12:21 am ] |
| Заглавие: | |
Звучи подходящо решение ще опитам. Благодаря |
|
| Автор: | Nikola Kirov [ Чет Май 05, 2005 12:44 am ] |
| Заглавие: | |
А аз имам някакви спомени че веднъж направих една програмка дето правеще структура по голяма от 100Мб а Pcto na koeto работеше беше с 64Мб или нещо такова. Никакви мерки не бях вземал за работа с паметта. Visual studioto или чичко windows са се справяли явно с това.Така и не се замислих защо работи. Това беше преди 2 години и го правих с visual studio 6 na C++. Така че що не пробваш да си компилираш програмката така и да видиш какво ше стане. Аз така и тогава не успях да я тествам щото не успях да си подкарам хардуера и, но се компилираше и тръгваше и на тая машина с 64Мб рам. |
|
| Автор: | HCL [ Чет Май 05, 2005 12:47 am ] |
| Заглавие: | |
е точно това го нямам под ръка в момента, но ще пробвам как ще се компилира на gcc-то. Последния път като опитах да го гърча с aloc-a нещо не стана ама я да видим сега колко ми е стабилна системата. |
|
| Автор: | forest_gump [ Чет Май 05, 2005 12:55 am ] | |||||||||
| Заглавие: | ||||||||||
Ако имаш Linux предвид , мисля че ще трябва да му кажеш че смяташ да се шириш из рама, пингвина много се мръщи на процеси различни от кърнела дето искат да си играят с паметта, не забравяй че линукса е преди виндовса по стаж в многозадачноста и protected mode-то на паметта! |
||||||||||
| Автор: | ¶ [ Чет Май 05, 2005 1:11 am ] |
| Заглавие: | Re: Големичка База данни |
... |
|
| Автор: | HCL [ Чет Май 05, 2005 1:38 am ] |
| Заглавие: | |
хм... пропуснал съм една 0, за втори път ми се случва тази седмица Опааа сега ми хрумна (то хубаво нещо било форума, понякога ти идват идеи докато задаваш въпроси |
|
| Автор: | ¶ [ Чет Май 05, 2005 2:16 am ] |
| Заглавие: | |
... |
|
| Автор: | HCL [ Чет Май 05, 2005 3:09 am ] | |||||||||
| Заглавие: | ||||||||||
pirev, закова ме. Това което си ми дал тръгна Аз тук се мъча да разбера защо не мога да отворя файла с ofstream file ("base") дава ми
Не разбирам, включил съм fstream в начлото, опитах и с fstream.h, нали там трябва да ги има дефинирани тези функции. Ще се поровя още малко, ама вече е 2 часа посреднощ, а такива идиотски грешки да ми спъват работата. |
||||||||||
| Автор: | HCL [ Чет Май 05, 2005 3:27 am ] |
| Заглавие: | |
Аааааа, това е като му се спи на човек не става хубава работата. Компилирам си сорса на gcc, а не на g++. Ама глупавата грешка трудно се открива, щото си мислех, че като му пусна една опция -x c++ ще ползва препроцесора на с++ ама не става явно точно така. Защо ли? |
|
| Автор: | HCL [ Чет Май 05, 2005 3:55 am ] | |||||||||
| Заглавие: | ||||||||||
Друга чудесия изникна. В тази част:
Там където е дублиран реда. Ако не му поискам два пъти вход, на първия сам си решава че е въведене табулация и преминава направо към stud.vorname без да иска въобще вход от потребителя за stud.name Така както е в монета си работи, но ми е интересно откъде може да идва грешката. |
||||||||||
| Автор: | 0x00 [ Чет Май 05, 2005 4:33 am ] | |||||||||
| Заглавие: | ||||||||||
Останал ти е непрочетен /n някъде в буфера. Чел си нещо директно от там с get(), или input-а е повече от maxN-а на някой предишен getline() и съответно /n остава вътре, или нямам представа защо. Както и да е, преди да го четеш наново го накарай да игнорира всичко преди този /n със:
Особено ако някой ще ти проверява кода, никак не е разумно това "измъкване" с двойното викане на getline(); представи си, че байтовете преди /n в буфера отново са повече от maxN-a |
||||||||||
| Автор: | HCL [ Чет Май 05, 2005 4:48 am ] | |||||||||
| Заглавие: | ||||||||||
Нов проблем, този е по интересен:
Ако потребителя въведе некоректна стойност, но integer, програмата се държи нормално и го пита отново за вход, а ако въведе нещо различно от integer, goto го връща на позиция begin1 ... и от там рограмата вллиза в цикъл Нали съм сложил cin >> i; би трябвало на това място всеки път да спира и да чака вход от конзолата. Къде греша? |
||||||||||
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|