Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #pragma warning(disable: 4996)
- #include <windows.h>
- #include <fstream>
- #include <string>
- #include <iostream>
- using namespace std;
- struct igruschka
- {
- char name [15];
- int stoimost;
- int min;
- int max;
- };
- //ВВОД N====================================
- void vvod(int &n)
- {
- cout << " Vvedite kol-vo igruschek ";
- cin >> n;
- }
- //КОНЕЦ ВВОДА N=============================
- //БИНАРНЫЙ ФАЙЛ===============================
- void myfile (int n)
- {
- //ЗАПИСЬ БИНАРНОГО ФАЙЛА==================
- igruschka perem;
- FILE * f;
- f=fopen ("file.bin", "wb");
- if (f== NULL)
- {
- cout << "Oschibka otkritiya faila dlya zapisi" << endl;
- exit(EXIT_FAILURE);
- }
- for (int i=0; i<n; i++)
- {
- cout << "Nazvanie igrushki - "; cin >> perem.name;
- cout << "Stoimost - "; cin >> perem.stoimost;
- cout << "Min vozrast - "; cin >> perem.min;
- cout << "Max vozrast - "; cin >> perem.max;
- }
- fwrite(&perem,sizeof(igruschka),1,f);
- fclose(f);
- //ЧТЕНЕ БИНАРНОГО ФАЛЙА=============================
- f=fopen ("file.bin", "rb");
- if (f== NULL)
- {
- cout << "Oschibka otkritiya faila dlya zapisi" << endl;
- exit(EXIT_FAILURE);
- }
- for (int i=0; i<n; i++)
- {
- fread (&perem, sizeof(igruschka),1,f);
- if ((perem.stoimost <= 400) && (perem.min <= 5) && (perem.max <=5))
- cout << perem.name << endl;
- }
- fclose(f);
- }
- //КОНЕЦ БИНАРНОГО ФАЙЛА============================
- //ТЕХТОВЫЙ ФАЙЛ==================================
- void myfile (double n)
- {
- //ЗАПИСЬ ТЕКСТОВОГО ФАЙЛА=======================
- FILE * f;
- f=fopen ("text.txt", "w");
- if (f== NULL)
- {
- cout << "Oschibka oktritiya faila dlya zapisi" << endl;
- exit(EXIT_FAILURE);
- }
- char name [15];
- char stoimost[15];
- char min [15];
- char max [15];
- for (int i=0; i<n; i++)
- {
- cout << "Nazvanie igrushki - "; cin >>name;
- cout << "Stoimost - "; cin >> stoimost;
- cout << "Min vozrast - "; cin >> min;
- cout << "Max vozrast - "; cin >> max;
- fputs (name,f);
- fputs ("\n",f);
- fputs (stoimost,f);
- fputs ("\n",f);
- fputs (min,f);
- fputs ("\n",f);
- fputs (max,f);
- fputs ("\n",f);
- }
- fclose(f);
- //ЧТЕНИЕ ТЕКСТОВОГО ФАЙЛА==========================
- f=fopen ("text.txt", "r");
- if (f== NULL)
- {
- cout << "Oschibka otkritiya faila dlya zapisi" << endl;
- exit(EXIT_FAILURE);
- }
- for (int i=0; i<n; i++)
- {
- fgets(name,15,f);
- OemToAnsi (name,name);
- fgets(stoimost,15,f);
- fgets(min,15,f);
- fgets(max,15,f);
- int stoimost1 = atoi(stoimost);
- int min1 = atoi(min);
- int max1 = atoi(max);
- if ((stoimost1 <= 400) && (min1 <= 5) && (max1 <=5))
- cout << name << endl;
- }
- fclose(f);
- }
- // КОНЕЦ ТЕКСТОВОГО ФАЙЛА======================
- int main()
- {
- int n,menu;
- cout << "Viberiti punkt menu: \n 1) binarniy \n 2) text" << endl; cin >> menu;
- switch (menu){
- case 1:
- { vvod(n); myfile (n); break;}
- default :
- { vvod(n); double n1=n; myfile (n1); break; }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement