/*CD2.c*/struct CD { char name[20]; har description[40]; har category[12]; float cost; int number; } disc[10];main() { int index, repeat; har flag; flag = 'Y'; index =0; do { puts(" #%d\n", index); printf(" : "); gets(disc[index].name); printf(" : "); gets(disc[index].description); printf(" : "); gets(disc[index].category); printf(" : "); scanf("%f", &dics[index].cost); printf(" : "); scanf("%d", &disc[index].number); index++; if(index < 10) { printf(" ? -Y, -N"); scanf("%C", &flag); } } while (index < 10 && (flag == 'Y' || flag == 'y')); puts(" /"); for (repeat = 0; repeat < index; repeat++) printf("%s %d\n", disc[repeat].name, disc[repeat].number); }
. 7.
, 10 disc, :
} disc[10];
flag , , , 10 . do : ( ) ( ). index .
, , . 10 .
do :
while (index < 10 && (flag == 'Y' || flag == 'y'));
, : index , flag 'Y' 'y'. , (. 8). flag 'y', .
. 8.
(), index . for, - .
, c .
K&R- . , . , , , :
cdrom = disc;
++ . .
++ , ANSI, . 3 , . main(), putdisc() . disc:
putdisc(disc);
, . ( ), . :
putdisc(disk)struct CD disk;
disk, disc. disk, .