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

Разбиение функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти наибольшее число из 3 http://www.cyberforum.ru/cpp-beginners/thread513703.html
вот код с помощью которого ищу наибольшее int max, num1, num2, num3; cin >> num1 >> num2 >> num3; if(num1 > num2){ max = num1; } else { max = num2;
C++ Исправить ошибки в простой программе 4-угольник задан координатами вершин. Вычислить его площадь. Вроде бы как должно считать..а в результате постоянно выдает 0. #include<stdio.h> #include<stdlib.h> #include<math.h> int... http://www.cyberforum.ru/cpp-beginners/thread513702.html
программа для начинающих C++
Помогите выполнить задание из книжки(не знаю када че использовать и как): Объявите переменную типа char с именем friend_sex и инициализируйте его нулем. Предложите пользователю ввести значение m,...
C++ Вопрос по классам
Вообщем есть два класса, TTriangular и TPoint. В TTriangular есть метод, который должен вводить координаты заданной точки. В TPoint всего два поля x и y. Не понимаю, почему не получается, вроде бы...
C++ случайное значение из enum, c++ http://www.cyberforum.ru/cpp-beginners/thread513673.html
Дано условие const string obj={"Stone", "Scissors", "Paper"}; enum bo{Sto, Sci, Pap}; bo ms_; string player;
C++ Problem 3: Wrong Directions [Brian Dean, 2012] Problem 3: Wrong Directions Фермер Джон купил программируемый трактор. Чтобы заставить трактор двигаться, он пишет строку длиной N (1 <= N <= 100,000), состоящую только из символов F, L, R.... подробнее

Показать сообщение отдельно
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465

Разбиение функций - C++

06.03.2012, 23:16. Просмотров 393. Ответов 4
Метки (Все метки)

Добрый вечер, помогите пожалуйста разбить каждую из функций на две - первая часть ТОЛЬКО считывает строку посимвольно, а вторая - делает все остальное
Вот рабочая программа:
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include <cstring>
#include <string>
#include <fstream>
#include <iostream>
#include <conio.h>
#include <malloc.h>
 
struct marked
    {
    char string[255];
    char mark;
    };
struct longed
    {
    char string[255];
    int length;
    };
 
using namespace std;
 
void punkt_1(ofstream &fout, ifstream& fin);
void punkt_2(ofstream &fout, ifstream& fin);
void punkt_3(ofstream &fout, ifstream& fin);
void punkt_4(ofstream &fout, ifstream& fin);
 
int main()
    {
//————————————————————————-
    ifstream fin;
    fin.open("in.txt");
    ofstream fout;
    fout.open("out.txt");
//————————————————————————-
    int Menu=0;
    char symbol='a';
//———————————————————————
    cout << "1. Mark->Mark\n";
    cout << "2. Len->Len\n";
    cout << "3. Mark->Len\n";
    cout << "4. Len->Mark\n";
 
//———————————————————————
    cin >> Menu;
    switch (Menu)
        {
//———————————————————————
        case 1:
        punkt_1(fout,fin);
        break;
//———————————————————————
        case 2:
        punkt_2(fout,fin);
        break;
//———————————————————————
        case 3:
        punkt_3(fout,fin);      
        break;
//———————————————————————
        case 4:
        punkt_4(fout,fin);
        break;
        }
//———————————————————————
}
 
 
void punkt_1(ofstream &fout, ifstream& fin)
{
   marked mark={0};
   int check=0;
   char unMark=0, symbol=0;
   fin >> unMark >> mark.mark;
   cout << "Please Enter 1 SYMBOL\n";
   cin >> symbol;
   fout << mark.mark <<endl;
   fin.getline(mark.string,255);
   for (int l=254;l!=0;l--) 
   mark.string[l]=mark.string[l-1];
   mark.string[0]=' ';
   for (int l=0;mark.string[l];l++)
   {
      if (mark.string[l]==mark.mark)
         break;
      if (check==1)
         fout << mark.string[l];
      if ((mark.string[l]==symbol)&&(mark.string[l-1]==' '))
         {
            fout << mark.string[l];
            check=1;
         }
      if (mark.string[l]==' ')
         check=0;
   }
}
 
void punkt_2(ofstream &fout, ifstream& fin)
{
   longed longed;
   int check=0;
   char symbol=0;
   fin >> longed.length;
   fin.getline(longed.string,longed.length+1);
   cout << "Please Enter 1 SYMBOL\n";
   cin >> symbol;
   for (int l=0;longed.string[l];l++)
   {
      if ((longed.string[l]==symbol)&&(longed.string[l-1]==' '))
         check=1;
      if (check==1)
         fout << longed.string[l];
      if ((check==1)&&(longed.string[l]!=' ')&&(longed.string[l+1]==' '))
      {
         fout << " ";
         l++;
         check=0;
      }
   }
}
 
void punkt_3(ofstream &fout, ifstream& fin)
   {
       longed longed;
   marked mark={0};
   int check=0;
   char unMark=0, symbol=0;
   fin >> unMark >> mark.mark;
   cout << "Please Enter 1 SYMBOL\n";
   cin >> symbol;
   fin.getline(mark.string,255); 
   for (int l=0;mark.string[l];l++)
      if (mark.string[l]==mark.mark)
      {
         longed.length=l;
         break;
      }
   if (mark.string[0]==symbol)
      check=1;
    else mark.string[0]=' ';
   for (int l=0;l<longed.length;l++)
   {
      if ((mark.string[l]==symbol)&&(mark.string[l-1]==' '))
      {
         fout << mark.string[l];
         check=1;
         cout << mark.string[l];
      }
         else if (check==1)
                 fout << mark.string[l];
      if (mark.string[l]==' ')
         check=0;
   }
}
 
void punkt_4(ofstream &fout, ifstream& fin)
{
   longed longed={0};
   int check=0;
   char mark='!', symbol=0;
   fin >> longed.length;
   fin.getline(longed.string,longed.length+1);
   longed.string[longed.length]=mark;
   cout << "Please Enter 1 SYMBOL\n";
   cin >> symbol;
   for (int l=0;longed.string[l];l++)
   {
      if ((longed.string[l]==symbol)&&(longed.string[l-1]==' '))
      {
         fout << longed.string[l];
         check=1;
         cout << longed.string[l];
      }
         else if (check==1)
            fout << longed.string[l];
      if (longed.string[l]==' ')
         check=0;
   }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru