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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
#1

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

06.03.2012, 23:16. Просмотров 379. Ответов 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;
   }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 23:16     Разбиение функций
Посмотрите здесь:

QR -разбиение - C++
Доброго всем времени суток. У кого есть красиво написанное QR-разложение матриц с помощью преобразования Хаусхолдера? Если не сложно,...

Разбиение на лексемы - C++
Нужно написать программу, запрашивающую строку текста, разбивающую ее на лексемы и выводящую лексемы в обратном порядке. Желательно си, не...

Разбиение множества на подмножества с одинаковыми суммами - C++
Здраствуйте. Есть такая задача: разбить последовательность чисел от 1 до n * n на n подмножеств так, чтобы все они состояли из n чисел и...

Разбиение на слагаемые - C++
Задание:нужно вывести на экран в лексикографическом порядке все разбиения на слагаемые числа n от 1 до 20. пример: n=5 5=1+1+1+1+1 ...

Разбиение проекта на .h - C++
Эсть класс А от его наследую класс Б, в .h пишу #ifndef B_H #define B_H #include &quot;A.h&quot; class B:public A{ ......} #endif ...

Разбиение массива - C++
Одним весенним днем, идя в университет, Леша нашел массив A. Леша очень любит разбивать массив на несколько частей. В этот раз он решил,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:26     Разбиение функций #2
так в чем проблема? или программа написана не вами?
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
06.03.2012, 23:27  [ТС]     Разбиение функций #3
panicwassano, Мной, я с функциями не все нормально понимаю( не могу передать из одной в другую, писала сама, функции помогали с объявлением и передачей
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:30     Разбиение функций #4
заведите переменную, и передавайте ее по указателю в функцию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2012, 23:47     Разбиение функций
Еще ссылки по теме:

Разбиение точек - C++
Дано n точек. n &lt;= 100. Необходимо разбить их на 2 выпуклых, непересекающихся многоугольника так, чтобы любая точка являлась вершиной...

Разбиение строк - C++
Доброго времени суток! Собственно нужна помощь в поиске ошибки. вот код: #include &quot;stdafx.h&quot; typedef struct { char...

scanf. Разбиение. - C++
Помогите с задачей. Не могу додуматься как это сделать: С клавиатуры вводится следующий набор символов: AGENT007:1234567.25 В...

Разбиение текста на предложения - C++
Задача такова - создать текстовый файл, программа должна разбить этот текст на предложения, учитывая : 1. . 2. ... 3. ! 4. !!! 5....


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

Или воспользуйтесь поиском по форуму:
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
06.03.2012, 23:47  [ТС]     Разбиение функций #5
panicwassano, Я теорию понимаю) просто завтра сдавать, а я с 6 вечера пишу, и уже просто не понимаю как оно делается

Добавлено через 16 минут
Помогите пожалуйста, кто-нибудь, а то завтра сдаваться, а я уже не соображаю как это и что делать
Yandex
Объявления
06.03.2012, 23:47     Разбиение функций
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru