1

Тема: Перегляд файлу

#include "stdafx.h"
#include<iostream>
#include <fstream>
#include<conio.h>
#include <cstdlib>
#include<stdio.h>
using namespace std;

struct vokzal
{
    char fio[25];
    char gorod[20];
    int kol;
    
};
vokzal bilet;

void prosm(){

    
}

    

void add(){
    ofstream fout("C:\\cppstudio.txt", ios_base::out | ios_base::app); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
    // ios_base::out | ios_base::app// параметры  для  зозаписи в  файл
    char y;
    do
    {

        cout << "Введите фамилию " << endl;
        cin.sync();
        gets_s(bilet.fio);
        cout << "Введите город " << endl;
        cin.sync();
        gets_s(bilet.gorod);
        cout << "Введите количетво " << endl;
        cin >> bilet.kol;
        fout << endl;
        fout << bilet.fio << endl << bilet.gorod << endl << bilet.kol << endl;
        cout << "Хотите зделать ёще одну запись y/n " << endl;
        cin >> y;
    } while (y=='y');

    
    fout.close();
}
void edit(){}
int main()
{

    system("chcp 1251");
    system("cls");
    int k;

    do
    {
        printf("\n1.Просмотр файла данных:");
        printf("\n2.Добавление записи  данных:");
        printf("\n3.Редактирование записи:");
        printf("\n4.Выход:");
    o:cin.sync();
        printf("\n Выбирите пункт  меню: ");
        scanf_s("%i", &k);
        if ((k<0) || (k>4)) {
            cout << endl << "Вы ввели неверное значение, повторите(1-4) допустимое ";

            goto o;
        }



        switch (k)
        {
        case 1:{    
                   prosm();
            break;
        }
        case 2:{
                   add();
                   break;
        }

        case 3:{
                   edit();//
                   break;
        }

        }
    } while (k != 4);


    _getch();
    return 0;
}

допоможіть  реалізувати функцію перегляду в  файлі
на  С  робив 

int prosm()
{ char otv; 
printf("Просмотр файла данных \n");
int handle; // дескриптор файла
 FILE *fp;                            // указатель на файл, который будет создан с помощью функции fopen()
 int size=sizeof(struct vokzal);     //размер одной записи (об одной книге) в байтах
 int n,N;
 //printf("dlina zapici file - %i\n",size);
 if ((fp=fopen ("book.dat","rb"))==NULL)
        {fputs("Невозможно открыть файл book.dat\n",stderr);
         getch();
         return 1;
         //exit(1);                                      // в данном случае - то же,что и return 1;
        }
 handle = fileno(fp);     // преобразовать открытый файловый поток в дескриптор файла
 n=filelength(handle);
 //printf("n - %i ",n);
 N=n/size;
 

for (int i = 0; i<N; i++)
{
    fread(&bilet,size,1,fp);

}

fclose(fp);
return 0;
}   

2 Востаннє редагувалося Ярослав (01.07.2014 15:29:56)

Re: Перегляд файлу

Отут, в функії input() є також приклад роботи із файлами.
Робота із файлами на Cpp
Іще на дуже цікаву програмку натрапив отут.