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

Сделать запрос по максимальному проценту - C++

Восстановить пароль Регистрация
 
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 14: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
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
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
#include <iostream>
#include <ctype.h>
#include <conio.h>
#include <fstream>
#include <windows.h>
#include <string.h>
#include <locale.h>
using namespace std;
 
typedef struct {char familia[25];char adres[25];int suma;}klienti;
typedef struct {char nazva_banka[50];int max_procent;}banki;
typedef struct {klienti q;banki w;char strana[20];}BD;
 
void vuhod()
{
    setlocale(LC_ALL,"RUSSIAN");
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"            ________________ ДО СВИДАНИЯ ____________"<<endl;
;}
void main();
void menu();
void sozdanie()
{   system ("cls");
ofstream F1("База Данных.txt",ios::binary);
 BD mid;
    cout<<"============================================================================="<<endl;
    cout<<"Введите фамилию клиента "<<endl;
    SetConsoleCP(1251);
    cin>>mid.q.familia;
    SetConsoleCP(866);
    cout<<endl<<" Адрес ";
    SetConsoleCP(1251);
    cin>>mid.q.adres;
    SetConsoleCP(866);
    cout<<endl<<" Сума вложений ";
    cin>>mid.q.suma;
    cout<<endl;
    cout<<endl;
    cin.ignore();
    cout<<"Введите название банка "<<endl;
    SetConsoleCP(1251);
    cin>>mid.w.nazva_banka;
    SetConsoleCP(866);
    cout<<endl<<"Введите максимальный процент ";
    cin.ignore();
    cin>>mid.w.max_procent;
    cout<<endl;
    cout<<"Введите страну "<<endl;
    cin.ignore();
    SetConsoleCP(1251);
    cin.getline(mid.strana,20);
    SetConsoleCP(866);
 
    cout<<endl<<"=============================================================================";
    
    F1.write((char*)&mid,sizeof(mid));
    F1.close();
        cout<<endl<<endl<<"    Для заполнения новой Базы Данных  нажмите 1";
        cout<<endl<<"              Для выхода в меню нажмите       2";
        cout<<endl<<"              Для выхода из программы нажмите 3";
        char n;
        n=getch();
        switch (n)
        {case '1':{system("cls");sozdanie();}
        break;
        case '2':{system("cls");menu();} 
        break;
        case '3':{system ("cls");vuhod();}
        break;
        }
 
 
}
void prosmotr()
{ BD mid;
    ifstream F2("База Данных.txt",ios::app);
F2.read((char*)&mid,sizeof(mid));
do
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
F2.read((char*)&mid,sizeof(mid));
}
while(!F2.eof());
F2.close();
char n;
 cout<<endl<<"                 для выхода в меню нажмите       1";
 cout<<endl<<endl<<"                 Для выхода из программы нажмите 2";
        n=getch();
        switch (n)
        {
        case '1':{system("cls");menu();} 
        break;
        case '2':{system ("cls");vuhod();}
        break;
        }
}
 
