С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как работать с датой? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Можите найти ошибку в методе простых итераций он не расчитывает кубический корень http://www.cyberforum.ru/cpp-beginners/thread615203.html
#include<stdlib.h> #include<math.h> #include<iostream> #include<fstream> usingnamespace std; floatfun1(int num,float x,float a,float b,float c){ float f; switch (num){ case...
C++ scanf_s Объясните, пожалуйста, в чём смысл этой строчки? scanf_s(" %", stroka_1, 10); http://www.cyberforum.ru/cpp-beginners/thread615175.html
C++ Поразрядные операции
Обьясните пожалуйста работу поразрядных операций (&, |, ^, <<, >>, ~). Например, n=n&0177; - обнуляет все биты переменной N, кроме младших семи.
ClassWizard C++
Добрый день! Столкнулся с проблемой не работает код, главное компилируется а при запуске выдает ошибку: fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory я так...
C++ Статическая переменная http://www.cyberforum.ru/cpp-beginners/thread615136.html
Добрый день! Объясните пожалуйста, что такое статическая переменная, в каких случаях лучше использовать именно её и чем она вообще хороша? Спасибо!
C++ Обращение двух классов друг к другу Есть 2 заголовочных файла: a.h, b.h. В них соответственно классы A и B. #include "a.h" #include "b.h" Они должны обращаться друг к другу. B может обращаться к A, а тот его не видит. Как... подробнее

Показать сообщение отдельно
Mar_Av
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 3
25.11.2013, 22:24
#include<iostream>
#include<iomanip>
#include<string>
#include<clocale>
#include<fstream>
#include <iostream>
using namespace std;
struct Klient
{
char name[20]; //Фамилия
char country[20]; //Страна
char data[20]; //Нужен формат даты
int kolvo; //Количество поездок
int sum; //Сумма всех поездок
};
int read_f(fstream &f,fstream &out)//Чтение из текстового файла и запись в бинарный
{
int i=0; Klient a;
while(!f.eof()) //Пока не достигнут конец файла
{
f>>a.name; f>>a.country; f>>a.data; f>>a.sum; f>>a.kolvo;
out.write((char*) &a,sizeof a);
i++;
}
return i;
}
void outfile ( fstream &f, int n)//Вывод
{
Klient a;
f.seekg(0); //установить указатель на начало файла
cout<<setw(17)<<"Фамилия|"<<setw(17)<<"Страна|"<<setw(17)<<"Дата поездки|"<<setw(16)<<"Сумма поездок|"<<setw(11)<<"Поездки|"<<endl;
for(int i=0;i<n;i++)
{
f.read((char*)&a,sizeof a); //Чтение из файла
cout<<setw(78)<<"________________________________________________________________________"<<endl;
cout<<setw(16)<<a.name<<"|"<<setw(16)<<a.country<<"|"<<setw(16)<<a.data<<"|"<<setw(15)<<a.sum<<"|"<<setw(10)<<a.kolvo<<" |"<<endl;
cout<<endl;
}
cout<<endl<<endl;
}
int print_post(fstream &f,fstream &f_new,int n)//Постоянные клиенты
{
Klient a;int l=0;
f.seekg(0);f_new.seekp(0);
for(int i=0;i<n;i++)
{
f.read((char*) &a,sizeof a);
if(a.kolvo>=2){l++; f_new.write((char*) &a,sizeof a);}
}
return l;
}
int print_str(fstream &f,fstream &f_new,int n)//Вывод инф о клиентах,посещавших опр страну с заданный временной период
{
char y[20]; char u[20]; //char v[20]; - Невозможно сравнение
cout<<"y = "; cin>>y; cout<<"u = ";cin>>u; //cout<<"v = "; cin>>v;
Klient a;int h=0;
f.seekg(0);f_new.seekp(0);
for(int i=0;i<n;i++)
{
f.read((char*) &a,sizeof a);
if(strcmp(a.country,y)==0){ h++; f_new.write((char*) &a,sizeof a);}
}
return h;
}

int print_klient(fstream &f,fstream &f_new,int n) //Скидки
{
int c; int d; int x;
cin>>x; system("cls"); cout<<"Для скидки в "<<x<<"%"<<endl;
cout<<"c = ";cin>>c; cout<<"d = "; cin>>d;
Klient a;int k=0;
f.seekg(0);f_new.seekp(0);
for(int i=0;i<n;i++)
{
f.read((char*) &a,sizeof a);
if(a.sum>=c&&a.sum<d){ k++; f_new.write((char*) &a,sizeof a);}
}
return k;
}
int main()
{
setlocale(LC_CTYPE,"Russian");
fstream in("Klient.txt",ios::in);
if(!in){cout<<"Файл Klient не открыт"<<endl;return 1;}
fstream out("Klient.dat",ios::out|ios::binary);
if(!out){cout<<"Файл Klient не открыт"<<endl;return 1;}
int size_f=read_f(in,out);
in.close(); out.close();
fstream out_f("Klient.dat",ios::in|ios::out|ios::binary);
if(!out_f){cout<<"Файл Klient не открыт"<<endl;return 1;}
fstream out_f1("Klient.dat",ios::in|ios::out|ios::binary);
if(!out_f1){cout<<"Файл Klient не открыт"<<endl;return 1;}
fstream out_f2("Klient.dat",ios::in|ios::out|ios::binary);
if(!out_f2){cout<<"Файл Klient не открыт"<<endl;return 1;}
fstream out_f3("Klient.dat",ios::in|ios::out|ios::binary);
if(!out_f3){cout<<"Файл Klient не открыт"<<endl;return 1;}

int x;
do
{

cout<<"1 - Просмотреть список клиентов"<<endl;
cout<<"2 - Поиск постоянных клиентов"<<endl;
cout<<"3 - Поиск клиентов,посещавших данную страну в данный временной период"<<endl;
cout<<"4 - Скидки"<<endl;
cout<<"5 - Завершение"<<endl;
cin>>x;
switch(x)
{
case 1:
{cout<<"Исходный список клиентов"<<endl<<endl;
outfile(out_f,size_f);} break;
case 2:
{cout<<"Постоянные клиенты"<<endl<<endl;
outfile(out_f1,print_post(out_f,out_f1,size_f));} break;
case 3:
{cout<<"Посещение"<<endl<<endl;
outfile(out_f2,print_str(out_f,out_f2,size_f));} break;
case 4:
{cout<<"Скидки"<<endl<<endl;
outfile(out_f3,print_klient(out_f,out_f3,size_f));} break;
default: break;
}
}
while(x!=5);
out_f.close(); out_f1.close(); out_f2.close(); out_f3.close();
return 0;

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