12.
?
, . , , . , , , (record), , .
, , . , (name), (age), (salary) . , , :
char name[][20];
float salary[];
int age[];
, , . , , ; , , .
, . , , . , , .
, :
struct Worker {
stirng name;
float salary;
int age;
};
struct , . Worker, , , ; . Worker, , Worker. :
Worker director;
, , :
Worker director = {"", 34, 1000.6};
, Worker ; director Worker, , . sizeof:
cout << "\t\n");
|
|
cout << "----------------------\n";
cout << 20*sizeof(char) << endl;
cout << sizeof(int) << endl;
cout << sizeof(float) << endl;
cout << "----------------------\n");
cout << sizeof(Worker) << endl;
20 20 ; 4 ; 28 :
, , . , :
Worker worker;
, , , . , , , . , . , :
Worker manager;
manager.name = "";
manager.salary = 1000.55;
manager.age = 33;
, manager.salary manager.age , , . manager.name .
:
printf(": %s\n", manager.name);
printf(": %d\n", manager.age);
printf(": %g\n", manager.salary);
:
scanf("%d", & manager.age);
, , .. &(manager.age) . manager.name gets() puts():
gets(manager.name);
puts(manager.name);
:
printf(" %c\n",
manager.name[0]);
, : (street), (house) (flat).
struct Address {
char street[50];
int house;
int flat;
};
Worker Address
struct Worker {
char name[20];
int age;
float salary;
Address address;
};
Address Worker; , :
strcpy(manager.address.street, "");
manager.address.house = 10;
manager.address.flat = 7;
printf(": %s\n", manager.address.street);
printf(": %d\n", manager.addrress.house);
printf(": %d\n",manager.address.flat);
, . . , , . , , .
|
|
#define SIZE 5
Worker workers[SIZE];
, , :
Worker workers[SIZE] = {
{"", 30, 5000},
{"", 51, 2000},
{"", 45, 3000},
{"", 28, 4000},
{"", 37, 1000}
};
:
strcpy(workers[0].name, "");
workers[0].age = 53;
workers[0].salary = 2500;
strcpy(workers[1].name, "");
workers[1].age = 57;
workers[1].salary = 1500;
, , :
// !
strcpy(workers[0].name, "");
strcpy(workers[1].name, "");
workers[0].age = 53;
workers[1].age = 57;
workers[0].salary = 2500;
workers[1].salary = 1500;
, , .