п/п-к Crus Опубликовано 4 декабря, 2008 Опубликовано 4 декабря, 2008 У меня такая беда. Причин две, собсно или я идиот || компелятор тупит (или настроен криво).Юзаю борланд С++ билдер 6.0 Нужно написать прогу, в которой есть БД организованная списком.В прилагаемом далее коде мои начинания. В чём собсна моя проблема...Не могу инициализировать первый эелемент списка, компелятор ругается.Пишет вот чего:Multiple declaration for 'Header'Earlier declaration of 'Header' Однако, если выделенный фрагмент запихнуть в main - инициализируется нормально, только возникает другая проблема.В функцию add в таком случае надо передать указатель на следующий элемент списка, но простым параметром он не передаётся - ругается компелятор де я туплю? //--------------------------------------------------------------------------- #include <iostream.h> #include <conio.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int id=0; struct TRegTable { TRegTable *pNext; int ID; char *Name; char *Surname; bool sex; // false - female, true - male;) unsigned short age; char *Tel; }; # TRegTable Header; # Header.pNext = new TRegTable; # Header.ID = id; # Header.Name = "Maxim"; # Header.Surname = "Ikonnikov"; # Header.sex = true; # Header.age = 17; # Header.Tel = "7913410"; void print(int number); int add(); void del(); int main() { int n; cout << "Welcome to your little database!\n"; cout << "\nPush 'a' to add record to your database\n"; cout << "Push 'p' to print your database\nPush 'q' to close your database\n"; switch(getch()) // getch() - <conio.h> { case 'a' : cout<<"\nThis function adds records to your db\n"; add(); break; //case 'p' : cout<<"\nThis function print all your db\n"; // for(int a=0; a<ID; a++){print();} // break; case 'e' : cout<<"\nThis function print element by ID\nEnter ID:\n"; cin>>n; print(n); break; case 'l' : cout<<"\nThis function print your last element\n"; case 'q' : return 0; default: cout<<"\t\t\tPush correct button!\n"; } getch(); return 0; } //--------------------------------------------------------------------------- void print(int number) { //for(; number;) //cout<<; } //--------------------------------------------------------------------------- int add(Header.pNext) { id++; //pNext. (*pNext).ID = id; cout<<"\nEnter the name:\n"; cin>>Header.Name; cout<<"\nEnter the surname:\n"; cin>>Header.Surname = "Ikonnikov"; cout<<"\nEnter the sex:\n"; cin>>Header.sex; cout<<"\nEnter the age:\n"; cin>>Header.age; Header.Tel = "7913410"; return 0; } //--------------------------------------------------------------------------- void del() { } //--------------------------------------------------------------------------- С уважением, Crusader(Макс) Б/Н 27."У прямолинейно и равномерно летящего самолета суммы всех сил и моментов равна нулю." (с) физика
к-н Shturman Опубликовано 4 декабря, 2008 Опубликовано 4 декабря, 2008 cout<<"\nEnter the sex:\n";А в графе "Семейное положение" гордо написал "сверху"! Высота - залог здоровья! БН 94
Airom Опубликовано 14 декабря, 2008 Опубликовано 14 декабря, 2008 ... int add(); ... int add(Header.pNext) { ... }Crus, у тебя декларация функции add отличается от ее определения. Если необходимо передавать в add указатель на TRegTable, то функция должна быть продекларирована так: int add(TRegTable *pNext);а ее описание должно быть таким:int add(TRegTable *pNext) { id++; pNext->ID = id; ... return 0; }Потом, add должна создавать новый объект используя оператор new, а твоя функция add не создает нового объекта. Даже если она будет правильно описана, первое же обращение к ней вызовет Exception.Со списками у тебя не лады, рекомендую почитать книгу - Уильям Топп, Уильям Форд "Структуры данных в C++". Отличная книга по организации структур данных, есть и про списки, и про стеки, очереди и многое другое, и все с примерами.Я сам программирую на Билдере, так что если что - пиши, попробуем разобраться. E = mc2
kazak Опубликовано 15 декабря, 2008 Опубликовано 15 декабря, 2008 Круз, решил стать программистом - учись и добивайся своих результатов сам. В этом деле каждый пишет свой алгоритм. И чем меньше машинного времени ты потратишь, в этом деле, если ты понимаешь о чем речь - тем лучше. Ни один уважающий себя программист не будет копаться в твоём коде, если он не преподаватель, а напишет свою процедуру, свою функцию... Это намного проще и меньше занимает времени поиска ошибок в чужих программах... Это так сказать, тебе на будущее... Никогда не ищи помощи, разбирайся и достигай цели сам. Или озвучивай задачу, проект целиком и готовся делиться.
kazak Опубликовано 15 декабря, 2008 Опубликовано 15 декабря, 2008 Круз, решил стать программистом - учись и добивайся своих результатов сам. В этом деле каждый пишет свой алгоритм. И чем меньше машинного времени ты потратишь, в этом деле, если ты понимаешь о чем речь - тем лучше. Ни один уважающий себя программист не будет копаться в твоём коде, если он не преподаватель, а напишет свою процедуру, свою функцию... Это намного проще и меньше занимает времени поиска ошибок в чужих программах... Это так сказать, тебе на будущее... Никогда не ищи помощи, разбирайся и достигай цели сам. Или озвучивай задачу, проект целиком и готовся делиться. Добавлю... Я в свое время, на 3 курсе проходил произвотсвенную практику на одном КБ... Ты думаешь со мной делись знаниями? Фиг там! Дали задание написать процуру такого то процесса - справишься - молодец! Нет - ну и не очень то и нужно, 4 получишь за то что посещал и проявлял интерес... Я лично всегда до всего доходил сам. Хотя и бывало что как зациклишся... Не н а том чем нужно - и некому в мою голову нажать резет
kazak Опубликовано 15 декабря, 2008 Опубликовано 15 декабря, 2008 что то понесло меня )))))) Ну да ладно... )))))) С тех пор как закончил институт, и утроился на работу... Асемблер, и Си, использовал пару раз... Всё можно сделать на этих языках. Но утомительно и долго...
kazak Опубликовано 15 декабря, 2008 Опубликовано 15 декабря, 2008 К стате, Круз, а куда ты поступил? Где учишься? Я заканчивал Новочеркасский политех, кафедра ЭВМКСиС. специальность 60.... Непомню цифры... Расшифровываеться как Электронно Вычислительные Машины Комплексы Системы и Сети. На первом курсе я писал программы на перфокартах... Ты наверно и не знаешь что это такое
к-н Shturman Опубликовано 16 декабря, 2008 Опубликовано 16 декабря, 2008 Нда уж - понесло, не то слово. Знаем мы что такое перфокарты, перфоленты... Ты их рассыпать не пробовал? ))) Высота - залог здоровья! БН 94
п-к Baltica Опубликовано 16 декабря, 2008 Опубликовано 16 декабря, 2008 Э...Что там про карты?Пулечку распишем?
к-н Shturman Опубликовано 16 декабря, 2008 Опубликовано 16 декабря, 2008 Э... Что там про карты? Пулечку распишем? Все обхаяли! Высота - залог здоровья! БН 94
Airom Опубликовано 16 декабря, 2008 Опубликовано 16 декабря, 2008 Нда уж - понесло, не то слово. Знаем мы что такое перфокарты, перфоленты... Ты их рассыпать не пробовал? ))) А у нас, например, было принято 'кропить колоду' - перфокарты нумеровались , особенно в дипломных 'колодах' E = mc2
pisto Опубликовано 16 декабря, 2008 Опубликовано 16 декабря, 2008 Когда приперло,пришлось завести подругу на ИВЦ.Приносил только прогу на фортране на бумаге,забирал распечатку,колоду и результат в уютной обстановке. 123
к-н Shturman Опубликовано 17 декабря, 2008 Опубликовано 17 декабря, 2008 Когда приперло,пришлось завести подругу на ИВЦ.Приносил только прогу на фортране на бумаге,забирал распечатку,колоду и результат в уютной обстановке. ...распечатку,колоду и результат... Про результат отдельно? А колоду резиночкой связывал? Высота - залог здоровья! БН 94
п/п-к Crus Опубликовано 17 декабря, 2008 Автор Опубликовано 17 декабря, 2008 У нас препод С++ по перфокартам преподаёт... Поступил я в Челябинский Гос. Университет.Мат. фак.Специальность - Информационные технологии (it-технологии) to AiromСПасибо большое. С уважением, Crusader(Макс) Б/Н 27."У прямолинейно и равномерно летящего самолета суммы всех сил и моментов равна нулю." (с) физика
pisto Опубликовано 17 декабря, 2008 Опубликовано 17 декабря, 2008 Когда приперло,пришлось завести подругу на ИВЦ.Приносил только прогу на фортране на бумаге,забирал распечатку,колоду и результат в уютной обстановке. ...распечатку,колоду и результат... Про результат отдельно? А колоду резиночкой связывал? Если бы резиночкой.Колоду бережно заворачивали как дитя.Потому как если край чуть измохратится,все пипец карточке.Она в приемник не лезла,надо новую набивать. 123
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти