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

Работа с файлом через классы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Disk is not ready in drive D http://www.cyberforum.ru/cpp-beginners/thread171929.html
Установил Turbo C++ в C:\ Невозможно открыть файл, выдаёт: disk is not ready in drive D В меню Options - Directories пути прописаны: C:\TC\INCLUDE C:\TC\LIB Да, и когда он запущен сильно комп грузится. Добавлено через 2 часа 23 минуты И такие не помагают: C:\TC\BIN\INCLUDE
C++ Найти максимальный элемент массива и его порядковый номер. 17.Дан массив А(4). Найти максимальный элемент массива и его порядковый номер. http://www.cyberforum.ru/cpp-beginners/thread171921.html
первые 100 натуральных чисел, делящихся на 13 или на 17, и печатающую его. C++
13. Напишите программу, заносящую в массив первые 100 натуральных чисел, делящихся на 13 или на 17, и печатающую его.
Найти число локальных максимумов массива C++
12.Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, и печатает число локальных максимумов (элемент является локальным максимумом, если он не имеет соседей, больших, чем он сам).
C++ первое вхождение заданного целого числа х в массив целых чисел. http://www.cyberforum.ru/cpp-beginners/thread171916.html
11.Напишите программу, определяющую первое вхождение заданного целого числа х в массив целых чисел.
C++ Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше Помогите, пожалуйста! Отредактировать заданное предложение, удаляя из него те слова, которые уже встречались в предложении раньше. Как это вообще писааать?? подробнее

Показать сообщение отдельно
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
04.10.2010, 10:15  [ТС]     Работа с файлом через классы
Цитата Сообщение от NightmareZ Посмотреть сообщение
Убиться. Что ж вы за ересь такую пишете? Кто на C++ так с файлами работает?
Не, мне нужно через классы. Вот написал. С файла считывает слова как нужно, но терь отсортировать не могу.

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
#include <iostream> 
#include <string.h>
#include <iostream>
 
using namespace std;
 
class Read{
    private:
        FILE* in;
        FILE* out;
        int n;
        char str[50][50];
       
    public:
        Read(){
            n=0;
        };
        void FileOpen(char *f);
        void TextSort();
        void SaveFile(char *f);
 
};
 
void Read::FileOpen(char *f){
    while(true){
        char str;
        cout<<"Введите имя файла: ";
        cin>>f;
        in=fopen(f,"r");
        if (!in){
            cout<<"Ошибка имени файла!"<<endl;
            continue;
        }
        else break;
    }
 
    while (true){
        fscanf(in,"%s",&str[n]);
        if (feof(in))
            break;
        n++;
    }
 
    for(int i=0;i<n;i++){
        cout<<str[i];
        cout<<endl;
    }
 
    fclose(in);
}
 
void Read::TextSort(){
    char mass;
    for (int i=0; i<n; i++){
        if (str[i]>str[i+1]){
            mass=str[i];
            str[i]=str[i+1];  //1>main.cpp(57): error C2106: =: левый операнд должен быть левосторонним значением
            str[i+1]=mass;  //1>main.cpp(58): error C2440: =: невозможно преобразовать "char" в "char [50]"
        }
    }
    for (int i=0; i<n; i++){
        cout<<str[i];
    }
}
 
int main(){
    setlocale(LC_ALL,"Russian");
    char f[255];
    Read w;
    w.FileOpen(f);
        w.TextSort();
        
return 0;
}
Ошибки я вон в коде закоментил))
И мы потоки как бы еще не изучали
 
Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru