45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
1

Работа с файлом

07.07.2011, 15:41. Показов 863. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ранее уже выкладывал код. Поизменял. Поиск разработал. Но ни фига не работает)). Помогите найти. пожалуйста ошибку. В майне цикл не работает так, как требует того программа)
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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2011, 15:41
Ответы с готовыми решениями:

GUI Работа с текстовым файлом, лог файлом не мешая системе
Хочу написать прогу которая будет по таймеру искать в тхт - лог файле сообщение об ошибке. Например...

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

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

Работа с файлом
Добрый вечер. Нужно подсчитать количество точек, попадающих в круг радиуса 4 с центром в начале...

12
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
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;
}
не совсем понятно чего нужно ?
так будет работать ?)))
0
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
07.07.2011, 16:16  [ТС] 3
Цитата Сообщение от m1Rr0r Посмотреть сообщение
не совсем понятно чего нужно ?
так будет работать ?)))
Не работает. Надо, чтобы именно цикл в майне работал. Вот я выбираю цифру 1, начинаю забивать файл. После того как забил, я должен выйти(ctrl+z). Далее должен иметь возможность при нажатии цифры 2 вывести все, что я забил до ээтого в файл. Ну и, соответственно, поиск при нажатии цифры 3
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
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 не нада жать )
ввод /вывод/выход работает, поиск не смотрел...
1
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
07.07.2011, 17:16  [ТС] 5
Весьма забавно, конечно, стало работать). В файл не записывает(. И выводит только последний введенный результат(
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
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;
}
подправил, теперь пишет, дописывает, и читает вроде все верно
1
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
07.07.2011, 17:50  [ТС] 7
Я балдею))).... Так оригинально получилось. Спасибо большое))) Очень надеюсь, что поиск смогу реализовать))
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
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;
}
много текста лишнего, Но вроде работает...
как пример думаю сойдетЪ )
1
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
07.07.2011, 19:27  [ТС] 9
Вот теперь я начал реально путаться. Надо время потратить, что б разобраться как код работает) Но программа выполняет только функцию заполнения. или я что-тоьне так делаю. Поиск и вывод вылетают с ошибкой
0
2623 / 1258 / 248
Регистрация: 16.03.2008
Сообщений: 5,933
Записей в блоге: 2
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'))  ;
1
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
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'))  ;
может и лучше )
0
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
07.07.2011, 21:21  [ТС] 12
Прошу прощения. Видюха умерла. Кое-как нашел другую. Счаз попробую дрова найти. Тут в деревне вообще связь плохая. Пожалуйста, не покидайте меня))))
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
07.07.2011, 21:37 13
чем помочь ?
0
07.07.2011, 21:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2011, 21:37
Помогаю со студенческими работами здесь

Работа с файлом
Здравствуйте, у меня есть ТextFile. В нем n-количество строк. Мне нужно пересчитать количество...

Работа с файлом
вот смотрите есть файл chisla.txt В нем содержатся цифры ( Например 101 258 164) Как мне изъять из...

Работа с файлом
Всем привет! Имеется текстовый файл (там хранится статистика, об учащихся). Как мне сделать, что...

Работа с файлом
3. Разработайте программу, записывающую в файл произвольное количество случайных чисел. Создайте...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru