определение структуры отдельных элементов массива

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <stdafx.h>
#include <stdio.h>
#include <windows.h>
#include <iostream.h>
/**
русификатор
*/
char bufrus[256];char*rus(const char*text){CharToOem(text, bufrus);return bufrus;}
#define SZ 5
//работа с массивами структур
struct entry {
//определение структуры отдельных элементов массива
char fname [20];
char lname [20];
char zp [20];
};
struct entry list[5];
int i;
int main (void) {
int a[SZ]; //очередное число
int j; //счётчик
int k; //переменная
int buf; //переменная
//цикл ввода данных о четырёх лицах
for (i=0;i<5;i++)
{
cout << rus("\nИмя: ");
cin >> list.fname;
cout << rus("\nФамилия: ");
cin >> list.lname;
cout << rus("\nЗарплата: ");
cin >> list.zp;
}
//вывод двух пустых строк
cout << "\n\n";
//цикл для вывода данных
cout << rus("Имя\tФамилия\t\tЗарплата\n\n");
for (i=0;i<5;i++)
{
for (j = 0; j < SZ-1; j++)
{
for (k = 0; k < SZ-1; k++)
{
if (a[k] > a[k+1])
{
buf = a[k];
a[k] = a[k+1];
a[k+1] = buf;
}
}
}
cout << list.fname; cout << "\t"; cout << list.lname; cout << "\t"; cout << list.zp; cout << "\n\n";
}
return 0;
}
//объявление массива струстур
//struct
/*
int length, width;
long area;
struct coord {
int x;
int y;
};
struct rectangle{
struct coord topleft;
struct coord bottomrt;
}mybox;
int main()
{
//ввод координат
cout << "\nInput please left coord x: ";
cin >> &mybox.topleft.x;
cout << "\nInput bottom coord y: ";
cin >> &mybox.topleft.y;
cout << "\nInput right coord x: ";
cin >> &mybox.bottomrt.x;
cout >> "\nInput top coord y: ";
cin << &mybox.bottomrt.y;
//вычисление длиины и ширины прямоугольника
width=mybox.bottomrt.x - mybox.topleft.x;
length=mybox.bottomrt.y - mybox.topleft.x;
//вычисление и вывод площади
area=width*length;
cout << "\nS = " << area;
return 0;
}
*/
/*
int length, width;
float area;
struct coord {
float x;
float y;
};
struct rectangle{
struct coord topleft;
struct coord bottomrt;
}mybox;
int main()
{
//ввод координат
printf (rus("\nВведите левое значение координаты x: "));
scanf ("%f", &mybox.topleft.x);
printf (rus("\nВведите нижнее значение координаты y: "));
scanf ("%f", &mybox.topleft.y);
printf (rus("\nВведите правое значение координаты x: "));
scanf ("%f", &mybox.bottomrt.x);
printf (rus("\nВведите верхнее значение координаты y: "));
scanf ("%f", &mybox.bottomrt.y);
//вычисление длиины и ширины прямоугольника
width=mybox.bottomrt.x - mybox.topleft.x;
length=mybox.bottomrt.y - mybox.topleft.x;
//вычисление и вывод площади
area=width*length;
printf(rus("\nПлощадь прямоугольника составляет %ld единиц.\n"), area);
return 0;
}
*/