G
Gery
Доработать структуру.
Знающему и понимающему человеку делов на 5 минут, не больше. Ребят, очень прошу, помогите.
Собственно вот задание:
Описать структуру с именем Order, содержащую следующие поля: plat-расчетный счет плательщика, pol- расчетный счет получателя, summa-перечисляемая сумма. Написать программу, выполняющую ввод с клавиатуры данных в массив Spisok, состоящий из 15 элементов типа Order. Записи должны быть упорядочены по расчетным счетам плательщиков. Вывести на экран информацию о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры. Если такого расчетного счета нет, то вывести соответствующее сообщение.
Расчётный счёт плательщика и получателя, 20 символов.
Что требуется:
1)сортировку настроить.
2)настроить вывод на экран суммы введённого с клавиатуры счёта плательщика.
Знающему и понимающему человеку делов на 5 минут, не больше. Ребят, очень прошу, помогите.
Собственно вот задание:
Описать структуру с именем Order, содержащую следующие поля: plat-расчетный счет плательщика, pol- расчетный счет получателя, summa-перечисляемая сумма. Написать программу, выполняющую ввод с клавиатуры данных в массив Spisok, состоящий из 15 элементов типа Order. Записи должны быть упорядочены по расчетным счетам плательщиков. Вывести на экран информацию о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры. Если такого расчетного счета нет, то вывести соответствующее сообщение.
Расчётный счёт плательщика и получателя, 20 символов.
Что требуется:
1)сортировку настроить.
2)настроить вывод на экран суммы введённого с клавиатуры счёта плательщика.
C++:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int const n=20;
struct order {
char plat[n],pol[n]; // Здесь я обозначил счета, длинной 20 символов.
float summa;
};
order tmp;
order Spisok[15];
int nomer_plat;
bool r=false;
float snyataya_summa=0;
for (int i=0;i<=14;i++)
{ cout<<"Platel'shik - ";
cin>>Spisok[i].plat;
cout<<"Poluchatel - ";
cin>>Spisok[i].pol;
cout<<"summa - ";
cin>>Spisok[i].summa;
}
for (int j=0;j<=14;j++)
for (int i=1;i<=14;i++)
{ //в такой форме оператор if не может использовать массивы, нужно немного подделать программу, использовать можно strcmp.
if (Spisok[i].plat < Spisok[i-1].plat)
{
tmp=Spisok[i-1];
Spisok[i-1]=Spisok[i];
Spisok[i]=tmp;
}
}
for (int i=0;i<=14;i++)
cout<<"Platel'shik "<<Spisok[i].plat<<" Poluchatel' "<<Spisok[i].pol<<" summa "<<Spisok[i].summa<<"\n";
cout<<"Vvedite nomer raschetnogo scheta\n";
cin>>nomer_plat;
for (int i=0;i<=14;i++)
if (Spisok[i].plat == nomer_plat) //такая же ситуация, поиск не происхоодит.
{
snyataya_summa+=Spisok[i].summa;
r=true;
}
if (r==true)
cout<<"S raschetnogo scheta "<<nomer_plat<<" snyato "<<snyataya_summa<<"\n";
else
cout<<"Takogo scheta ne sushestvuet\n";
system("PAUSE");
return EXIT_SUCCESS;
}