0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
||||||
1 | ||||||
Сделать запрос по максимальному проценту28.12.2013, 14:41. Показов 635. Ответов 16
Метки нет (Все метки)
Пишу курсовую, помогите с одним участком кода
Добавлено через 1 час 6 минут на понедельник здавать
0
|
28.12.2013, 14:41 | |
Ответы с готовыми решениями:
16
все элементы главной диогонали сделать равными максимальному Сделать так, чтобы 0 равнялось не нулю, а максимальному числу в этом массиве Написать программу вычисления величины дохода по проценту Две таблицы, мудреный запрос с выборкой по максимальному значению |
60 / 60 / 19
Регистрация: 11.07.2013
Сообщений: 305
|
|
28.12.2013, 15:39 | 2 |
Лучше вообще весь код переписать, используя классы и конструкторы, тогда будет все намного проще искать и тд. (я уж не говорю про листы и итераторы)
Да и вообще код дико странный и даже проблема толком не понятна. Просто ищешь максимальный процент, а потом, опираясь на номер массива, в котором "Живет" этот процент, выводить банк и тд. Не по теме: ЗЫ через пару лет прожешь над своим кодом)) (Ну, когда уже будешь знать, как это все можно изменить)
0
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 19:09 [ТС] | 3 |
Весь код переписывать времени не хватит, хотелось бы узнать как можно реализовать запрос.
Добавлено через 1 час 53 минуты ап1
0
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 19:57 [ТС] | 5 |
Определить банк в котором годовой процент максимальный, и вывести этот банк и процент на екран на екран.
0
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 20:00 [ТС] | 6 |
пример
0
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 20:01 [ТС] | 7 |
3 функция
0
|
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 2
|
|
28.12.2013, 20:04 | 8 |
тебе нужно применить цикл do while. Ввести перемунную которой ты в этом цикле будешь присваивать максимальное значение годового процента. Дальше ты используешь еще один цикл do while где проверяешь бани у которых годовой процент равен максимальному и выводишь их на экран
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
28.12.2013, 20:06 | 9 | |||||
1
|
0 / 0 / 1
Регистрация: 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"); }
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
28.12.2013, 21:11 | 11 | ||||||||||
Режим откытия файла в sozdanie() (1 пост) неверный (данные каждый раз будут стираться).
Сделайте:
1
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
||||||
28.12.2013, 21:37 [ТС] | 12 | |||||
Добавлено через 1 минуту Run-Time Check Failure #3 - The variable 'mid' is being used without being initialized.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
28.12.2013, 21:42 | 13 | |||||
Вы хоть переписывайте правильно (из 1-го поста)... Это откуда взялось?
1
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 21:54 [ТС] | 14 |
спасибо, сам разобрался
Добавлено через 10 минут В упор не вижу ошибки, скиньте пожалуйста как это должно быть в коде
0
|
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
|
|
28.12.2013, 22:12 [ТС] | 16 |
Напишите пожалуйста сами, весь день над ней сижу, никак не сображу что не так.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
28.12.2013, 22:29 | 17 | |||||
1
|
28.12.2013, 22:29 | |
28.12.2013, 22:29 | |
Помогаю со студенческими работами здесь
17
Все элементы главной диагонали матрицы сделать равными максимальному Как сделать запрос AJAX, подождать результат и сделать новый запрос? Распредилить премию пропарцианально проценту перевыполнения плана СМУ Как в Delphi сделать запрос на запрос, база mssql, BDE Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |