Определить названия книг заданного автора - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан файл, содержащий сведения о книгах, определить: названия книг заданного автора, имеется ли книга, в название которой входит слово информатика, вывести все о ней. Не пойму что за ошибка
# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <stdlib.h>
void main()
{ struct bible
{char fio[80];
 char name[50];
 int year;
};
puts ("vvedi kolvo knig");
int kolvo, i;
scanf("%d", &kolvo);
fflush(stdin);
bible *a=new bible[kolvo];
bible b;
for (i=0; i<kolvo; i++)
{puts ("vvedi nazvaniye");
gets((a+i)->name);
puts ("vvedi avtora");
gets((a+i)->fio);
puts ("vvedi god izdaniya");
scanf("%d", &(a+i)->year);
fflush(stdin);
}
FILE *lib;
lib = fopen("l.txt", "w+b");
if (lib==NULL)
{ puts ("oshibka");
exit (1);
}
fwrite (a, sizeof(bible), kolvo, lib);
rewind(lib);
puts ("vvedi avtora ");
char str[80], *s;
gets(str);
s=&str[0];
puts ("vvedi slovo iz nazvaniya knigi");
char str2[10], *s2;
gets(str2);
s2=&str2[0];
while (!feof(lib))
{ fread(&b, sizeof(bible), 1, lib);
if (strcmp(b.fio, s)==NULL && b.year>=1980)
{puts ("kniga iskomogo avtora");
puts (b.name);
}
if (strstr(b.name, s2)!= NULL)
printf ("kniga so slovom -%s,  %s, %d\n",b.name, b.fio, b.year);
}
fclose(lib);
delete[]a;
getch();
}
fatal error LNK1120: 1 неразрешенных внешних элементов

Решение задачи: «Определить названия книг заданного автора»

textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{   const B=7;
    float D=3.5, e=2.72;
    float AN,AK,HA,A,F,S,X;
    int CN,CK,HC,C;
    printf ("vvod AN-");
    scanf ("%f",&AN);
    printf ("vvod AK-");
    scanf ("%f",&AK);
    printf ("vvod HA-");
    scanf ("%f",&HA);
    printf ("vvod CN-");
    scanf ("%d",&CN);
    printf ("vvod CK-");
    scanf ("%d",&CK);
    printf ("vvod HC-");
    scanf ("%d",&HC);
    for (C=CN;C<=CK;C+=HC)
    X=0.01*HA;
    for (A=AN;A<=AK+X;A+=HA)
{   S=A*(D+B-C);
    printf ("S=%8.3f",S);}
if ((A>0)&&(A!=1)&&(C!=0))
{F=S/log10(A)*(pow(e,C-1));
printf ("F=%8.3f",F);}
else
printf ("F-net");
A=AN+HA;
getch();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы