Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ChingizBat
0 / 0 / 1
Регистрация: 03.11.2014
Сообщений: 112
#1

Вывод в текстовый файл

12.11.2015, 22:19. Просмотров 246. Ответов 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
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
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <string>
#include <cstdlib>
 
using namespace std;
typedef struct{
    char name[32];
    char author[32];
    char publishingHouse[32];
    int publication[1];
    int receipt[1];
}Book;
 
int SetDataOfBook(Book * pst)
{
    int ret = 1;char delim;
    if (printf("Vvedite nazvanie knigi\n") && (ret = scanf("%[^\n]%c",pst->name,&delim)))
    if (printf("Vvedite Imya avtora\n") && (ret = scanf("%[^\n]%c",pst->author,&delim)))
    if (printf("Vvedite izdanie\n") && (ret = scanf("%[^\n]%c",&pst->publishingHouse,&delim)))
    if (printf("Vvedite god vipuska\n") && (ret = scanf("%lf",&pst->publication[1])))
    if (printf("Vvedite registracii v biblioteke\n") && (ret = scanf("%lf",&pst->receipt[1])));
    return ret;
}
 
int main()
{
    FILE *A;
    if((A=fopen("file.txt","w"))==NULL) {
        printf("Owibka! Fail ne suwestvuet");
    }
    Book * books = NULL;
    int i, size;
    const int lastNYears(5);
    int year;
    const string house("Kitap");
    printf("Vvedite kolichestvo knig\n");
    if(!scanf("%d",&size))
        printf("Input error\n");
    else    
    if(!(books = (Book *)malloc(size*sizeof(Book))))
        printf("Oshibka videlenia pamyati\n");
    else
    {
        printf("Vvod dannih o knigah\n");
        for(i = 0; i < size; i++)
        {
            getchar();
            printf("Book # %d\n", i + 1);
            if(!SetDataOfBook(&books[i]))
                printf("Dannie o knige ne vvedeni\n");
        }
    }
    while(true) {
        printf("Vvedite god\n");
        if(!scanf("%d",&year))
            break;
        else
        if(year < 0 || year <= 2015)
            break;
        else
        for(i = 0; i < size; i++) {
            if ((books[i].publishingHouse == house) && (year - books[i].receipt[1] <= lastNYears)) {
                //fprintf(A, "%s %s %s %d %d\n", books[i].name, books[i].author, books[i].publishingHouse, books[i].publication[1], books[i].receipt[1]);
                printf("%s %s %s %d %d\n", books[i].name, books[i].author, books[i].publishingHouse, books[i].publication[1], books[i].receipt[1]);
            }
        }
    }
    free((void *)books);
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2015, 22:19
Ответы с готовыми решениями:

Вывод в текстовый файл
Подскажите, пожему не получается вывести в файл все элементы двоичного дерева...

Вывод в текстовый файл
Помогите доделать программу, нужно что бы все что в консоли отображается...

Вывод матрицы в текстовый файл
День добрый, ребята. Пытаюсь сделать прототип матрицы смежности графа, но имею...

Вывод строки в текстовый файл
Вместо строки появляется нечто вроде 25d3fe4 Подскажите пожалуйста, в чем...

Вывод ошибок в текстовый файл
Здравствуйте, допустим при компиляции у меня выскакивают ошибки как можно код...

5
nmcf
6271 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
12.11.2015, 23:56 #2
Убери массивы - два поля в конце просто int. И файл закрывай после записи.
C++
1
2
3
4
5
6
7
typedef struct{
    char name[32];
    char author[32];
    char publishingHouse[32];
    int publication;
    int receipt;
}Book;
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
13.11.2015, 00:00 #3
Цитата Сообщение от ChingizBat Посмотреть сообщение
C++
1
2
3
4
5
6
7
typedef struct{
    char name[32];
    char author[32];
    char publishingHouse[32];
    int publication[1];
    int receipt[1];
}Book;
немного не в тему, но структуры в стиле Си зачем?
0
ChingizBat
0 / 0 / 1
Регистрация: 03.11.2014
Сообщений: 112
17.11.2015, 22:27  [ТС] #4
nmcf, исправил все равно в файл не пишет

Добавлено через 42 секунды
Kerry_Jr, Можешь помочь, я исправил как сказал nmcf, все равно не прет
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
17.11.2015, 22:33 #5
Цитата Сообщение от ChingizBat Посмотреть сообщение
Почему то в файл не записывает
потому что здесь
Цитата Сообщение от ChingizBat Посмотреть сообщение
C++
1
2
//fprintf(A, "%s %s %s %d %d\n", books[i].name, books[i].author, books[i].publishingHouse, books[i].publication[1], books[i].receipt[1]);
printf("%s %s %s %d %d\n", books[i].name, books[i].author, books[i].publishingHouse, books[i].publication[1], books[i].receipt[1]);
запись в файл закомментирована.
0
ChingizBat
0 / 0 / 1
Регистрация: 03.11.2014
Сообщений: 112
17.11.2015, 22:35  [ТС] #6
Kerry_Jr, я знаю, у себя я коммент убрал, это я просто на проверку отправлял на консоль вывод, fprintf разкомментил и все равно не идет
0
17.11.2015, 22:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2015, 22:35

Вывод данных в текстовый файл
В программе получил несколько динамических массивов. Необоходимо вывести их в...

Вывод текста в отдельный текстовый файл
Нужно вывести в файл пункты 4(case 4) и 5(case 5). #include &quot;stdafx.h&quot;...

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


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

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

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