Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Загрузка файла в массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вставить новый символ после заданного http://www.cyberforum.ru/cpp-beginners/thread1141968.html
К примеру с клавиатуры вводим а и * и после всех а должна доставиться *
C++ Функция: найти exp(-1) как сумму ряда Дано натуральное число N. exp(-1)=sum(pow(-1,n)*(pow(x,n)))/fact(n) http://www.cyberforum.ru/cpp-beginners/thread1141965.html
C++ Структура "Студент". Реализовать подпрограммами
Добрый вечер. Нужно, полностью развязать задачу. Реализовать подпрограммами ____________________________ Нужно ввести 10 студентов ____________________________ 1. № п / п 2. Фамилия студента ...
C++ Найти разность между произведением нечетных чисел и наибольшим среди отрицательных
Вводится последовательность из N целых чисел, найти разность между произведением нечетных чисел и наибольшим среди отрицательных.
C++ Подсчитать сумму элементов массива, расположенных на побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread1141959.html
Использование функций-шаблонов: для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи: Подсчитать...
C++ Программа (class Complex) на неуправляемом языке c++ Написал программу. Заголовочный файл class Complex { private: double x, y; public: Complex(); Complex(double, double); Complex(Complex &); void assign(Complex&); friend void... подробнее

Показать сообщение отдельно
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
08.04.2014, 01:00  [ТС]
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include<iostream>
#include<string>
#include<fstream>
 
using namespace std;
 
struct Animal {
    int code;
    string name;
    double food;
};
 
enum { ADD = 1, NEW, EXIT };
 
void AddAnimals(Animal *animalDB, int size);
void ShowAnimals(Animal *animalDB, int size);
void Menu();
 
int main(){
    int size;
    cout<<"How much animals you want to add? ";
    cin>>size;
    Animal *animalDB = new Animal[size];
    AddAnimals(animalDB, size);
    ShowAnimals(animalDB, size);
// Открываем существующий (или создаем новый) файл, для записи элементов массива в него
    ofstream updateFile;
    bool menu = true;
    while (menu){
        int choice;
        Menu();
        cin>>choice;
        switch(choice){
        case ADD : updateFile.open("Animals.db", ios::out, ios::binary);
            menu = false;
            break;
        case NEW : updateFile.open("Animals.db", ios::app, ios::binary);
            menu = false;
            break;
        case EXIT : cout<<"Good Bye!"<<endl;
            system("PAUSE");
            return 0;
        default : cout<<"Incorrect choice! Try again."<<endl;
        }
    }
    updateFile.write((char*) animalDB, sizeof(Animal)*size);
    updateFile.close();
//Открываем файл для чтения, если он существует
    ifstream showFile;
    showFile.open("Animals.db", ios::binary);
    if (showFile){
        showFile.seekg(0, ios::end);
        int arrSize = showFile.tellg()/sizeof(Animal);
        Animal *animalDBtest = new Animal[arrSize];
        showFile.read((char*) animalDBtest, showFile.tellg());
        ShowAnimals(animalDBtest, arrSize);
        showFile.close();
    } else cout<<"Can't find file \"Animals.db\""<<endl;
    system("PAUSE");
    return 0;
}
 
void ShowAnimals(Animal *animalDB, int size){
    for(int i = 0; i < size; i++){
        cout<<animalDB[i].name<<endl;
        cout<<animalDB[i].code<<endl;
        cout<<animalDB[i].food<<endl;
    }
}
 
void AddAnimals(Animal *animalDB, int size){
    for(int i = 0; i < size; i++){
        cout<<"Pet nr."<<i+1<<": "<<endl;
        cout<<endl<<"Enter pets name: ";
        cin>>animalDB[i].name;
        cout<<endl<<"Enter pets code: ";
        cin>>animalDB[i].code;
        cout<<endl<<"Enter how much pet eat per day: ";
        cin>>animalDB[i].food;
    }
}
 
void Menu(){
    cout<<"If you want to create new database - press: \"1\""<<endl;
    cout<<"If you want to add animals in exciting database - press: \"2\""<<endl;
    cout<<"If you want to exit - press: \"3\""<<endl;
    cout<<"Your choice: ";
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru