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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 22:13   #1
dimi3ryi
 
Регистрация: 14.11.2012
Сообщений: 3
По умолчанию структура в файле С

в общем,замутил прогу,она считывает структуру(назв маршрута,номер поезда,дата и время отправления) и записывает её в файл,сделал ввод и вывод,поиск по разным полям,дозапись структуры,но вот возникла проблемка.
Нужно редактировать выбранную запись структуры,ввожу её номер,потом данные,но вот дальше прога виснет и ничего не меняет!
Может кто поймёт в чём проблемка.Вот код
Код:
void correct(FILE *tf)
{
char ch;
int nom,i=1,f=0;
tf=fopen("file1.dat","r+b");
system("cls");
printf("Введите номер записи,которую хотите откорректировать : ");
scanf("%d",&nom);
fread(&t1,sizeof(t1),1,tf);
while(!feof(tf))
{
	if(i==nom)
	{
		printf("\nВаша старая запись :");
		printf("\n название пункта назначения: %s",t1.NAZV);
		printf("\n номер поезда: %d",t1.NUMR);
		printf("\n дата отправления: %d.%d.%d",t1.DATE[0],t1.DATE[1],t1.DATE[2]);
		printf("\n время отправления: %d:%d",t1.TIME[0],t1.TIME[1]);
		f=1;
		printf("\n\nХотите поменять название пункта назначения? y/n");
		ch=getch();
		if(ch == 'y');
		{
			printf("\n Новое название пункта назначения: "); scanf("%s",&t1.NAZV);
		}
		printf("\n\nХотите поменять номер поезда? y/n");
		ch=getch();
		if(ch == 'y');
		{
			printf("\n Новый номер поезда: "); scanf("%d",&t1.NUMR);
		}
		printf("\n\nХотите поменять дату отправки? y/n");
		ch=getch();
		if(ch == 'y');
		{
			printf("\n Новая дата отправки поезда: "); scanf("%d %d %d",&t1.DATE[0],&t1.DATE[1],&t1.DATE[2]);
		}
		printf("\n\nХотите поменять время отправки? y/n");
		ch=getch();
		if(ch == 'y');
		{
			printf("\n Новое время отправки поезда: "); scanf("%d %d",&t1.TIME[0],&t1.TIME[1]);
		}
		break;
		}
		printf("\n\nВаши новые данные по этой записи :");
		printf("\n название пункта назначения: %s",t1.NAZV);
		printf("\n номер поезда: %d",t1.NUMR);
		printf("\n дата отправления: %d.%d.%d",t1.DATE[0],t1.DATE[1],t1.DATE[2]);
		printf("\n время отправления: %d:%d",t1.TIME[0],t1.TIME[1]);
		i++;
		fread(&t1,sizeof(t1),1,tf);
}
if(f==0)
	{
		printf("\nЗапись не найдена");
	}
getch();
}
и ещё,заодно спрошу,может кто знает как удалять записи из структуры?

Последний раз редактировалось dimi3ryi; 23.12.2012 в 22:17.
dimi3ryi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура в типизированном файле (Паскаль) Jetbalance Помощь студентам 4 01.07.2012 12:16
C++.Структура Sunori Общие вопросы C/C++ 12 25.12.2011 15:12
Структура с++ Елена_05 Общие вопросы C/C++ 10 30.05.2011 22:46
Поиск данных в текстовом файле (в самом файле! а не в Memo и не загружая всю инфу из файла в одну строку glagoff Помощь студентам 1 05.05.2010 13:00
Структура roknroll1 Помощь студентам 2 25.01.2010 18:45