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

Функция чтения из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка. Заполнить матрицу по столбцам сверху вниз http://www.cyberforum.ru/cpp-beginners/thread1179158.html
Все элементы с заданным значением в правой верхней области матрицы(по столбцам сверху вниз) Подскажите, пожалуйста. Я не могу придумать, как это осуществить. Создать второй массив и записывать туда эти значения?
C++ Сортировка двумерного массива Методом Шелла (по убыванию) Необходимо написать код программы которая сортирует двумерный массив методом Шелла по убыванию. Я нашел код только для одномерного массива. Помогите переделать его для двумерного массива, пожалуйста. Сам код: #include <iostream> using namespace std; int main() { // Считываем размер массива, // который необходимо отсортировать http://www.cyberforum.ru/cpp-beginners/thread1179139.html
C++ Ошибка при построении графиков
Здравствуйте. Мне необходимо написать программу, которая строила бы один из двух графиков функции по выбору пользователя. То есть имеются две функции: 1)y=a*x*x*x+b*x+c 2)y=a*cos(x+b)+c Пользователь выбирает ту функцию, график которой он хочет построить и программа строит его. Я написал программу, но почему-то появляется ошибка в putpixel(x+X0,-y+Y0, 3); Сама программа приведена ниже:...
Связка структур, разработка функций C++
Есть проблема. Есть 3 бинарных файла Subjects.txt Student.txt Mark.txt Есть 3 структуры: Код: struct Student { char Student_Name; char Student_Surname; char Student_Code;
C++ Найти наибольший элемент на главной и побочной диагоналях http://www.cyberforum.ru/cpp-beginners/thread1179130.html
сам не шарю вообще предмет не профильный нужно написать программу на с++ помогите пожалуйста вот задание Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей. Матрица размещается в памяти динамически с помощью операции new, значение n...
C++ Максимальный элемент дерева Здравствуйте. Как мне реализовать код выводи максимального элемента в дереве? Я пока что делаю это так: int Tree::MaxLen(TreeNode *m) { if (m!=NULL) { MaxLen(m->right); cout << m->data << endl; } } подробнее

Показать сообщение отдельно
Darkos
5 / 5 / 4
Регистрация: 16.05.2014
Сообщений: 74
18.05.2014, 10:02  [ТС]     Функция чтения из файла
Цитата Сообщение от monolit Посмотреть сообщение
fin >> /*что-то*/
Пробовал и так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   .  .  .
else
    {
        long file_size;
        fin.seekg(0, ios::end);
        file_size = fin.tellg();
        if(file_size == 0) {cout << "Файл пустой! Сначала заполните его!" << endl;}
        else
        {
            
            string str;
            fin >> str;
            cout << str;  //Вместо того чтоб вывести str переходит сразу к ex();
        
        }
    }
    ex();
  .  .  .
Добавлено через 12 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Какие данные?
Данные в файле persons.txt таким образом:
фамилия имя 1 2 3 4 5 6
фамилия имя 1 2 3 4 5 6
1,2,3,4,5 - оценки
6 - средний бал

Цитата Сообщение от alsav22 Посмотреть сообщение
Как записывали?
Записывал так:
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/* klas.cpp */
 
#include <iostream>
#include <fstream>
#include <string>
#include "klas.h"
;using namespace std;
 
 
/* Конструктор класса */ klas::klas()
{
    string s_name,s_famil;           // Обьявляем переменные
    cout << "**************  Имя и фамилию вводить английскими буквами  **************" << endl << endl 
         <<"Введите имя >>     ";
    cin >> s_name;
    cout << "Введите фамилию >> ";   // Вводим данные
    cin >> s_famil;
    name = s_name;
    famil = s_famil;
    
    klas::set_scores();
}
 
/* Деструктор класса */  klas::~klas()
{
    klas::save();
}
/* Записываем оценки, вычисляем средний бал */  void klas::set_scores()
{
    setlocale(0, "");            // Включаем русский язык
    ser_bal = 0.0;
    for(int i=0; i<5; i++)
    {
error:
        cout << "Введите оценку " << i+1 << " >> ";
        cin >> scores[i];
        if(scores[i]>12 || scores[i]<1)
        {
            cout << "Такой оценки нет! Повторите попытку." << endl;
            goto error;
        }
        ser_bal += scores[i];
    }
    ser_bal /= 5;
    
}
 
/* Выдаем имя */  string klas::get_name()
{
    return name;
}
/* Выдаем фамилию */  string klas::get_famil()
{
    return famil;
}
 
 
/* Выдаем средний бал */  float  klas::get_bal()
{
    return ser_bal;
}
/* Сохраняем данные в файл */ void klas::save()
{
    ofstream fout("persons.txt", ios::app);
 
    // Запись в файл
    fout << klas::get_name() << " "
         << klas::get_famil() << " ";
 
    for(int i=0; i<5; i++)
    {
        fout << scores[i] << " ";
    }
    fout << klas::get_bal()
         << endl;
 
    fout.close();     // Закрываем файл
}
/* Проверка на ошибку ввода */ int klas::exit()
{
    int a;
error:
    cout <<"Хотите выйти?" << endl << "Остатся >> 1 \t Выйти >> 0" << endl;
    cin >> a;
    if (a!=0 && a!=1) 
    {
        cout << "Вы ввели вневерное значение! Повторите попытку." << endl;
        goto error;
    }
    system("cls");
    return a;
}
 
/* main.cpp */
 
  .  .  .
set:
    while(true)
    {   
        klas *Person_1 = new klas();
        
        system("cls");    // Очистка консоли
        delete Person_1;
         
        if(Person_1->exit()==0) 
        {
            goto menu;
        }
    }
  .  .  .
Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем, перед чтением, определяете размер данных в файле?
Если размер файла = 0, значит файл пустой и выводить нечего
C++
1
2
3
4
long file_size;
        fin.seekg(0, ios::end);
        file_size = fin.tellg();
        if(file_size == 0) {cout << "Файл пустой! Сначала заполните его!" << endl;}
 
Текущее время: 14:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru