Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 10.11.2014
Сообщений: 83
1

Подскажите пожалуйста.Само задание в изображении. Работа с файлами

29.03.2015, 19:57. Показов 654. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда я пытаюсь прочитать записанный файл, то там оказываются непонятные символы, не знаю что делать.
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <stdio.h>
struct list { char name[100]; float date; int amount; double price; };
using namespace std;
 
int main()
{
 
    setlocale(LC_ALL, "Rus");
    FILE *f; list dat; int n;
    cout << "File name? ";
    char s[50];
    cin.getline(s, 50);
    f = fopen("s.txt", "wb");
    cout << "Сколько товаров? "; cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cout << "Название товара № " << i << " товар "   <<endl; cin >> dat.name;
        cout << "Дата получения  " << i << "введите " << endl; cin >> dat.date;
        cout << "Количество      " << i << "введите " << endl; cin >> dat.amount;
        cout << "Стоимость       " << i << "введите " << endl; cin >> dat.price;
        fwrite(&dat, sizeof(dat), 1, f);
    }
    fclose(f);
    {
        int c;
                f = fopen("s.txt", "r");
        printf("Результаты чтения данных из файла");
        while ((c = fgetc(f)) != EOF)
        printf("%c", c);
        fclose(f);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
Миниатюры
Подскажите пожалуйста.Само задание в изображении. Работа с файлами  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2015, 19:57
Ответы с готовыми решениями:

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

Работа с файлами. Ради Бога, решите пожалуйста. Задание ниже
Дан текстовый файл f, содержащий программу на языке Паскаль. Проверить эту программу на...

Пожалуйста, подскажите, правильно ли я выполнил задание
Задача: написать программу, которая позволит с введенного в каждой строке числа провести операцию...

Задание. Работа с файлами
Сформировать динамический массив А состоящий из N элементов (количество элементов вводится с...

5
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
29.03.2015, 20:01 2
А где чтение? fread() не вижу.
0
1 / 1 / 0
Регистрация: 10.11.2014
Сообщений: 83
29.03.2015, 20:07  [ТС] 3
А я разве не читаю?!( блин.
а как его записать, сюда куда то?
Цитата Сообщение от balin Посмотреть сообщение
int c;
* * * * * * * * f = fopen("s.txt", "r");
* * * * printf("Результаты чтения данных из файла");
* * * * while ((c = fgetc(f)) != EOF)
* * * * printf("%c", c);
* * * * fclose(f);
0
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
29.03.2015, 21:24 4
C++
1
2
3
4
while (fread(&dat, sizeof(dat), 1, f) > 0)
{
// обработка записи
}
1
1 / 1 / 0
Регистрация: 10.11.2014
Сообщений: 83
29.03.2015, 21:54  [ТС] 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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <stdio.h>
struct list { char name[100]; float date; int amount; double price; };
using namespace std;
 
int main()
{
 
    setlocale(LC_ALL, "Rus");
    FILE *f; list dat; int n;
    cout << "File name? ";
    char s[50];
    cin.getline(s, 50);
    f = fopen(s, "wb");
    cout << "Сколько товаров? "; cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cout << "Название товара № " << i << " товар "   <<endl; cin >> dat.name;
        cout << "Дата получения  " << i << "введите " << endl; cin >> dat.date;
        cout << "Количество      " << i << "введите " << endl; cin >> dat.amount;
        cout << "Стоимость       " << i << "введите " << endl; cin >> dat.price;
        fwrite(&dat, sizeof(dat), 1, f);
    }
    fclose(f);
    while (fread(&dat, sizeof(dat), 1, f) > 0)
    {
        int c;
        f = fopen(s, "r");
        printf("Pезультаты чтения данных из файла");
        while ((c = fgetc(f)) != EOF)
        printf("%c", c);
        fclose(f);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
29.03.2015, 22:16 6
Что это? Заменить, а не добавить.
C++
1
2
3
4
5
6
7
    f = fopen(s, "r");
    printf("Pезультаты чтения данных из файла");
    while (fread(&dat, sizeof(dat), 1, f) > 0)
    {
        // Здесь вывод dat по отдельным полям.
    }
    fclose(f);
0
29.03.2015, 22:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2015, 22:16
Помогаю со студенческими работами здесь

Работа с файлами(Задание)
Задан текстовый файл. Подсчитать количество строк , начинающихся и заканчивающихся одинаковыми...

Подскажите пожалуйста как можно выполнить такое задание?
Задать целочисленную квадратную матрицу порядка n. Заменить единицами в матрице элементы с четной...

Подскажите, пожалуйста, в запросе правильное задание WHERE ID1=perem1
Требуется по нажатию кнопки взять введённое в Поле1 числовое значение, равное номеру идентификатора...

Подскажите, пожалуйста, как сделать вот такое задание: AX = max(a/b, b/c, c/d)/min(b/c,c^2,d^3)
Подскажите, пожалуйста, как сделать вот такое задание: AX = max(a/b, b/c, c/d)/min(b/c,c^2,d^3) И...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru