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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2014, 16:39   #1
woojin
Пользователь
 
Регистрация: 20.10.2013
Сообщений: 32
Вопрос не копируется структура

всем здравствуйте!
задача в принципе не сложная, но т.к. я с "СИ" ни когда не сталкивался упёрся лбом в стенку
есть структура
Код:
const int len = 31, tlen = 16;

struct TelList {
	char fam[len];
	char name[len];
	char tel[16];
	int start;
	int end;
	TelList* next;
};
//TelList* tl = new TelList;
TelList* tl;
переменная tl (как я понял) задаётся глобально, т.к. структура описана в заголовочном файле который подключен ко всем CPP файлам
и в одной из функций надо локально сделать копию данной переменной чтобы потом перегнать её в StringGrid
вот так
Код:
	   TelList* pv = tl;
	   while(pv) {
		  StringGrid1->Cells[0][0] = StringGrid1->RowCount+1;
		  StringGrid1->Cells[1][0] = pv->fam;
		  StringGrid1->Cells[2][0] = pv->name;
		  StringGrid1->Cells[3][0] = pv->tel;
		  StringGrid1->Cells[4][0] = DateTimeToStr(pv->end - pv->start);
		  pv=pv->next;
	   }
но почему то при TelList* pv = tl; переменная pv просто становится нулевой!!!
подскажите что сделать, чтобы tl скопировалась в pv?
woojin вне форума Ответить с цитированием
Старый 07.05.2014, 16:42   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

1. Надо что бы tl указывал на какую-нить память.
2. Занести данные по указателю tl.

У тебя список, надо его создать.
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 07.05.2014 в 16:51.
Krok27 вне форума Ответить с цитированием
Старый 07.05.2014, 16:53   #3
woojin
Пользователь
 
Регистрация: 20.10.2013
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Krok27 Посмотреть сообщение
То, что закомментировано было правильно.
спасибо помогло!
появилась другая проблема, после запуска программы надо проверять пуста ли переменная tl или нет, если пуста, то попробовать загрузить из файла, если и в файле пусто, тогда вернуть 0
выглядит это так
Код:
int start() {
	if (!tl) {
		TelList *tl = read_dbase("dbase.txt");
		if (!tl) {
			return 0;
		} else {
			return 1;
		}
	} else {
		return 1;
	}
}
получается что вот это место if (!tl) { всегда возвращает что tl не пуста
woojin вне форума Ответить с цитированием
Старый 08.05.2014, 09:33   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Все зависит от твоей ф-ции
Код:
read_dbase("dbase.txt");
Что она возвращает.
Ты же можешь вернуть и 0 из нее. Если ничего нет в файле, то и возвращай 0.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 10.05.2014, 14:22   #5
woojin
Пользователь
 
Регистрация: 20.10.2013
Сообщений: 32
Восклицание

кому интересно, смотрите
было задание на курсач:
Цитата:
Вариант 17
На междугородной телефонной станции картотека абонентов. содержащая сведе-
ния о телефонах и их владельцах. организована в виде линейного списка.
Написать программу. которая:

* обеспечивает начальное формирование картотеки в виде линейного списка;

* производит вывод всей картотеки:

* вводит номер телефона и время разговора;

* выводит извещение на оплату телефонного разговора

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при
вводе.
во вложении проект целиком
Вложения
Тип файла: rar kursach5.rar (7.1 Кб, 14 просмотров)
woojin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некорректно копируется текст в таблицу(Word) Rewind Microsoft Office Word 1 13.06.2011 05:30
При присваивании копируется объект или ссылка на него? KiL0z Общие вопросы Delphi 2 11.06.2011 19:57
Часть данных не копируется -AppendRecord sergey113 БД в Delphi 2 18.03.2011 12:21
Не копируется MDB файл через CopyFile artemavd Общие вопросы Delphi 4 02.12.2010 08:44
Не копируется ! Что делать! Студент3000 Свободное общение 0 09.05.2009 09:22