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

Работа с файлом - C++

Восстановить пароль Регистрация
 
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 15:41     Работа с файлом #1
Ранее уже выкладывал код. Поизменял. Поиск разработал. Но ни фига не работает)). Помогите найти. пожалуйста ошибку. В майне цикл не работает так, как требует того программа)
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
#include<cstring>
 
 
using namespace std;
 
//const int N=1024;
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile(char *F,char *N, char *F_b);//Запись в файл
void  Search(char *, char *, char *); //Поиск имени, фамилии, отчеству
                                      // Поиск и запись в отдельный файл книги взятой читателем  
void Instruction() //Инструкция по работе с программой
{
    cout<<"Добро пожаловать на работу\n"<<
        "Нажмите любую клавишу, для начала работы"<<endl;
    cin.get();
    cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
    cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
    cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
}
 
void Output( char *Fm,char *Nm, char *Nm_b)
{
 
     ifstream File2("texot.txt");
       if(!File2){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
        
        while(!File2.eof()){
        cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b;
        }
        File2.close();
 
  /* ifstream f;
    f.open("texot.txt");
 
    char *s=new char [N];
 
    while(!f.eof()){
        f.getline(s,N);
        cout<<s<<"\n";
    }
 
    f.close();
    delete [] s;
    f.close();*/
}
    
 
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
    ofstream File("texot.txt");
    if(!File){
        cerr<<"fail ne mozet bitj otkrit"<<endl;
        exit(1);
        
    }
 
    while(cin>>F>>N>>F_b){
        File<<F<<N<<F_b<<endl;
        cout<<endl;
    }
    File.close();
}
 
void Search(char *Fm_s, char *Nm_s, char *Fb_s) //поиск
{
    char Fm_ss[20], Prov[20];
    cout<<"vvedite ima dlja poiska";
    cin>>Fm_ss;
    ifstream File3("texot.txt", ios::in);
       if(!File3){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
       while(File3.getline(Prov,20)){
           if(strstr(Prov,Fm_ss)){
               cout<<"estj takaja familia"; //доделать
           }
           else
               cout<<"Nema";
       }
       File3.close();
}
int main()
{
    setlocale(LC_ALL,"Russian");
    
    Instruction();
    
    
    char vibor;
        
    do{
        char F_m[20], N_m[20],F_b_m[20];
        
        cin>>vibor;
        switch(vibor){
        case '1':
    textFile( F_m, N_m,  F_b_m);
    break;
    case '2':
    Output(F_m, N_m,  F_b_m);
    break;
    case '3':
        Search(F_m, N_m, F_b_m);
        break;
        default:
 
            cout<<"Неправильный симовол"<<endl;
            
    }
    }while(vibor!='0');
 
        
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2011, 15:41     Работа с файлом
Посмотрите здесь:

C++ Работа с файлом
C++ Работа с файлом
C++ C++. Работа с файлом
Работа с файлом C++
Работа с файлом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 16:10     Работа с файлом #2
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
#include<cstring>
#include <conio.h>
 
 
using namespace std;
 
//const int N=1024;
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile(char *F,char *N, char *F_b);//Запись в файл
void  Search(char *, char *, char *); //Поиск имени, фамилии, отчеству
                                      // Поиск и запись в отдельный файл книги взятой читателем  
void Instruction() //Инструкция по работе с программой
{
        cout<<"Добро пожаловать на работу\n"<<
                "Нажмите любую клавишу, для начала работы"<<endl;
        getch();
        cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
        cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
        cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
}
 
void Output( char *Fm,char *Nm, char *Nm_b)
{
 
     ifstream File2("texot.txt");
       if(!File2){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
        
                while(!File2.eof()){
        cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b;
                }
                File2.close();
 
  /* ifstream f;
    f.open("texot.txt");
 
    char *s=new char [N];
 
    while(!f.eof()){
        f.getline(s,N);
        cout<<s<<"\n";
    }
 
    f.close();
    delete [] s;
        f.close();*/
}
        
 
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
        ofstream File("texot.txt");
        if(!File){
                cerr<<"fail ne mozet bitj otkrit"<<endl;
                exit(1);
                
        }
 
        while(cin>>F>>N>>F_b){
                File<<F<<N<<F_b<<endl;
                cout<<endl;
        }
        File.close();
}
 
void Search(char *Fm_s, char *Nm_s, char *Fb_s) //поиск
{
        char Fm_ss[20], Prov[20];
        cout<<"vvedite ima dlja poiska";
        cin>>Fm_ss;
        ifstream File3("texot.txt", ios::in);
       if(!File3){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
           while(File3.getline(Prov,20)){
                   if(strstr(Prov,Fm_ss)){
                           cout<<"estj takaja familia"; //доделать
                   }
                   else
                           cout<<"Nema";
           }
           File3.close();
}
int main()
{
        setlocale(LC_ALL,"Russian");
        
        Instruction();
        
        
        char vibor;
                
        do{
                char F_m[20], N_m[20],F_b_m[20];
                
                vibor = getch();
                switch(vibor){
                case '1':
        textFile( F_m, N_m,  F_b_m);
        break;
        case '2':
        Output(F_m, N_m,  F_b_m);
        break;
        case '3':
            Search(F_m, N_m, F_b_m);
            break;
        default:
            break;
                        
        }
        }while(vibor!='0');
 
                
        return 0;
}
не совсем понятно чего нужно ?
так будет работать ?)))
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 16:16  [ТС]     Работа с файлом #3
Цитата Сообщение от m1Rr0r Посмотреть сообщение
не совсем понятно чего нужно ?
так будет работать ?)))
Не работает. Надо, чтобы именно цикл в майне работал. Вот я выбираю цифру 1, начинаю забивать файл. После того как забил, я должен выйти(ctrl+z). Далее должен иметь возможность при нажатии цифры 2 вывести все, что я забил до ээтого в файл. Ну и, соответственно, поиск при нажатии цифры 3
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 16:40     Работа с файлом #4
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
#include<cstring>
#include <conio.h>
 
 
using namespace std;
 
