Форум программистов, компьютерный форум 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; //структура... http://www.cyberforum.ru/cpp-beginners/thread1059285.html
C++ Обращение к методам базового класса (есть ли подобие base/super?)
Понятное дело, что можно обращаться к методам базового класса так: BaseClass::hisMethod(); Однако это зависимость от названия класса. Не очень это как-то. В C# есть слово base, в Java super. Есть ли...
C++ scanf проверка вводимого типа
как узнать, что пользователь ввёл не число а строку, если от него требовалось первое и запрос проходил через функцию scanf?
C++ Горит зачет! Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами http://www.cyberforum.ru/cpp-beginners/thread1059248.html
Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами. Подсчитать количество слагаемых и количество сомножителей. При вводе числа 77566 закончить работу. Нужно...
C++ Как вызвать функцию через указатель? Добрый день. Всех с наступающим))Здоровье Счастье и бабок))) Подскажите как правильно сделать Тестовый рабочий пример struct AmiVar { ....... double rez; }; AmiVar Квадрат(int i,... подробнее

Показать сообщение отдельно
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");
}
Обновил код
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru