Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.09.2011, 19:48   #1
INFINITIFX
 
Регистрация: 11.11.2010
Сообщений: 3
Репутация: 10
По умолчанию Написать программу, которая выполняет следующие действия:

4.20. Дана запись с именем ORDER, содержащая следующие поля:
• Расчетный счет плательщика;
• Расчетный счет получателя;
• Перечисляемая сумма в руб.
Написать программу, которая выполняет следующие действия:
• Ввод с клавиатуры данных из 8 элементов типа ORDER, и занесение их в файл данных;
• Чтение данных из файла и вывод их на экран;
• вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры (если таких нет – вывести об этом сообщение).
• Список должен быть упорядочен по расчетным счетам плательщиков.
INFINITIFX вне форума   Ответить с цитированием
Старый 21.09.2011, 19:58   #2
FelixXXI
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 48
Репутация: 10
По умолчанию

Спасибо за то, что сообщил нам свою задачу.
Решение ,я так понимаю, следует ждать в следующем твоём сообщении?
FelixXXI вне форума   Ответить с цитированием
Старый 21.09.2011, 20:56   #3
INFINITIFX
 
Регистрация: 11.11.2010
Сообщений: 3
Репутация: 10
Стрелка чё переделать?

есть вот код для структуры:

#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <string>

struct Order {
std::string debet;
std::string credit;
float sum;
};

std::ostream &operator<<(std::ostream &stream, const Order &order) {
std::cout << "From: " << order.debet << std::endl
<< "To: " << order.credit << std::endl
<< "Sum: " << std::setprecision(2) << std::fixed << order.sum
<< " rub." << std::endl;
return stream;
}

Order RandomOrder() {
Order result;
for (int i = 0; i < 20; ++i) {
result.debet += rand() % 10 + '0';
result.credit += rand() % 10 + '0';
}
result.sum = (rand() % 100000) / 100.0;
return result;
}

bool OrderByDebet(const Order &a, const Order &b) {
return (a.debet < b.debet);
}

Order *FindFirstByDebet(Order *begin, Order *end,
const std::string &debet) {
for (Order *result = begin; result != end; ++result)
if (result->debet == debet)
return result;
return NULL;
}

float AccumulateSumByDebet(Order *begin, Order *end,
const std::string &debet) {
float result = 0;
for (Order *current = begin; current != end; ++current)
if (current->debet == debet)
result += current->sum;
return result;
}

int main(int argc, char *argv[]) {
srand(time(NULL));
Order orders[8];
for (int i = 0; i < 8; ++i)
orders[i] = RandomOrder();
std::sort(orders, orders+8, OrderByDebet);
for (int i = 0; i < 8; ++i)
std::cout << "#" << i << " " << orders[i] << std::endl;

std::string debet = orders[rand() % 8].debet;
// вместо предыдущей строки ввод:
// std::string debet;
// std::cout << "Enter debetor: ";
// std::cin >> debet;

std::cout << "Search for debet: " << debet << std::endl;

Order *order = FindFirstByDebet(orders, orders+8, debet);
if (order != NULL) {
float result = AccumulateSumByDebet(orders, orders+8, debet);
std::cout << "Debetor " << debet
<< " spent " << result << " rub." << std::endl;
} else {
std::cout << "No such debetor." << std::endl;
}

return 0;
}

а как переделать под запись,т. е. для данной задачи?

Последний раз редактировалось INFINITIFX; 21.09.2011 в 21:40.
INFINITIFX вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая считывает текст guksm Паскаль 8 05.04.2014 16:05
Используя компоненту Edit выполнить следующие действия. Аделинка Помощь студентам 2 31.03.2011 14:42
Написать программу, которая проверяет формулы на эквивалентность oksana baybuza Общие вопросы C/C++ 3 18.02.2010 20:38
Программа, которая выполняет расчёт электрической цепи onlyfifa Помощь студентам 1 12.01.2010 17:16
написать программу которая строила графики функций GeSerKo Помощь студентам 1 05.09.2008 21:03


05:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.