//const int N=1024;
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile(char *F,char *N, char *F_b);//Запись в файл
void  Search(char *, char *, char *); //Поиск имени, фамилии, отчеству
                                      // Поиск и запись в отдельный файл книги взятой читателем  
void Instruction() //Инструкция по работе с программой
{
        /*cout<<"Добро пожаловать на работу\n"<<
                "Нажмите любую клавишу, для начала работы"<<endl;
        getch();*/
        cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
        cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
        cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
}
 
void Output( char *Fm,char *Nm, char *Nm_b)
{
 
    ifstream File2("C:\\texot.txt");
       if(!File2){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
        
       File2.getline(Fm,20);
       File2.getline(Nm,20);
       File2.getline(Nm_b,20);
        cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b;
                
                File2.close();
                getch();
 
  /* ifstream f;
    f.open("texot.txt");
 
    char *s=new char [N];
 
    while(!f.eof()){
        f.getline(s,N);
        cout<<s<<"\n";
    }
 
    f.close();
    delete [] s;
        f.close();*/
}
        
 
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
    ofstream File("C:\\texot.txt");
        if(!File){
                cerr<<"fail ne mozet bitj otkrit"<<endl;
                exit(1);
                
        }
 
        /*while(cin>>F>>N>>F_b){
                File<<F<<N<<F_b<<endl;
                cout<<endl;
        }*/
        cout<<"F: ";
        cin.getline(F,20);
        cout<<"\nN: ";
        cin.getline(N,20);
        cout<<"\nF_b: ";
        cin.getline(F_b,20);
        File<<F<<endl<<N<<endl<<F_b<<endl;
        File.close();
}
 
void Search(char *Fm_s, char *Nm_s, char *Fb_s) //поиск
{
        char Fm_ss[20], Prov[20];
        cout<<"vvedite ima dlja poiska";
        cin>>Fm_ss;
        ifstream File3("texot.txt", ios::in);
       if(!File3){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
           while(File3.getline(Prov,20)){
                   if(strstr(Prov,Fm_ss)){
                           cout<<"estj takaja familia"; //доделать
                   }
                   else
                           cout<<"Nema";
           }
           File3.close();
}
int main()
{
        setlocale(LC_ALL,"Russian");
        
        cout<<"Добро пожаловать на работу\n"<<
                "Нажмите любую клавишу, для начала работы"<<endl;
        getch();
        
        
        
        char vibor;
                
        do{
            system("cls");
            Instruction();
                char F_m[20], N_m[20],F_b_m[20];
                vibor = getch();
                switch(vibor){
                case '1':
        textFile( F_m, N_m,  F_b_m);
        break;
        case '2':
        Output(F_m, N_m,  F_b_m);
        break;
                case '3':
                        Search(F_m, N_m, F_b_m);
                        break;
                default:
                        break;
                        
        }
        }while(vibor!='0');
 
                
        return 0;
}
а так ?
ctrl+z не нада жать )
ввод /вывод/выход работает, поиск не смотрел...
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 17:16  [ТС]     Работа с файлом #5
Весьма забавно, конечно, стало работать). В файл не записывает(. И выводит только последний введенный результат(
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 17:28     Работа с файлом #6
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
111
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
#include<cstring>
#include <conio.h>
 
 
using namespace std;
 
//const int N=1024;
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile(char *F,char *N, char *F_b);//Запись в файл
void  Search(char *, char *, char *); //Поиск имени, фамилии, отчеству
                                      // Поиск и запись в отдельный файл книги взятой читателем  
void Instruction() //Инструкция по работе с программой
{
        /*cout<<"Добро пожаловать на работу\n"<<
                "Нажмите любую клавишу, для начала работы"<<endl;
        getch();*/
        cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
        cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
        cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
        cout<<"Нажмите 0 для выхода\n";
}
 
void Output( char *Fm,char *Nm, char *Nm_b)
{
    ifstream File2("texot.txt");
    if(!File2){
        cerr<<"Fail ne mozet bitj otkrit";
        exit(1);
    }
    while(!File2.eof()){
        File2.getline(Fm,20);
        File2.getline(Nm,20);
        File2.getline(Nm_b,20);
        cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b<<endl;
    }
    File2.close();
    getch();
}
        
 
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
    ofstream File("texot.txt", ios::app);
    if(!File){
        cerr<<"fail ne mozet bitj otkrit"<<endl;
        exit(1);
    }
    cout<<"F: ";
    cin.getline(F,20);
    cout<<"\nN: ";
    cin.getline(N,20);
    cout<<"\nF_b: ";
    cin.getline(F_b,20);
    File<<F<<endl<<N<<endl<<F_b<<endl;
    File.close();
}
 
void Search(char *Fm_s, char *Nm_s, char *Fb_s) //поиск
{
        char Fm_ss[20], Prov[20];
        cout<<"vvedite ima dlja poiska";
        cin>>Fm_ss;
        ifstream File3("texot.txt", ios::in);
       if(!File3){
                cerr<<"Fail ne mozet bitj otkrit";
                exit(1);
        }
           while(File3.getline(Prov,20)){
                   if(strstr(Prov,Fm_ss)){
                           cout<<"estj takaja familia"; //доделать
                   }
                   else
                           cout<<"Nema";
           }
           File3.close();
}
int main()
{
    setlocale(LC_ALL,"Russian");
    cout<<"Добро пожаловать на работу\n"<<
        "Нажмите любую клавишу, для начала работы"<<endl;
    getch();
    char vibor;
    do{
        system("cls");
        Instruction();
        char F_m[20], N_m[20],F_b_m[20];
        vibor = getch();
        switch(vibor){
            case '1':
                textFile( F_m, N_m,  F_b_m);
                break;
            case '2':
                Output(F_m, N_m,  F_b_m);
                break;
            case '3':
                Search(F_m, N_m, F_b_m);
                break;
            default:
                break;
        }
    }while(vibor!='0');
 
    return 0;
}
подправил, теперь пишет, дописывает, и читает вроде все верно
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 17:50  [ТС]     Работа с файлом #7
Я балдею))).... Так оригинально получилось. Спасибо большое))) Очень надеюсь, что поиск смогу реализовать))
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 19:07     Работа с файлом #8
всегда пожлст)
сейчас попробую поиск помочь...

Добавлено через 1 час 14 минут
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
#include<iostream>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
#include<cstring>
#include <conio.h>
 
 
using namespace std;
 
 
void Instruction(); //Инструкция
void Output(char *Fm,char *Nm, char *Nm_b); //форматирование вывода, Чтение из файла
void textFile(char *F,char *N, char *F_b);//Запись в файл
void  Search(char *Fm, char *Nm, char *Fm_b); //Поиск имени, фамилии, отчеству
                                      // Поиск и запись в отдельный файл книги взятой читателем  
void Instruction() //Инструкция по работе с программой
{
    cout<<"Нажмите 1 чтобы записать новые поступившие книги(Фамилия,Имя, Отчество"<<endl;
    cout<<"Нажмите 2  для вывода имеющихся книг"<<endl;
    cout<<"Нажмите 3 для поиска книги по фамилии автора"<<endl;
    cout<<"Нажмите 0 для выхода\n";
}
 
void Output( char *Fm,char *Nm, char *Nm_b)
{
    char buff[512]={0};
    char *ptr = NULL;
 
    ifstream File2("texot.txt");
    if(!File2){
        cerr<<"Fail ne mozet bitj otkrit";
        exit(1);
    }
    while(!File2.eof()){
        File2.getline(buff,512);
        ptr = strtok(buff,"|");
 
        strcpy(Fm, ptr);
        ptr = strtok(NULL,"|");
        strcpy(Nm, ptr);
        ptr = strtok(NULL,"|");
        strcpy(Nm_b, ptr);
 
        cout<<setiosflags(ios::left)<<setw(10)<<Fm<<setw(10)<<Nm<<setw(10)<<Nm_b<<endl;
        if(File2.peek()==-1)
        {
            break;
        }
    }
    File2.close();
    getch();
}
        
 
 
void textFile(char *F,char *N, char *F_b)//Запись в файл
{
        ofstream File("texot.txt", ios::app);
        if(!File){
                cerr<<"fail ne mozet bitj otkrit"<<endl;
                exit(1);
        }
        cout<<"F: ";
        cin.getline(F,20);
        cout<<"\nN: ";
        cin.getline(N,20);
        cout<<"\nF_b: ";
        cin.getline(F_b,20);
        File<<"|"<<F<<"|"<<N<<"|"<<F_b<<"|"<<endl;
        File.close();
}
 
void Search(char *Fm, char *Nm, char *Fm_b) //поиск
{
    char vibor=0;
    char *ptr = NULL;
    char buff[512]={0}, str[20]={0};
    bool state = false;
    ifstream File3("texot.txt", ios::in);
 
    if(!File3){
            cerr<<"Fail ne mozet bitj otkrit";
            exit(1);
        }
 
    cout<<"Используем для поиска: \n";
    cout<<"1. Фамилию.\n";
    cout<<"2. Имя.\n";
    cout<<"3. Отчество.\n";
 
    do{
        vibor = getch();
        if(vibor=='1' || vibor=='2' || vibor=='3')
            break;
    }while(true);
 
    switch(vibor)
    {
    case '1':
        cout<<"Введите фамилию: ";
        cin.getline(str,20);
        
        while(!File3.eof())
        {
            //читаем строку и разбираем ее на более мелкие - фам/имя/отч.
            //********************************
            File3.getline(buff,512);//
 
            ptr = strtok(buff,"|");
            strcpy(Fm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Nm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Fm_b, ptr);
            //********************************
            if(strcmp(Fm,str)==0)
            {
                state = true;
                break;
            }
            if(File3.peek()==-1)
            {
                break;
            }
        }
        break;
    case '2':
        cout<<"Введите фамилию: ";
        cin.getline(str,20);
        
        while(!File3.eof())
        {
            //читаем строку и разбираем ее на более мелкие - фам/имя/отч.
            //********************************
            File3.getline(buff,512);//
 
            ptr = strtok(buff,"|");
            strcpy(Fm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Nm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Fm_b, ptr);
            //********************************
            if(strcmp(Nm,str)==0)
            {
                state = true;
                break;
            }
            if(File3.peek()==-1)
            {
                break;
            }
        }
        break;
    case '3':
        cout<<"Введите фамилию: ";
        cin.getline(str,20);
        
        while(!File3.eof())
        {
            //читаем строку и разбираем ее на более мелкие - фам/имя/отч.
            //********************************
            File3.getline(buff,512);//
 
            ptr = strtok(buff,"|");
            strcpy(Fm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Nm, ptr);
            ptr = strtok(NULL,"|");
            strcpy(Fm_b, ptr);
            //********************************
            if(strcmp(Fm_b,str)==0)
            {
                state = true;
                break;
            }
            if(File3.peek()==-1)
            {
                break;
            }
        }
        break;
    default:
        break;
    }
    if(state)
    {
        cout<<"Записи есть\n";
    }
    else
    {
        cout<<"Записей нет\n";
    }
    File3.close();
    getch();
}
int main()
{
        setlocale(LC_ALL,"Russian");
        cout<<"Добро пожаловать на работу\n"<<
                "Нажмите любую клавишу, для начала работы"<<endl;
        getch();
        char vibor;
        do{
                system("cls");
                Instruction();
                char F_m[20], N_m[20],F_b_m[20];
                vibor = getch();
                switch(vibor){
                        case '1':
                                textFile( F_m, N_m,  F_b_m);
                                break;
                        case '2':
                                Output(F_m, N_m,  F_b_m);
                                break;
                        case '3':
                                Search(F_m, N_m,  F_b_m);
                                break;
                        default:
                                break;
                }
        }while(vibor!='0');
 
        return 0;
}
много текста лишнего, Но вроде работает...
как пример думаю сойдетЪ )
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 19:27  [ТС]     Работа с файлом #9
Вот теперь я начал реально путаться. Надо время потратить, что б разобраться как код работает) Но программа выполняет только функцию заполнения. или я что-тоьне так делаю. Поиск и вывод вылетают с ошибкой
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
07.07.2011, 19:41     Работа с файлом #10
C++
1
 do{                 vibor = getch();                 if(vibor=='1' || vibor=='2' || vibor=='3')                         break;         }while(true);
Вот это бы цикл может лучше так:
C
1
while (((vibor = getch())<'1')||(vibor>'3'))  ;
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 19:51     Работа с файлом #11
viktorrrr,
если валяться ошибки, используй предыдущий пример там где работает запись и вывод
а поиск придумай сам )

voral,
Добавлено через 3 минуты
Цитата Сообщение от voral Посмотреть сообщение
C++
1
 do{                 vibor = getch();                 if(vibor=='1' || vibor=='2' || vibor=='3')                         break;         }while(true);
Вот это бы цикл может лучше так:
C
1
while (((vibor = getch())<'1')||(vibor>'3'))  ;
может и лучше )
viktorrrr
42 / 42 / 1
Регистрация: 11.02.2010
Сообщений: 358
07.07.2011, 21:21  [ТС]     Работа с файлом #12
Прошу прощения. Видюха умерла. Кое-как нашел другую. Счаз попробую дрова найти. Тут в деревне вообще связь плохая. Пожалуйста, не покидайте меня))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2011, 21:37     Работа с файлом
Еще ссылки по теме:

Работа с файлом C++
C++ Работа с файлом
If работа с файлом C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 21:37     Работа с файлом #13
чем помочь ?
Yandex
Объявления
07.07.2011, 21:37     Работа с файлом
Ответ Создать тему
Опции темы

Текущее время: 18:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru