1

Тема: MFC

Привіт!
Є завдання:

Прихований текст
ЗАВДАННЯ
1.    Написати віконну діалогову програму, яка записує і читає з файлової бази даних текстову інформацію про об’єкти, що описують предметну область задану варіантом. Програма має відповідати наступним вимогам:
•    а) Забезпечити перевірку на коректність введення даних за допомогою механізму виключних ситуацій. При спробі введення некоректних даних відобразити на екрані відповідне повідомлення за допомогою методу MessageBox та скасувати операцію.
•    б) Для введення даних використати елемент керування типу Edit Box, а вміст файлової бази даних відобразити у елементі керування типу List Box. Позначити призначення елементів керування за допомогою групуючи контролів (Group Box).
•    в) Продублювати функції кнопок запису/читання у меню.
•    г) Передбачити можливість вибору файлу, з яким відбуватиметься робота у процесі виконання програми за допомогою діалогу вибору файлу.
•    д) Шляхом спадкування від класу CStdioFile або CFile створити власний клас, який  забезпечуватиме буферизований запис даних у файл (Запис даних спочатку здійснюється в програмний буфер. При спробі додати нову порцію даних у повний буфер спочатку має відбуватися запис всіх даних з буферу у файл, очищення буферу і лише тоді додавання цієї порції даних у порожній буфер). Буфер реалізувати за допомогою структури даних з бібліотеки STL визначеній варіантом. Розмір буферу визначається варіантом.

Потрібно використати структуру даних map.

Програма видає помилку по незрозумілих причинах!
Код кидаю в вигляді теки проекту, адже не бачу сенсу викладати тільки один файл! (якщо потрібно зроблю й це)

Прихований текст

2

Re: MFC

Буде не зайве, коли наведете текст помилок, які каже компілятор (або видно в рантаймі). Далеко не у всіх стоїть студія та присутнє бажання качати 80+метрів. :)

I belong to the Dead Generation.
Подякували: koala1

3

Re: MFC

Почитайте і спробуйте оформити питання у відповідності до цієї поради.

Подякували: Cyan1

4

Re: MFC

Прихований текст
https://pp.vk.me/c403421/v403421844/b0fe/5DLrBUXodjI.jpg

Ось щодо помилок, знаю вони дитячі, але коли їх виправити, то з'являються нові й нові!

Щодо питання:
Воно полягає власне в типі map
Допоможіть правильно реалізувати його в даній задачі?

5

Re: MFC

Anddep написав:
Прихований текст
https://pp.vk.me/c403421/v403421844/b0fe/5DLrBUXodjI.jpg

Ось щодо помилок, знаю вони дитячі, але коли їх виправити, то з'являються нові й нові!

Щодо питання:
Воно полягає власне в типі map
Допоможіть правильно реалізувати його в даній задачі?

Завтра подивлюся вранці.

Прихований текст
Взагалі, варто код писати покроково, імго: шматочок - перевірив, шматочок - перевірив, скомпілював - тішишся, і далі... Так більше шансів на успіх. :)
I belong to the Dead Generation.
Подякували: koala1

6

Re: MFC

Bartash написав:
Anddep написав:
Прихований текст
https://pp.vk.me/c403421/v403421844/b0fe/5DLrBUXodjI.jpg

Ось щодо помилок, знаю вони дитячі, але коли їх виправити, то з'являються нові й нові!

Щодо питання:
Воно полягає власне в типі map
Допоможіть правильно реалізувати його в даній задачі?

Завтра подивлюся вранці.

Прихований текст
Взагалі, варто код писати покроково, імго: шматочок - перевірив, шматочок - перевірив, скомпілював - тішишся, і далі... Так більше шансів на успіх. :)

Розумію, знаю!
Так і писав спочатку, але згодом додалось декілька різних файлів з кодом і тоді почались трабли(
Вдячний!

7

Re: MFC

1 - помилка в попередньому рядку, в C++ більше 5 знаків - поспіль не буває :)
І взагалі, в C++ раджу виправляти за один раз рівно одну першу помилку (подальші часто індуковані першою), причому шукати її не тільки в тому рядку, де вказує компілятор, а всюди після останньої крапи з комою перед вказаним рядком.

8

Re: MFC

Ось, те, чого я й не міг вирішити до попередніх помилок

Прихований текст
https://pp.vk.me/c403421/v403421844/b10f/4OCWT12NcrA.jpg

9

Re: MFC

А lst як проголошено, і інші змінні? Ви посилання прочитали?

10

Re: MFC

koala написав:

А lst як проголошено, і інші змінні? Ви посилання прочитали?

Не зрозумів, щодо list і інших змінних?

Так, прочитав=)
Але ще не вступило в дію)))))

11

Re: MFC

Anddep написав:

Не зрозумів, щодо list і інших змінних?

Які типи змінних? Тут немає телепатів!

12

Re: MFC

koala написав:
Anddep написав:

Не зрозумів, щодо list і інших змінних?

Які типи змінних? Тут немає телепатів!

Так int ніби всюди!

13

Re: MFC

Ну тоді все просто: у типу int немає методу insert, у нього взагалі нема методів. Щоправда, компілятор про інше пише, але якщо ви кажете, що lst - це int, то підстав вам не вірити в мене нема.

14

Re: MFC

koala написав:

Ну тоді все просто: у типу int немає методу insert, у нього взагалі нема методів. Щоправда, компілятор про інше пише, але якщо ви кажете, що lst - це int, то підстав вам не вірити в мене нема.

Спробував переробити, не допомогло.(
не знаю навіть в чому діло?

15

Re: MFC

Добре, прямим текстом: запис lst.insert(...) означає, що lst - якийсь клас (структура), який має метод insert. Не хочете говорити, яка саме - ваші проблеми, але вам ніхто тоді і не допоможе.
Те саме стосується і інших змінних. Не відмахуйтеся від запитань - і вам зможуть допомогти. Відповідатимете "на відчепися" - допомоги не буде.

16

Re: MFC

koala написав:

Добре, прямим текстом: запис lst.insert(...) означає, що lst - якийсь клас (структура), який має метод insert. Не хочете говорити, яка саме - ваші проблеми, але вам ніхто тоді і не допоможе.
Те саме стосується і інших змінних. Не відмахуйтеся від запитань - і вам зможуть допомогти. Відповідатимете "на відчепися" - допомоги не буде.

Я не відповідаю "на відчепись", просто вже переглянув декілька прикладів роботи з map, пробував як в них, але проблема залишалась!
А щодо методу, то теж спробував його викликати з-під list'а але нічого не допомогло!

17 Востаннє редагувалося koala (01.06.2013 14:55:58)

Re: MFC

Anddep написав:

Я не відповідаю "на відчепись", просто вже переглянув декілька прикладів роботи з map, пробував як в них, але проблема залишалась! А щодо методу, то теж спробував його викликати з-під list'а але нічого не допомогло!

Якби ви не відповідали "на відчепись", ви б навели конкретні спроби, а не загальний опис. По загальному опису ніхто не в змозі сказати вам, в чому помилка. А так ви відповідаєте в стилі "чого ви до мене причепилися, не питайте, а допоможіть!".
Ну і ви так і не відповіли на запитання, які типи змінних. Вочевидь, це питання заскладне поки що для вас. Рекомендую почати з вивчення мови C, і тільки потім переходити на плюси.

18

Re: MFC

int *m_pnNum1//текстове поле в яке я вводжу вхідні дані
map<int, Cube> lst;
virtual int Area()=0;
virtual int Volume()=0;

Тут проблема з передачею ключа, оскільки map це асоціативний масив, в якому потрібно передавати <ключ, значення>

19

Re: MFC

В std::map треба додавати std::pair, а не пари значень, типу такого:
lst.insert(pair<int, Cube>(0,Cube(...))