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

Блок-схема - C++

Восстановить пароль Регистрация
 
Господин Никто
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11
27.06.2013, 12:24     Блок-схема #1
здравствуйте! подскажите пожалуйста, вот эта блок схема(прикрепляю файл) совсем не подходит к этой программе? понимаю,что это какая-то фигня получилась,но всё же. сделано с помощью приложения.
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
in.txt: 
 
income Semen Semenich , 10000
income Inna Ivanovna , 5000
income Kseniya , 2000
income Svetlana , 8000
outgo kvartplata , 3000 , great
outgo repair of a vehicle , 7000 , great
outgo car wash , 1000 , petty
outgo food , 20000 , great
outgo bijou , 15000 , petty
outgo interesting book , 1000 , petty
structs.h
 
#ifndef STRUCTS_H
# define STRUCTS_H
# include <string>
struct Income {
  std::string m_name;
 int m_value;
};
enum Priority {
  Petty,
  Great
};
struct Outgo {
  std::string m_name;
 Priority m_prior;
  int m_value;
};
#endif // STRUCTS_H
main.cpp
 
#include <fstream>
#include <iostream>
#include <list>
#include <algorithm>
#include "structs.h"
/*
 *программа учёта семейного бюджета.
 *исходные данные и основные требования:
 *1. перечень доходов всех членов семьи.
 *2. перечень статей расходов с указанием степени важности
 *(обязательные расходы,желательные расходы) и требуемой суммы.
 *3. реализуемые функции: распределение имеющихся в распоряжении
 *средств по статьям расходов.
 **/
typedef std::list<Income*> Imcomes; 
typedef std::list<Outgo*> Outgos;
void get(char *fname, Imcomes& incomes, Outgos& outgos);
void out(Imcomes& incomes, Outgos& outgos);
bool cmpOutgo(Outgo *a, Outgo *b);
int main() {
  std::list<Income*> incomes;   
  std::list<Outgo*> outgos;    
  get("in.txt", incomes, outgos);
 out(incomes, outgos);
 int incSum = 0;
  for (Imcomes::iterator it = incomes.begin(); incomes.end() != it; ++it)
    incSum += (*it)->m_value;
  std::cout << "incomes Sum: " << incSum << std::endl;
 outgos.sort(cmpOutgo);
 //std::cout << "===============================" << std::endl;
  //out(incomes, outgos);
std::cout << "distribution: " << std::endl;
  for (Outgos::iterator it = outgos.begin(); outgos.end() != it; ++it) {
    if ((*it)->m_value < incSum) {
      std::cout << " " << (*it)->m_name << " " << (*it)->m_value << std::endl;
      incSum -= (*it)->m_value;
    }
  }
  std::cout << "residue: " << incSum << std::endl;
        
     for (Outgos::iterator it = outgos.begin(); outgos.end() != it; ++it)
                delete *it;
        for (Imcomes::iterator it = incomes.begin(); incomes.end() != it; ++it)
                delete *it;
}
bool cmpOutgo(Outgo *a, Outgo *b) {
  if (a->m_prior == b->m_prior)
    return a->m_value < b->m_value;
  return Great == a->m_prior;
}
void out(Imcomes& incomes, Outgos& outgos) {
  std::cout << "incomes: " << std::endl;
  for (Imcomes::iterator it = incomes.begin(); incomes.end() != it; ++it)
    std::cout << " " << (*it)->m_name << " " << (*it)->m_value << std::endl;
  std::cout << "outgos: " << std::endl;
  for (Outgos::iterator it = outgos.begin(); outgos.end() != it; ++it)
    std::cout << " " << (*it)->m_name << " " << (*it)->m_value << " "
              << ((*it)->m_prior  == Petty ? "petty" : "great") << std::endl;
}
void get(char *fname, Imcomes& incomes, Outgos& outgos) {
  std::ifstream ifst(fname);
  if (0 == ifst)
    return;
  std::string buff, name, prior;
  int val;
  while (false == ifst.eof()) {
    ifst >> buff;
    if (buff == "income") {
      name = buff = "";
      do {
        name += buff += " ";
        ifst >> buff;
      } while (buff != ",");
      ifst >> val;
      Income *t = new Income;
      t->m_name = name;
      t->m_value = val;
      incomes.push_back(t);
    }
    if (buff == "outgo") {
      name = buff = "";
      do {
        name += buff += " ";
        ifst >> buff;
      } while (buff != ",");
      ifst >> val;
      ifst >> buff;  // ","
      ifst >> prior;
      Outgo *t = new Outgo;
      t->m_name = name;
      t->m_value = val;
      if (prior == "great")
        t->m_prior = Great;
      else
        t->m_prior = Petty;
      outgos.push_back(t);
    }
  }
  ifst.close();
}
Миниатюры
Блок-схема   Блок-схема   Блок-схема  

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2013, 12:24     Блок-схема
Посмотрите здесь:

Блок схема C++
Блок-схема C++ C++
блок-схема C++
C++ блок схема
блок схема C++
C++ блок схема
C++ Блок схема
C++ Блок-схема...

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
27.06.2013, 12:27     Блок-схема #2
блок-схемы не нужны. вообще не нужны!
А в тех блок-схемах, что всё же создаются не должно быть и намёка на то, на каком языке была программа
Господин Никто
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11
27.06.2013, 12:29  [ТС]     Блок-схема #3
почему же не должно быть намека на язык?
у меня преподаватель просит блок-схему.
Yandex
Объявления
27.06.2013, 12:29     Блок-схема
Ответ Создать тему
Опции темы

Текущее время: 05:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru