Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#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();
}