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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 15:26   #1
majuw
Пользователь
 
Регистрация: 04.04.2013
Сообщений: 77
По умолчанию Файлы на Си

Здраствуйте, не могли б вы мне помочь, данно файл ассортимент сведения об игрушках - название игрушки, стоимость и возрастные границы (например от 2-5). Сортировать по росту возрастной границы и определить для какого возраста является наиболее игрушек.
Я сделал ,что б информацию всю у файл выводило,а как сделать, что б я у файл записал информацию (то есть открыл текстовый файл и записал туда информацию , у меня ж данно файл..)?И потом уже сортировал по той информации.
Код:
#include "stdafx.h"
#define n 2
#define tabir "vik.txt"
struct toy
{ char name[20];
 int price;
 int a; 
 int b;
 } toys[n];
void vvod()
{
 int i;
 for (i=0; i<n; i++)
  {
  printf("Enter data toys\n");
  printf("Enter name:\n");
  scanf("%s", toys[i].name);
  printf("Enter price:\n");
  scanf("%d", &toys[i].price);
  printf("Enter vikovi meji:\n");
  scanf("%d %d", &toys[i].a,&toys[i].b); 
  printf("\n");
  }
}
void printrezult()
{int z;
FILE *fp;
 fp = fopen(tabir,"a");
  for(z=0;z<n;z++)
  { fprintf(fp,"%s   |   %d   |    %d-%d\n\n",toys[z].name,toys[z].price,toys[z].a,toys[z].b);
  }
  fclose(fp);
}

void swap(toy* a1,toy* a2)
{
	toy temp;
	temp=*a1;
	*a1=*a2;
	*a2=temp;
}

void sort(toy* start,toy* end)
{
toy* iter1 = start;
while(iter1<end)
	{
		toy* iter2 = start;
		while(iter2<end)
		{
			if((*iter2).a<=(*(iter2+1)).a)
			{
				swap(iter2,(iter2+1));
			}
			iter2++;
		}
		iter1++;
	}

iter1=start;
while(iter1<end)
	{
		toy* iter2 = start;
		while(iter2<end)
		{
			if(((*iter2).a==(*(iter2+1)).a)&&((*iter2).b>=(*(iter2+1)).b))
			{
				swap(iter2,(iter2+1));
			}
			iter2++;
		}
		iter1++;
	}
}

void max()
{FILE *fp;
fp = fopen(tabir,"a");
int count = 0;
int tek_vozrast;
printf("Vvedit vik\n");
scanf("%d",&tek_vozrast);
for(int i=0;i<n;i++)
{if ((tek_vozrast<=toys[i].b) && (tek_vozrast>=toys[i].a)) 
	count++;
}
fprintf(fp,"Kilkist igrashok dlya viky %d\n",count);
fclose(fp);
}



void main()
{  vvod();
 FILE *fp;
 fp = fopen(tabir,"w");
 fprintf(fp,"Sort of vikovi meji:\n");
 fprintf(fp,"Name   |    Price   |   Vikovi meji\n");
 fclose(fp);
 sort(&toys[0], &toys[n-1]);
 printrezult();
 max();

}
majuw вне форума Ответить с цитированием
Старый 07.05.2013, 18:44   #2
majuw
Пользователь
 
Регистрация: 04.04.2013
Сообщений: 77
По умолчанию

Что никто не может помочь ?Как с файла читать информацию и сортировать, а не создавать в файле записи....?
majuw вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Файлы (текстовые файлы) Finn4ik Помощь студентам 0 25.04.2011 21:42
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53