Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
17.04.2013
Размер:
2.27 Кб
Скачать
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct Date
{
	char day, month;
};

struct capacitor
{
	char type, volt, cap, num;
	Date date;
};

capacitor all[25], temp;

void main()
{
	randomize();
	clrscr();

	char num, i, j, f=1;

	printf("Enter total number of capacitors: ");
	scanf("%d",&num);
	if (num>25 || num<1)
	{
		printf("Wrong number.");
		return;
	}
	for (i=0;i<=num-1;i++)
	{
		printf("\nEnter type K10-15, K10-16, K10-17 (%d): ",i+1);
		scanf("%d",&all[i].type);
		printf("Enter operating voltage 6, 10, 16, 25 (%d): ",i+1);
		scanf("%d",&all[i].volt);
		printf("Enter capacity (%d): ",i+1);
		scanf("%d",&all[i].cap);
		printf("Enter number (%d): ",i+1);
		scanf("%d",&all[i].num);
		printf("Enter date Day.Month (%d): ",i+1);
		scanf("%d.%d",&all[i].date.day,&all[i].date.month);
		printf("--------------------------------------------------------");
	}

	while (f==1)
	{
		f=0;
		for (i=0;i<=num-2;i++)
		{
			if (all[i].type>all[i+1].type)
			{
				f=1;
				temp=all[i];
				all[i]=all[i+1];
				all[i+1]=temp;
			}
		}
	}

	for (j=1;j<=3;j++)
	{
		f=1;
		while (f==1)
		{
			f=0;
			for (i=0;i<=num-2;i++)
			{
				if (all[i+1].volt<all[i].volt && all[i].type==j && all[i+1].type==j)
				{
					f=1;
					temp=all[i];
					all[i]=all[i+1];
					all[i+1]=temp;
				}
			}
		}
	}

	for (j=1;j<=4;j++)
	{
		f=1;
		while (f==1)
		{
			f=0;
			for (i=0;i<=num-2;i++)
			{
				if (all[i+1].cap>all[i].cap && all[i].volt==j && all[i+1].volt==j)
				{
					f=1;
					temp=all[i];
					all[i]=all[i+1];
					all[i+1]=temp;
				}
			}
		}
	}

	printf("\n\nNew list:\n");
	for (i=0;i<=num-1;i++)
	{
		printf("Capacitor %d:\n",i+1);
		printf("  Type: ");
		switch (all[i].type)
		{
			case 1:puts("K10-15");break;
			case 2:puts("K10-16");break;
			case 3:puts("K10-17");break;
		}
		printf("  Voltage: ");
		switch (all[i].volt)
		{
			case 1:puts("6");break;
			case 2:puts("10");break;
			case 3:puts("16");break;
			case 4:puts("25");break;
		}
		printf("  Capacity: %d\n",all[i].cap);
		printf("  Quantity: %d\n",all[i].num);
		printf("  Date: %d.%d\n",all[i].date.day,all[i].date.month);
	}

	getch();
}
Соседние файлы в папке Структуры