void redactirovanie()
{   system ("cls");
ofstream F1("База Данных.txt",ios::binary|ios::app);
 BD mid;
    cout<<"============================================================================="<<endl;
    cout<<"Введите Фамилию клиента "<<endl;
    cin>>mid.q.familia;
    cout<<endl<<" Адрес ";
    cin>>mid.q.adres;
    cout<<endl<<" Сума вложений ";
    cin>>mid.q.suma;
    cout<<endl;
    cout<<endl;
    cin.ignore();
    cout<<"Введите название банка "<<endl;
    cin>>mid.w.nazva_banka;
    cout<<endl<<"Введите максимальный процент ";
    cin.ignore();
    cin>>mid.w.max_procent;
    cout<<endl;
    cout<<"Введите страна "<<endl;
    cin.ignore();
    cin.getline(mid.strana,20);
    cout<<endl<<"=============================================================================";
    
    F1.write((char*)&mid,sizeof(mid));
    F1.close();
        cout<<endl<<endl<<"    для добаления Базы Данных  нажмите  1";
        cout<<endl<<"              для выхода в меню нажмите       2";
        cout<<endl<<"              Для выхода из программы нажмите 3";
        char n;
        n=getch();
        switch (n)
        {case '1':{system("cls");sozdanie();}
        break;
        case '2':{system("cls");menu();} 
        break;
        case '3':{system ("cls");vuhod();}
        break;
        }
 
}
void poisk()
{system ("cls");
cout<<endl<<"         Введите фамилию человека для поиска"<<endl<<endl<<"               ";
BD mid; 
char x[20]; 
cin.getline(x, 20);
ifstream F3("База Данных.txt",ios::binary);
F3.read((char*)&mid,sizeof(mid));
system ("cls");
do
{if(strcmp(x,mid.q.familia)==0)//
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
}
F3.read((char*)&mid,sizeof(mid));}
while(!F3.eof());
if(strcmp(x,mid.q.familia)!=0)cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"     <<<Извините но Вами было введено неверно фамилию>>>";
F3.close();
getch();
}
void zapros()
{system("cls");
/*BD mid;
char j[12]={'s','h','a','h','r','a','y','s','t','v','o','\0'}; int j[10], int i[10], n=0, m=0;
ifstream F4("База Данных.txt",ios::binary);
F4.read((char*)&mid,sizeof(mid));
do
{i[m]=mid.w.nazva_banka; m++;
if(strcmp(s,max_procent)==0) {j[n]=mid.w.nazva_banka; n++; cout<<"naydeno\n";}
F4.read((char*)&mid,sizeof(mid));
}
while(!F4.eof());
F4.close();
for(int i=0; i<m; i++)
{for(int j=0; j<n; j++)
{
}
}
*/getch();
}
void menu()
{
setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<endl<<"                                   МЕНЮ"<<endl<<endl<<endl<<endl;
cout<<endl<<"     для перехода к созданию Базы Данных - нажмите        1";
cout<<endl<<"     для перехода к просмотру Баз Данных - нажмите        2";
cout<<endl<<"     для перехода к редактированию Базы Данных - нажмите  3";
cout<<endl<<"     для перехода к поиску в Базе Данных - нажмите        4";
cout<<endl<<"     для перехода к запросу  в Базе Данных - нажмите      5";
cout<<endl<<"     для перехода на преведущую страницу нажмите          6"<<endl<<endl<<endl;
cout<<endl<<"     для выхода из программы нажмите                      7";
 
cout<<endl<<endl<<endl<<endl<<endl<<"                       введите число   ";
char n;
n=getch();
    switch(n)
    {
    case '1':{system ("cls");sozdanie();}
   break;
    case '2':{system ("cls");prosmotr();}
   break;
    case '3':{system ("cls");redactirovanie();}
   break;
    case '4':{system("cls");poisk();}
   break;
    case '5':{system("cls");zapros();}
   break;
    case '6':{system("cls");main();}
   break;
    case '7':{system("cls");vuhod();}
   break;
    }
}
void titulka()
{
    setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<"                                     КУРСОВАЯ"<<endl;
cout<<endl<<endl<<endl<<"                                   Подготовил"<<endl;
cout<<endl<<"                              студент группы ИТ-32"<<endl;
cout<<endl<<endl<<"                             Колос Максим Сергеевич     "<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
char r;
 
cout<<"      для выхода перехода в меню нажмите 1"<<endl;
cout<<"      для выхода из программы нажмите    2"<<endl;
cout<<endl<<"                                введите чиcло";
    cout<<endl<<"                                      ";
 
r=getch();
switch(r)
{case '1':{system("cls");menu();}
break;
case '2':{system ("cls");vuhod();}
 break;
}
 
 
}
 
void main()
{
    char x;
    setlocale(LC_ALL,"Rus");
    cout<<endl<<endl<<endl<<"                    Добрый день   "<<endl;
    cout<<endl<<endl<<"      для перехода к титульной странице нажмите 1";
    cout<<endl<<endl<<"      для перехода в меню нажмите               2";
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"      для выхода из программы нажмите           3";
    cout<<endl<<endl<<endl<<"                                введите чиcло";
    cout<<endl<<"                                      ";x=getch();
    switch(x)
    {
    case '1':{system ("cls");titulka();}
    break;
    case '2':{system("cls");menu();}
    break;
    case '3':{system ("cls");vuhod();}
    break;
    }
system("pause");
}
Нужно сделать запрос по максимальному проценту, должно показать название банка и этот процент, проблемный участок выделен коментарием

Добавлено через 1 час 6 минут
на понедельник здавать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
28.12.2013, 15:39     Сделать запрос по максимальному проценту #2
Лучше вообще весь код переписать, используя классы и конструкторы, тогда будет все намного проще искать и тд. (я уж не говорю про листы и итераторы)
Да и вообще код дико странный и даже проблема толком не понятна. Просто ищешь максимальный процент, а потом, опираясь на номер массива, в котором "Живет" этот процент, выводить банк и тд.

Не по теме:

ЗЫ через пару лет прожешь над своим кодом)) (Ну, когда уже будешь знать, как это все можно изменить)

dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 19:09  [ТС]     Сделать запрос по максимальному проценту #3
Весь код переписывать времени не хватит, хотелось бы узнать как можно реализовать запрос.

Добавлено через 1 час 53 минуты
ап1
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 19:48     Сделать запрос по максимальному проценту #4
Цитата Сообщение от dkii Посмотреть сообщение
Нужно сделать запрос по максимальному проценту,
Расшифруйте.
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 19:57  [ТС]     Сделать запрос по максимальному проценту #5
Определить банк в котором годовой процент максимальный, и вывести этот банк и процент на екран на екран.
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 20:00  [ТС]     Сделать запрос по максимальному проценту #6
пример
Вложения
Тип файла: rar KANZ_MAG.rar (14.2 Кб, 1 просмотров)
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 20:01  [ТС]     Сделать запрос по максимальному проценту #7
3 функция
dante6674
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 2
28.12.2013, 20:04     Сделать запрос по максимальному проценту #8
тебе нужно применить цикл do while. Ввести перемунную которой ты в этом цикле будешь присваивать максимальное значение годового процента. Дальше ты используешь еще один цикл do while где проверяешь бани у которых годовой процент равен максимальному и выводишь их на экран
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 20:06     Сделать запрос по максимальному проценту #9
Цитата Сообщение от dkii Посмотреть сообщение
Определить банк в котором годовой процент максимальный, и вывести этот банк и процент на екран
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
void zapros()
{
    system("cls");
    BD mid;
    
    ifstream F4("База Данных.txt", ios::binary);
    if (!F4) cout << "Error!" << endl;
    else
    {
        F4.read((char*)&mid, sizeof(mid));
        
        int Max_procent = mid.w.max_procent;
        char Nazva_banka[50];
        strcpy(Nazva_banka, mid.w.nazva_banka);
        
        while(F4.read((char*)&mid, sizeof(mid)));
        {
            if (mid.w.max_procent > Max_procent)
            {
                Max_procent = mid.w.max_procent;
                strcpy(Nazva_banka, mid.w.nazva_banka);
            }
        }
        F4.close();
    
        cout << Nazva_banka << ' ' << Max_procent;
    }
    getch();
}
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 21:05  [ТС]     Сделать запрос по максимальному проценту #10
Большое спасибо вам за помощь, вы меня реально спасли. Код работает, но я не уверен правильно ли. И так-как по сравнению со мной вы бог програмирования, очень вас прошу, не могли бы вы проверить работу программы, когда вписываешь несколько человек, то выдает последнего, даже если процент не максимальный.Заранее спасибо.

Добавлено через 24 минуты
Код
#include <iostream>
#include <ctype.h>
#include <conio.h>
#include <fstream>
#include <windows.h>
#include <string.h>
#include <locale.h>
using namespace std;

typedef struct {char familia[25];char adres[25];int suma;}klienti;
typedef struct {char nazva_banka[50];int max_procent;}banki;
typedef struct {klienti q;banki w;char strana[20];}BD;

void vuhod()
{
	setlocale(LC_ALL,"RUSSIAN");
	cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"            ________________ ДО СВИДАНИЯ ____________"<<endl;
;}
void main();
void menu();
void sozdanie()
{	system ("cls");
ofstream F1("База Данных.txt",ios::binary);
 BD mid;
	cout<<"============================================================================="<<endl;
	cout<<"Введите фамилию клиента "<<endl;
	SetConsoleCP(1251);
    cin>>mid.q.familia;
	SetConsoleCP(866);
	cout<<endl<<" Адрес ";
	SetConsoleCP(1251);
	cin>>mid.q.adres;
	SetConsoleCP(866);
	cout<<endl<<" Сума вложений ";
	cin>>mid.q.suma;
	cout<<endl;
	cout<<endl;
	cin.ignore();
	cout<<"Введите название банка "<<endl;
	SetConsoleCP(1251);
	cin>>mid.w.nazva_banka;
	SetConsoleCP(866);
	cout<<endl<<"Введите максимальный процент ";
	cin.ignore();
	cin>>mid.w.max_procent;
	cout<<endl;
	cout<<"Введите страну "<<endl;
	cin.ignore();
	SetConsoleCP(1251);
	cin.getline(mid.strana,20);
	SetConsoleCP(866);

	cout<<endl<<"=============================================================================";
	
	F1.write((char*)&mid,sizeof(mid));
	F1.close();
	    cout<<endl<<endl<<"    Для заполнения новой Базы Данных  нажмите 1";
	    cout<<endl<<"              Для выхода в меню нажмите       2";
		cout<<endl<<"              Для выхода из программы нажмите 3";
		char n;
		n=getch();
		switch (n)
		{case '1':{system("cls");sozdanie();}
		break;
		case '2':{system("cls");menu();} 
		break;
		case '3':{system ("cls");vuhod();}
	    break;
		}


}
void prosmotr()
{ BD mid;
	ifstream F2("База Данных.txt",ios::app);
F2.read((char*)&mid,sizeof(mid));
do
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
F2.read((char*)&mid,sizeof(mid));
}
while(!F2.eof());
F2.close();
char n;
 cout<<endl<<"                 для выхода в меню нажмите       1";
 cout<<endl<<endl<<"                 Для выхода из программы нажмите 2";
		n=getch();
		switch (n)
		{
		case '1':{system("cls");menu();} 
		break;
		case '2':{system ("cls");vuhod();}
	    break;
		}
}

