Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2018, 10:55   #1
Umaru
 
Регистрация: 08.01.2017
Сообщений: 9
Лампочка [С(Си)]Корректировка программы осуществляющая запись в файл и поиск по нему

Здравствуйте! Помогите направить на правильный путь. Мне дано задание: сформировать файл, состоящий из пяти записей, каждая из которых содержит фамилию любимого вами актера и название фильма, в котором он снимался. Составить программу определения названия фильма по фамилии актера, который в нем снимался.

Вот какой код у меня получится первоначально:
Код:
#include "pch.h"
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>   
#include <stdio.h>
#include <locale.h>
#define LEN 100
 
    int main()
    {
 
        setlocale(LC_ALL, "Rus");
 
        char str[LEN];
        FILE *file_lab3;
        file_lab3 = fopen("lab3.txt", "a+"); //+a -чтение и дозапись
        // r, w, a, r+, w+, a+, rb, wb
        if (file_lab3 != NULL)
        {
            printf("Файл создан!\n");
            printf("---Считывание из файла:\n\n");
            while (fgets(str, LEN, file_lab3)) // получил данные из файла, while чтобы выводились все строки в файле (если их больше 2)
                fprintf(stdout, "%s", str);
            printf("\n---Считывание данных из файла завершено!\n");
        
        }
        else
        {
            fprintf(stderr, "Файл не создан new_file.txt\n");
            return 1;
        }
Попыталась сделать запись в файл вот так:
Код:
 char film;
/=/ (повторение программы и дополнение её после фразы "Считывание данных из файла завершено)
puts("введите название фильма-");
            scanf("%s", &film);
            fprintf(file_ptr, "Фильм %s\n", film);
            fclose(file_ptr);
Но ничего не получилось. Подскажите как правильно осуществить запись в файл и поиск в нем. Как я поняла в одной строке должно быть сразу название фильма и актера.
Umaru вне форума Ответить с цитированием
Старый 20.12.2018, 11:06   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,726
По умолчанию

char - это ОДИН символ. Даже если названия вашего фильма состоит из ОДНОГО символа, то выделять надо минимум ДВА, чтобы добавить завершающий 0.
p51x вне форума Ответить с цитированием
Старый 20.12.2018, 11:28   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,582
По умолчанию

Нужно придумать какой-нибудь разделитель, которым отбивался бы актер от названия фильма, например
Пуговкин/Фантомас против Анискина
digitalis вне форума Ответить с цитированием
Старый 24.12.2018, 14:14   #4
Umaru
 
Регистрация: 08.01.2017
Сообщений: 9
По умолчанию

Тогда какой лучше тип данных ввести для ввода текста?
Umaru вне форума Ответить с цитированием
Старый 24.12.2018, 20:19   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,582
По умолчанию

Думаю, массив char
char Aktor[?][60];
Вместо ? - нужное макс. число записей
А что, есть варианты ?
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: записать в файл начальный файл и все дополнения к нему, возвращаемые с сервера по OnMouseClick SergeyJS Помощь студентам 0 25.05.2014 00:40
Поиск пикселя по коду цвета в окне программы и клик по нему мышкой. Angelochek* Общие вопросы Delphi 1 27.09.2013 10:34
запись в txt и поиск по нему. Aleksey68 Помощь студентам 5 20.03.2013 14:57
Поиск и запись в файл(Assembler) Bullrock Помощь студентам 1 08.01.2013 12:34
Запись и корректировка файла pachuk Помощь студентам 1 15.05.2012 15:29