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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритм решения рекурсивных функций http://www.cyberforum.ru/cpp-beginners/thread1059286.html
Цель: Прошу подсказать алгоритм решения рекурсивной функции. Задача:
C++ Проверка папки на пустоту Так как времени не было на это задание, пришлось сделать так: BOOL IsEmpty(const wchar_t* sPath) { HANDLE hFind; //дескриптор файла для "пробега" WIN32_FIND_DATAW FindFileData; //структура для описания найденного файла wchar_t DirPath; wcscpy(DirPath, sPath); wcscat(DirPath, L"\\*"); //ищем все файлы hFind = FindFirstFileW(DirPath, &FindFileData); //находим первый файл ... http://www.cyberforum.ru/cpp-beginners/thread1059285.html
C++ Обращение к методам базового класса (есть ли подобие base/super?)
Понятное дело, что можно обращаться к методам базового класса так: BaseClass::hisMethod(); Однако это зависимость от названия класса. Не очень это как-то. В C# есть слово base, в Java super. Есть ли подобие в C++? И как обращаться к базовому без применения его имени? Раньше об этом не задумывался, пока не начал производить рефакторинг кода и, было решено, переименовать класс после соединения...
C++ scanf проверка вводимого типа
как узнать, что пользователь ввёл не число а строку, если от него требовалось первое и запрос проходил через функцию scanf?
C++ Горит зачет! Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами http://www.cyberforum.ru/cpp-beginners/thread1059248.html
Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами. Подсчитать количество слагаемых и количество сомножителей. При вводе числа 77566 закончить работу. Нужно написать на java или c ++ Добавлено через 34 минуты Господа помогите, пожалуйста. зачет горит!
C++ Как вызвать функцию через указатель? Добрый день. Всех с наступающим))Здоровье Счастье и бабок))) Подскажите как правильно сделать Тестовый рабочий пример struct AmiVar { ....... double rez; }; AmiVar Квадрат(int i, int j){ AmiVar qqq; подробнее

Показать сообщение отдельно
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
28.12.2013, 21:05  [ТС]     Сделать запрос по максимальному проценту
Большое спасибо вам за помощь, вы меня реально спасли. Код работает, но я не уверен правильно ли. И так-как по сравнению со мной вы бог програмирования, очень вас прошу, не могли бы вы проверить работу программы, когда вписываешь несколько человек, то выдает последнего, даже если процент не максимальный.Заранее спасибо.

Добавлено через 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");
}
Обновил код
 
Текущее время: 21:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru