Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 6
1

Определить названия книг заданного автора

11.01.2010, 17:07. Показов 1156. Ответов 9
Метки нет (Все метки)

Дан файл, содержащий сведения о книгах, определить: названия книг заданного автора, имеется ли книга, в название которой входит слово информатика, вывести все о ней.
Не пойму что за ошибка

C
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
# 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 неразрешенных внешних элементов
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2010, 17:07
Ответы с готовыми решениями:

Не работает функция удаления книг заданного автора
Здравствуйте. Написал программу для работы с двусвязным списком. В элементах списка находятся...

Определить: названия игрушек, цена которых не превышает заданную, и которые подходят детям заданного возраста
Дана структура &quot;Игрушка&quot; элементы: название, цена, цвет, возрастной диапазон - нижняя граница,...

Найти названия книг заданного пользователем автора
Пожалуйста помогите написать программу на С++ в четверг нужно сдать, а тему не проходили эту и я не...

Бинарные файлы. Вывести названия книг определенного автора, изданных до 2000 года. Определить долю книг
помогите пожалуйста: В файле хранятся сведения о личной библиотеке: фамилия автора, название,...

9
3080 / 2401 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
11.01.2010, 17:36 2
Каким компилятором пользуешься, и на какой элемент ругается компилятор?
0
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 6
11.01.2010, 17:40  [ТС] 3
Visual C++ 2008

1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>C:\.....Debug\54.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
0
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
11.01.2010, 17:43 4
видимо что-то с проектом намудрили
0
3080 / 2401 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
11.01.2010, 17:44 5
Мне почему-то кажется, что ты не тот тип проекта выбрал. Сам код вроде рабочий.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10935 / 6871 / 1632
Регистрация: 25.07.2009
Сообщений: 12,572
11.01.2010, 17:51 6
Программа на С судя по всему...
Цитата Сообщение от urok61 Посмотреть сообщение
bible *a=new bible[kolvo];
bible b;
вместо этого
C
1
2
struct bible *a = (struct bible*)calloc(kolvo, sizeof(struct bible));
struct bible b;
Цитата Сообщение от urok61 Посмотреть сообщение
delete[]a;
C
1
free(a);
Возможно, ещё чего-то не увидел...
0
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 6
11.01.2010, 18:00  [ТС] 7
да, она на С

убрал, но все равно ругается
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10935 / 6871 / 1632
Регистрация: 25.07.2009
Сообщений: 12,572
11.01.2010, 18:25 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

вот так работает:
C
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
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
struct bible{
    char fio[80];
    char name[50];
    int year;
};
 
void main(){
    int kolvo, i;
    FILE *lib;
    struct bible *a, b;
    char str[80], *s;
    char str2[10], *s2;
    puts ("vvedi kolvo knig");
    scanf("%d", &kolvo);
    a = (struct bible *)calloc(kolvo, sizeof(struct bible));
 
    fflush(stdin); 
 
    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);
    }
 
    lib = fopen("l.txt", "wb");
    if (lib==NULL){ 
        puts ("oshibka");
        exit (1);
    }
    fwrite (a, sizeof(struct bible), kolvo, lib);
    fclose(lib);
    lib = fopen("l.txt", "rb");
    if (lib==NULL){ 
        puts ("oshibka");
        exit (1);
    }
    puts ("vvedi avtora ");
    gets(str);
    s=&str[0];
    puts ("vvedi slovo iz nazvaniya knigi");
    gets(str2);
    s2=&str2[0];
    while (!feof(lib)){ 
        fread(&b, sizeof(struct 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);
    free(a);
    getchar();
}
0
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 6
11.01.2010, 18:37  [ТС] 9
easybudda, спасибо большое!
0
0 / 0 / 2
Регистрация: 07.01.2010
Сообщений: 44
11.01.2010, 21:20 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

у меня большая просьба.Нужно модернизировать прогу:найти сумму F при А>4 и K-кол-во F<5. Заранее спасибо!
C++
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
#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();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2010, 21:20

Найдите названия книг заданного автора, изданных с 1977 года
Пусть дан массив , содержащий сведения о книгах Сведения о каждой книге - это фамилия автора,...

Вывести названия книг заданного автора, изданных с 1960 года
Дан файл содержащий сведения о книгах. Нужно вывести названия книг заданного автора, изданных с...

Найти названия книг заданного автора, которые были изданы начиная с 1960 г
Есть информационный массив f, в котором находятся данные о книгах(ФИО автора, название и год...

Найти названия книг заданного автора и вывести их на экран в порядке убывания года издания
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.