void redactirovanie()
{	system ("cls");
ofstream F1("База Данных.txt",ios::binary|ios::app);
 BD mid;
	cout<<"============================================================================="<<endl;
	cout<<"Введите Фамилию клиента "<<endl;
	SetConsoleCP(1251);
    cin>>mid.q.familia;
	SetConsoleCP(866);
	cout<<endl<<" Адрес ";
	SetConsoleCP(1251);
	cin>>mid.q.adres;
	SetConsoleCP(866);
	cout<<endl<<" Сума вложений ";
	SetConsoleCP(1251);
	cin>>mid.q.suma;
	SetConsoleCP(866);
	cout<<endl;
	cout<<endl;
	cin.ignore();
	cout<<"Введите название банка "<<endl;
	SetConsoleCP(1251);
	cin>>mid.w.nazva_banka;
	SetConsoleCP(866);
	cout<<endl<<"Введите максимальный процент ";
	cin.ignore();
	SetConsoleCP(1251);
	cin>>mid.w.max_procent;
	SetConsoleCP(866);
	cout<<endl;
	cout<<"Введите страна "<<endl;
	cin.ignore();
	cin.getline(mid.strana,20);
	cout<<endl<<"=============================================================================";
	
	F1.write((char*)&mid,sizeof(mid));
	F1.close();
	    cout<<endl<<endl<<"    для добаления Базы Данных  нажмите  1";
	    cout<<endl<<"              для выхода в меню нажмите       2";
		cout<<endl<<"              Для выхода из программы нажмите 3";
		char n;
		n=getch();
		switch (n)
		{case '1':{system("cls");sozdanie();}
		break;
		case '2':{system("cls");menu();} 
		break;
		case '3':{system ("cls");vuhod();}
	    break;
		}
}
void poisk()
{system ("cls");
cout<<endl<<"         Введите фамилию человека для поиска"<<endl<<endl<<"               ";
BD mid; 
char x[20]; 
SetConsoleCP(1251);
cin.getline(x, 20);
SetConsoleCP(866);
ifstream F3("База Данных.txt",ios::binary);
F3.read((char*)&mid,sizeof(mid));
system ("cls");
do
{if(strcmp(x,mid.q.familia)==0)//
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
}
F3.read((char*)&mid,sizeof(mid));}
while(!F3.eof());
if(strcmp(x,mid.q.familia)!=0)cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"     <<<Извините но Вами было введено неверно фамилию>>>";
F3.close();
getch();
}
void zapros()
{
    system("cls");
    BD mid;
    
    ifstream F4("База Данных.txt", ios::binary);
    if (!F4) cout << "Error!" << endl;
    else
    {
        F4.read((char*)&mid, sizeof(mid));
        
        int Max_procent = mid.w.max_procent;
        char Nazva_banka[50];
        strcpy(Nazva_banka, mid.w.nazva_banka);
        
        while(F4.read((char*)&mid, sizeof(mid)));
        {
            if (mid.w.max_procent > Max_procent)
            {
                Max_procent = mid.w.max_procent;
                strcpy(Nazva_banka, mid.w.nazva_banka);
            }
        }
        F4.close();
    
        cout << Nazva_banka << ' ' << Max_procent;
    }
    getch();
}
void menu()
{
setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<endl<<"                                   МЕНЮ"<<endl<<endl<<endl<<endl;
cout<<endl<<"     для перехода к созданию Базы Данных - нажмите        1";
cout<<endl<<"     для перехода к просмотру Баз Данных - нажмите        2";
cout<<endl<<"     для перехода к редактированию Базы Данных - нажмите  3";
cout<<endl<<"     для перехода к поиску в Базе Данных - нажмите        4";
cout<<endl<<"     для перехода к запросу  в Базе Данных - нажмите      5";
cout<<endl<<"     для перехода на преведущую страницу нажмите          6"<<endl<<endl<<endl;
cout<<endl<<"     для выхода из программы нажмите                      7";

cout<<endl<<endl<<endl<<endl<<endl<<"                       введите число   ";
char n;
n=getch();
	switch(n)
	{
	case '1':{system ("cls");sozdanie();}
   break;
	case '2':{system ("cls");prosmotr();}
   break;
	case '3':{system ("cls");redactirovanie();}
   break;
	case '4':{system("cls");poisk();}
   break;
	case '5':{system("cls");zapros();}
   break;
	case '6':{system("cls");main();}
   break;
	case '7':{system("cls");vuhod();}
   break;
    }
}
void titulka()
{
	setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<"                                     КУРСОВАЯ"<<endl;
cout<<endl<<endl<<endl<<"                                   Подготовил"<<endl;
cout<<endl<<"                              студент группы ИТ-32"<<endl;
cout<<endl<<endl<<"                             Колос Максим Сергеевич     "<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
char r;

cout<<"      для выхода перехода в меню нажмите 1"<<endl;
cout<<"      для выхода из программы нажмите    2"<<endl;
cout<<endl<<"                                введите чиcло";
	cout<<endl<<"                                      ";

r=getch();
switch(r)
{case '1':{system("cls");menu();}
break;
case '2':{system ("cls");vuhod();}
 break;
}


}

void main()
{
	char x;
	setlocale(LC_ALL,"Rus");
	cout<<endl<<endl<<endl<<"                    Добрый день   "<<endl;
	cout<<endl<<endl<<"      для перехода к титульной странице нажмите 1";
	cout<<endl<<endl<<"      для перехода в меню нажмите               2";
	cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"      для выхода из программы нажмите           3";
	cout<<endl<<endl<<endl<<"                                введите чиcло";
	cout<<endl<<"                                      ";x=getch();
	switch(x)
	{
	case '1':{system ("cls");titulka();}
	break;
	case '2':{system("cls");menu();}
	break;
	case '3':{system ("cls");vuhod();}
    break;
	}
system("pause");
}
Обновил код
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 21:11     Сделать запрос по максимальному проценту #11
Режим откытия файла в sozdanie() (1 пост) неверный (данные каждый раз будут стираться).
Сделайте:
C++
1
2
3
4
 fstream F1("База Данных.txt", ios::in | ios::out |ios::binary | ios::app);
    if (!F1) cout << "Error F1!" << endl;
    else
    {...
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
void prosmotr()
{ 
    BD mid;
    ifstream F2("База Данных.txt");
    if (!F2) cout << "Error F2!" << endl;
    else
    {...
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 21:37  [ТС]     Сделать запрос по максимальному проценту #12
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
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
#include <iostream>
#include <ctype.h>
#include <conio.h>
#include <fstream>
#include <windows.h>
#include <string.h>
#include <locale.h>
using namespace std;
 
typedef struct {char familia[25];char adres[25];int suma;}klienti;
typedef struct {char nazva_banka[50];int max_procent;}banki;
typedef struct {klienti q;banki w;char strana[20];}BD;
 
void vuhod()
{
    setlocale(LC_ALL,"RUSSIAN");
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"            ________________ ДО СВИДАНИЯ ____________"<<endl;
;}
void main();
void menu();
void sozdanie()
    {BD mid;
  fstream F1("База Данных.txt", ios::in | ios::out |ios::binary | ios::app);
    if (!F1) cout << "Error F1!" << endl;
    else
    {
    cout<<"============================================================================="<<endl;
    cout<<"Введите фамилию клиента "<<endl;
    SetConsoleCP(1251);
    cin>>mid.q.familia;
    SetConsoleCP(866);
    cout<<endl<<" Адрес ";
    SetConsoleCP(1251);
    cin>>mid.q.adres;
    SetConsoleCP(866);
    cout<<endl<<" Сума вложений ";
    cin>>mid.q.suma;
    cout<<endl;
    cout<<endl;
    cin.ignore();
    cout<<"Введите название банка "<<endl;
    SetConsoleCP(1251);
    cin>>mid.w.nazva_banka;
    SetConsoleCP(866);
    cout<<endl<<"Введите максимальный процент ";
    cin.ignore();
    cin>>mid.w.max_procent;
    cout<<endl;
    cout<<"Введите страну "<<endl;
    cin.ignore();
    SetConsoleCP(1251);
    cin.getline(mid.strana,20);
    SetConsoleCP(866);
 
    cout<<endl<<"=============================================================================";
    
    F1.write((char*)&mid,sizeof(mid));
    F1.close();
        cout<<endl<<endl<<"    Для заполнения новой Базы Данных  нажмите 1";
        cout<<endl<<"              Для выхода в меню нажмите       2";
        cout<<endl<<"              Для выхода из программы нажмите 3";
        char n;
        n=getch();
        switch (n)
        {case '1':{system("cls");sozdanie();}
        break;
        case '2':{system("cls");menu();} 
        break;
        case '3':{system ("cls");vuhod();}
        break;
        }
    }
 
}
 
    void prosmotr()
{ 
    BD mid;
    ifstream F2("База Данных.txt");
    if (!F2) cout << "Error F2!" << endl;
    else
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
F2.read((char*)&mid,sizeof(mid));
}
while(!F2.eof());
F2.close();
char n;
 cout<<endl<<"                 для выхода в меню нажмите       1";
 cout<<endl<<endl<<"                 Для выхода из программы нажмите 2";
        n=getch();
        switch (n)
        {
        case '1':{system("cls");menu();} 
        break;
        case '2':{system ("cls");vuhod();}
        break;
        }
}
 
void redactirovanie()
{   system ("cls");
ofstream F1("База Данных.txt",ios::binary|ios::app);
 BD mid;
    cout<<"============================================================================="<<endl;
    cout<<"Введите Фамилию клиента "<<endl;
    SetConsoleCP(1251);
    cin>>mid.q.familia;
    SetConsoleCP(866);
    cout<<endl<<" Адрес ";
    SetConsoleCP(1251);
    cin>>mid.q.adres;
    SetConsoleCP(866);
    cout<<endl<<" Сума вложений ";
    SetConsoleCP(1251);
    cin>>mid.q.suma;
    SetConsoleCP(866);
    cout<<endl;
    cout<<endl;
    cin.ignore();
    cout<<"Введите название банка "<<endl;
    SetConsoleCP(1251);
    cin>>mid.w.nazva_banka;
    SetConsoleCP(866);
    cout<<endl<<"Введите максимальный процент ";
    cin.ignore();
    SetConsoleCP(1251);
    cin>>mid.w.max_procent;
    SetConsoleCP(866);
    cout<<endl;
    cout<<"Введите страна "<<endl;
    cin.ignore();
    cin.getline(mid.strana,20);
    cout<<endl<<"=============================================================================";
    
    F1.write((char*)&mid,sizeof(mid));
    F1.close();
        cout<<endl<<endl<<"    для добаления Базы Данных  нажмите  1";
        cout<<endl<<"              для выхода в меню нажмите       2";
        cout<<endl<<"              Для выхода из программы нажмите 3";
        char n;
        n=getch();
        switch (n)
        {case '1':{system("cls");sozdanie();}
        break;
        case '2':{system("cls");menu();} 
        break;
        case '3':{system ("cls");vuhod();}
        break;
        }
}
void poisk()
{system ("cls");
cout<<endl<<"         Введите фамилию человека для поиска"<<endl<<endl<<"               ";
BD mid; 
char x[20]; 
SetConsoleCP(1251);
cin.getline(x, 20);
SetConsoleCP(866);
ifstream F3("База Данных.txt",ios::binary);
F3.read((char*)&mid,sizeof(mid));
system ("cls");
do
{if(strcmp(x,mid.q.familia)==0)//
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
}
F3.read((char*)&mid,sizeof(mid));}
while(!F3.eof());
if(strcmp(x,mid.q.familia)!=0)cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"     <<<Извините но Вами было введено неверно фамилию>>>";
F3.close();
getch();
}
void zapros()
{
    system("cls");
    BD mid;
    
    ifstream F4("База Данных.txt", ios::binary);
    if (!F4) cout << "Error!" << endl;
    else
    {
        F4.read((char*)&mid, sizeof(mid));
        
        int Max_procent = mid.w.max_procent;
        char Nazva_banka[50];
        strcpy(Nazva_banka, mid.w.nazva_banka);
        
        while(F4.read((char*)&mid, sizeof(mid)));
        {
            if (mid.w.max_procent > Max_procent)
            {
                Max_procent = mid.w.max_procent;
                strcpy(Nazva_banka, mid.w.nazva_banka);
            }
        }
        F4.close();
    
        cout << Nazva_banka << ' ' << Max_procent;
    }
    getch();
}
void menu()
{
setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<endl<<"                                   МЕНЮ"<<endl<<endl<<endl<<endl;
cout<<endl<<"     для перехода к созданию Базы Данных - нажмите        1";
cout<<endl<<"     для перехода к просмотру Баз Данных - нажмите        2";
cout<<endl<<"     для перехода к редактированию Базы Данных - нажмите  3";
cout<<endl<<"     для перехода к поиску в Базе Данных - нажмите        4";
cout<<endl<<"     для перехода к запросу  в Базе Данных - нажмите      5";
cout<<endl<<"     для перехода на преведущую страницу нажмите          6"<<endl<<endl<<endl;
cout<<endl<<"     для выхода из программы нажмите                      7";
 
cout<<endl<<endl<<endl<<endl<<endl<<"                       введите число   ";
char n;
n=getch();
    switch(n)
    {
    case '1':{system ("cls");sozdanie();}
   break;
    case '2':{system ("cls");prosmotr();}
   break;
    case '3':{system ("cls");redactirovanie();}
   break;
    case '4':{system("cls");poisk();}
   break;
    case '5':{system("cls");zapros();}
   break;
    case '6':{system("cls");main();}
   break;
    case '7':{system("cls");vuhod();}
   break;
    }
}
void titulka()
{
    setlocale(LC_ALL,"RUSSIAN");
cout<<endl<<endl<<"                                     КУРСОВАЯ"<<endl;
cout<<endl<<endl<<endl<<"                                   Подготовил"<<endl;
cout<<endl<<"                              студент группы ИТ-32"<<endl;
cout<<endl<<endl<<"                             Колос Максим Сергеевич     "<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
char r;
 
cout<<"      для выхода перехода в меню нажмите 1"<<endl;
cout<<"      для выхода из программы нажмите    2"<<endl;
cout<<endl<<"                                введите чиcло";
    cout<<endl<<"                                      ";
 
r=getch();
switch(r)
{case '1':{system("cls");menu();}
break;
case '2':{system ("cls");vuhod();}
 break;
}
 
 
}
 
void main()
{
    char x;
    setlocale(LC_ALL,"Rus");
    cout<<endl<<endl<<endl<<"                    Добрый день   "<<endl;
    cout<<endl<<endl<<"      для перехода к титульной странице нажмите 1";
    cout<<endl<<endl<<"      для перехода в меню нажмите               2";
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"      для выхода из программы нажмите           3";
    cout<<endl<<endl<<endl<<"                                введите чиcло";
    cout<<endl<<"                                      ";x=getch();
    switch(x)
    {
    case '1':{system ("cls");titulka();}
    break;
    case '2':{system("cls");menu();}
    break;
    case '3':{system ("cls");vuhod();}
    break;
    }
system("pause");
}
Спасибо еще раз, но во время просмотра (prosmotr) выбивает ошибку

Добавлено через 1 минуту
Run-Time Check Failure #3 - The variable 'mid' is being used without being initialized.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 21:42     Сделать запрос по максимальному проценту #13
Вы хоть переписывайте правильно (из 1-го поста)... Это откуда взялось?
C++
1
2
3
4
5
6
7
8
BD mid;
    ifstream F2("База Данных.txt");
    if (!F2) cout << "Error F2!" << endl;
    else
{cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
cout<<endl<<endl<<endl<<"================================================================================";
Ещё ничего не считали, а уже выводите на консоль.
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 21:54  [ТС]     Сделать запрос по максимальному проценту #14
спасибо, сам разобрался

Добавлено через 10 минут
В упор не вижу ошибки, скиньте пожалуйста как это должно быть в коде
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 21:58     Сделать запрос по максимальному проценту #15
В коде должно быть так, как в 1 посте, только ios::app нужно убрать (это там не нужно) и сделать проверку на открытие файла (11 пост).
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 22:12  [ТС]     Сделать запрос по максимальному проценту #16
Напишите пожалуйста сами, весь день над ней сижу, никак не сображу что не так.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2013, 22:29     Сделать запрос по максимальному проценту
Еще ссылки по теме:

Удалить из матрицы все числа, равные максимальному C++
Подсчет числа элементов, равных максимальному C++
C++ Как отсортировать массив от минимального к максимальному?

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.12.2013, 22:29     Сделать запрос по максимальному проценту #17
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
void prosmotr()
{ 
    BD mid;
    ifstream F2("База Данных.txt");
    if (!F2) cout << "Error F2!" << endl;
    else
    {
        if (!F2.read((char*)&mid,sizeof(mid)))
            cout << "База пуста!" << endl;
        else
        {
            do
            {
                cout<<endl<<"                               Клиенты "<<endl<<endl<<"   Фамилии "<<mid.q.familia<<endl<<endl<<"    Адрес "<<mid.q.adres<<endl<<endl<<"    Сума вложений "<<mid.q.suma<<endl<<endl;
                cout<<endl<<endl<<"                                Банки "<<endl<<"      Название банка   "<<mid.w.nazva_banka<<endl<<" Максимальный процент   "<<mid.w.max_procent;
                cout<<endl<<endl<<"                               Страна "<<mid.strana<<endl;
                cout<<endl<<endl<<endl<<"================================================================================";
                F2.read((char*)&mid,sizeof(mid));
            }
            while(!F2.eof());
        }
        F2.close();
    }
    char n;
    cout<<endl<<"                 для выхода в меню нажмите       1";
    cout<<endl<<endl<<"                 Для выхода из программы нажмите 2";
    n=getch();
    switch (n)
    {
        case '1':{system("cls");menu();} 
        break;
        case '2':{system ("cls");vuhod();}
        break;
    }
}
Yandex
Объявления
28.12.2013, 22:29     Сделать запрос по максимальному проценту
Ответ Создать тему
Опции темы

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