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

Описать структуру с именем ORDER - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Входят ли буквы 1 слова в состав 2 ого http://www.cyberforum.ru/cpp-beginners/thread289239.html
Даны 2 строки , проверить входит ли первая(и остальные буквы по одной) первого слова, в состав второго слова, если да, то печатать "Да" нет- "Нет"
C++ лабораторная с дин. матрицами есть динамическая целочисленная матрица,элементы которой из диопозона -15:88. Найти максимум. Делители максимума перезаписать в другой массив. По параметру передавать адрес первого нечетного числа в матрице. Я все написал,только что то не правильно работает. #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; void MatrixInput(int** x,int n); http://www.cyberforum.ru/cpp-beginners/thread289219.html
Заданы два натуральных числа в десятичной системе счисления, состоящие из единиц. C++
Единичный НОД (Время: 1 сек. Память: 16 Мб Сложность: 23%) Заданы два натуральных числа в десятичной системе счисления, состоящие из единиц. В первом числе ровно N единиц, а во втором их ровно M. Требуется найти НОД этих чисел. Напомним, что НОД (наибольший общий делитель) двух чисел a и b — это такое максимальное число c, что b делится на c и a делится на c. Входные данные В...
C (СИ) Как запретить ввод букв с клавиатуры
Уважаемые форумчане,помогите,пожалуйста новичку,как сделать так чтобы нельзя было ввести с клавиатуры ничего , кроме цифр,и ограничить ввод до 4 символов,заранее спасибо. Добавлено через 1 минуту Забыл сказать,в си ,не си++,работаю в dev c++
C++ В файл результатов напечатать исходный текст (эхо-печать), состояние сформированного линейного списка и найденные слова http://www.cyberforum.ru/cpp-beginners/thread289215.html
Обработка екстовых файлов Задан исходный текст на русском языке. Длина текста - не более NL строк, длина строки - не более NS символов, длина слова не более NW символов. После обработки исходного текста полученные слова хранить в однонаправленном линейном не кольцевом списке. В полученном линейном списке найти слова, начинающиеся и заканчивающиеся заданной буквой. В качестве заданной буквы...
C++ Как объединить два двумерных массива? есть массивы А и B как их зделать в C, проста смотрел про одномерные массивы там все както проста но не пордходит к двухмерному даже функцию нашел как объединить одномерные массивы а про двух тишина какои та :( помогите вообщем подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2913 / 1342 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
08.05.2011, 09:02     Описать структуру с именем ORDER
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#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;
}
 
Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru