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

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

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

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

06.03.2012, 23:16. Просмотров 383. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2012, 23:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разбиение функций (C++):

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Вызов функций внутри других функций - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; using namespace std; ...

Объявление функций внутри других функций - C++
Иногда вижу в некоторых исходниках на c объявление функций, внутри main. Например: main(){ double sum(int max_num); } ...

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

Разбиение строки - C++
Доброго времени суток. Я новичок в кодинге. Передо мной такая задача: есть строка str с числами, разделенными через пробел. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:26 #2
так в чем проблема? или программа написана не вами?
0
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
06.03.2012, 23:27  [ТС] #3
panicwassano, Мной, я с функциями не все нормально понимаю( не могу передать из одной в другую, писала сама, функции помогали с объявлением и передачей
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:30 #4
заведите переменную, и передавайте ее по указателю в функцию
0
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
06.03.2012, 23:47  [ТС] #5
panicwassano, Я теорию понимаю) просто завтра сдавать, а я с 6 вечера пишу, и уже просто не понимаю как оно делается

Добавлено через 16 минут
Помогите пожалуйста, кто-нибудь, а то завтра сдаваться, а я уже не соображаю как это и что делать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2012, 23:47
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.03.2012, 23:47
Ответ Создать тему
Опции темы

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