Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Тема 3. Субъекты предпринимательского права

Читайте также:
  1. I. Понятие законности. Соотношение законности, права и власти.
  2. I. Понятие законности. Соотношение законности, права и власти.
  3. I. Понятие и виды источников (форм) права.
  4. I. Права на результаты интеллектуальной деятельности
  5. I. Теория государства и права как наука. Ее место в системе юридических наук.
  6. I. Теория государства и права как наука. Ее место в системе юридических наук.
  7. II. Конституционно-правовые нормы, отношения и их субъекты
  8. II. Методология теории государства и права.
  9. II. Объекты и субъекты криминалистической идентификации. Идентификационные признаки и их классификация.
  10. II. Организация деятельности Школы Права

1) Функции fgetc() и fputc() позволяют соответственно осуществить ввод-вывод символа.

2) Функции fgets() и fputs() позволяют соответственно осуществить ввод-вывод строки.

3) Функции fscanf() и fprintf() позволяют соответственно осуществить форматированный ввод-вывод и аналогичный соответствующим функциям форматированного ввода-вывода, только делают это применительно к файлу.

Организация работы с файлами средствами C++

Файловый ввод-вывод с использованием потоков

Библиотека потокового ввода-вывода

fstream

Файловый ввод/вывод аналогичен стандартному вводу/выводу, единственное отличие – это то, что ввод/вывод выполнятся не на экран, а в файл. Если ввод/вывод на стандартные устройства выполняется с помощью объектов cin и cout, то для организации файлового ввода/вывода достаточно создать собственные объекты, которые можно использовать аналогично операторам cin иcout.

Связь файла с потоком вывода

ofstream имя логического файла;

Связь файла с потоком ввода

ifstream имя логического файла;

Открытие файла

имя логического файла.open(имя физического файла);

Закрытие файла

имя логического файла.close();

Изменить поведение по умолчанию, а также задать другие режимы открытия файла можно с помощью следующих констант:

Режимы открытия файла комбинируются с помощью операции поразрядного ИЛИ (|).

Например:

fstream fs("f1.txt", ios_base::in | ios_base::out | ios_base::trunk); // Открытие файла для чтения и записи с удалением содержимого файла
ifstream ifs("f2.txt", ios_base::in | ios_base::binary); // Открытие двоичного файла для чтения   Для записи в текстовый файл строки необходимо проделать следующие шаги: · создать объект класса ofstream; · cвязать объект класса с файлом, в который будет производиться запись; · записать строку в файл; · закрыть файл.

Для того чтобы прочитать файл понадобится выполнить те же шаги, что и при записи в файл с небольшими изменениями:

· создать объект класса ifstream и связать его с файлом, в который будет производиться запись;

· прочитать файл;

· закрыть файл.

Пример 4. Заполнить файл значениями функции y = x * cos x.

#include <cstdlib>

#include <iostream>

#include <fstream>

#include <cmath>

using namespace std;

 

double fun(double x)

{

return x*cos(x);

}

 

int main()

{

double a, b, h, x; char s[20];

cout << "Enter the beginning and end of the segment, step-tabulation: ";

cin >> a >> b >> h;

cout << "File name? "; cin >> s;

ofstream f;

f.open(s);

for (x=a; x<=b; x+=h)

{

f.width(10); f << x;

f.width(15); f << fun(x) << endl;

}

f.close();

return 0;

}

Пример 5. Файл содержит несколько строк, в каждой из которых записано единственное выражение вида a#b (без ошибок), где a, b - целочисленные величины, # - операция +, -, /, *. Вывести каждое из выражений и их значения.

#include <cstdlib>#include <iostream>#include <fstream> using namespace std;int main(){ long a, b; char s[256], c; int i; cout << "File name? "; cin >> s; ifstream f; f.open(s); while (!f.eof()) { f.getline(s, 256); i=0; a=0; while (s[i]>='0'&&s[i]<='9') { a=a*10+s[i]-'0'; i++; } c=s[i++]; b=0; while (s[i]>='0'&&s[i]<='9') { b=b*10+s[i]-'0'; i++; } switch (c) { case '+': a+=b; break; case '-': a-=b; break; case '/': a/=b; break; case '*': a*=b; break; } cout << s << " = " << a << endl; } f.close(); return 0;}

 

Для работы с двоичными файлами используются функции read и write. В качестве параметров функции получают указатель (типа char* для функции read и типа const char* для функции write), который задаёт адрес начала массива для ввода/вывода, и целое число, задающее количество байт для ввода/вывода.

Пример 1 (потоковый вывод). Заполнить бинарный файл некоторым количеством целых случайных чисел.

#include <cstdlib>#include <iostream>#include <fstream> using namespace std;int main(){

ofstream f;

int dat;

srand(time(0));

int n=rand()%30+1;

cout << "File name? ";

char s[20];

cin.getline(s, 20);

f.open(s,ios::binary|ios::out|ios::trunc);

for (int i=1; i<=n; i++)

{

dat = rand()%101 - 50;

cout << dat << " ";

f.write((char *)&dat,sizeof(int));

}

cout<<endl;

f.close();

return 0;}

Пример 6. (потоковый ввод). Подсчитать сумму ряда целых чисел, заданных в бинарном файле.

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main()

{

ifstream f;

int dat, n=0, sum=0;

cout << "File name? ";

char s[20];

cin.getline(s, 20);

f.open(s, ios::binary|ios::in);

while (f.read((char *)&dat,sizeof(int)))

{

n++;

cout << dat << " ";

sum+=dat;

}

// while (1)

// {

// f.read((char *)&dat,sizeof(int));

// if (f.eof())

// break;

// n++;

// cout << dat << " ";

// sum+=dat;

// }

cout << endl;

cout << "sum: " << sum << "; number: " << n << endl;

f.close();

return 0;

}

 

 

Пример 7. Чтение и запись структуры в файл.

#include <cstring>

#include <iostream>

#include <fstream>

 

using namespace std;

 

struct mystruct {

long i;

char buf[255];

double d;

};

int main()

{

const char *FName="my_struct.dat"; //Путь к файлу

mystruct X;

//memset(&ms,0,sizeof ms); //можно проинициализировать элементы структуры нулями так

X.i = 10; //записали значение в поле i

X.d = 2; //записали значение в поле d

strcpy(X.buf,"some text"); //Записали значение в поле buf

// открываем файл для записи

ofstream f(FName,ios::binary|ios::out);

f.write((char*)&X,sizeof X); //Записали всю структуру целиком

f.close();

strcpy(X.buf,"\0"); //изменяем поле buf струтктуры X

X.i=0; //изменяем поле i структуры X

//открываем файл для чтения

ifstream in(FName,ios::binary|ios::in);

in.read((char*)&X,sizeof X); //Читаем структуру целиком сразу

in.close();

cout<<X.buf<<"\n"; //Выводим значение из поля структуры. Оно равно some text

return 0;

}

 

 

Тема 3. Субъекты предпринимательского права

1. Субъекты предпринимательского права и их признаки

2. Образование и прекращение субъектов предпринимательского права

3. Порядок и основные этапы создания субъектов предпринимательского права

4. Индивидуальный предприниматель как субъект предпринимательского права

5. Лицензирование предпринимательской деятельности




Дата добавления: 2014-12-19; просмотров: 107 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.015 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав