Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.8.159] |
|
Сообщ.
#1
,
|
|
|
Дана структура: называние (char), имя_автора (char), фамилия_автора (char), число_страниц (int), тема (char), страна (char), год (int) Рассчитайте процент книг на тему «Рассказы».
вроде это пробовал, но не знаю как дальше выявить процент struct name{ char name_author[10]; char name2_author[10]; }; struct book { struct name author; char name_book[40]; int page_number; char topic[40]; char country[40]; int year; float price; } ; void main() { struct book bibl[10]; int i; for(i=1;i<=3;i++) { puts("name"); scanf("%s",&bibl[i].name_book; puts(""); scanf("%s",&bibl[i].author.name_author); puts(""); scanf("%s",&bibl[i].author.name2_author); puts(""); scanf("%f",&bibl[i].price); puts(""); scanf("%i",&bibl[i].page_number); puts(""); scanf("%s",&bibl[i].topic); puts(""); scanf("%s",&bibl[i].country); puts(""); scanf("%i",&bibl[i].year); } printf("Percentage is:\n"); for(i=1;i<=3;i++){ |
Сообщ.
#2
,
|
|
|
SeaWinter, держи-разбирайся, я подправил код:
#include <stdio.h> #include <string.h> /* количество записей в массиве структур */ #define COUNT 3 struct name { char name_author[10]; char name2_author[10]; }; struct book { struct name author; char name_book[40]; int page_number; char topic[40]; char country[40]; int year; float price; }; int main() { struct book bibl[COUNT]; int i; /* ввод данных */ for (i = 0; i < COUNT; i++) { printf("name: "); scanf("%s", &bibl[i].name_book); printf("name_author: "); scanf("%s", &bibl[i].author.name_author); printf("name2_author: "); scanf("%s", &bibl[i].author.name2_author); printf("price: "); scanf("%f", &bibl[i].price); printf("page_number: "); scanf("%i", &bibl[i].page_number); printf("topic: "); scanf("%s", &bibl[i].topic); printf("country: "); scanf("%s", &bibl[i].country); printf("year: "); scanf("%i", &bibl[i].year); } /* считаем процент */ int count = 0; for (i = 0; i < COUNT; i++) if (strcmp(bibl[i].topic,"Рассказы") == 0) count++; printf("\nПроцент: %02.2f\n",(count*100)/(float)COUNT); return 0; } |