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

Принцип работы программы - C++

Восстановить пароль Регистрация
 
Nuggets
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 30
07.06.2014, 00:04     Принцип работы программы #1
Смысл программы: подсчет количества слов и предложений из подключенного файла. Код есть, только не понимаю, почему подсчет слов (s) идет после вывода в файл данных и при этом считает правильно. Мне бы только объяснить и все)
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
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <string.h>
void main()
{
FILE *aa, *bb;
char c;
int  p,s;
s=1;
aa=fopen("1.txt","r");
bb=fopen("2.txt","a");
fstream clear_file("2.txt", ios::out);
clear_file.close();
p=0;
while (!feof(aa))
{
c=fgetc(aa);
if(c == '.' || c == '!' || c == '?')
{p++;
fputs("v ", bb);
fprintf(bb,"%i",p);
fputs(" predlozhenii ", bb);
fprintf(bb,"%i",s);
fputs(" slov \n", bb);
}
if(c == ' ' || c == '\n')    // <<<
{s++;}                        // <<< 
}
fclose(aa);
fclose(bb);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 00:04     Принцип работы программы
Посмотрите здесь:

объсните принцип работы C++
Принцип работы конструктора C++
Принцип работы switch C++
C++ Принцип работы функции
Принцип работы strpbrk C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
07.06.2014, 00:12     Принцип работы программы #2
Цитата Сообщение от Nuggets Посмотреть сообщение
Код есть, только не понимаю, почему подсчет слов (s) идет после вывода в файл данных и при этом считает правильно.
какая разница? c то ведь не меняется теле цикла
если ты снимешь шляпу и подойдешь к окну или подойдешь к окну и снимешь шляпу
результат один ты у окна без шляпы
тем более что в файл записываются только при наличии конца предложения
Цитата Сообщение от Nuggets Посмотреть сообщение
if(c == '.' || c == '!' || c == '?')
Nuggets
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 30
07.06.2014, 00:17  [ТС]     Принцип работы программы #3
Но если поднять эти строчки перед выводом, то не считает. Вот что не понятно
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
07.06.2014, 00:23     Принцип работы программы #4
Цитата Сообщение от Nuggets Посмотреть сообщение
Но если поднять эти строчки перед выводом,
покажи как поднимаешь
Nuggets
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 30
07.06.2014, 00:32  [ТС]     Принцип работы программы #5
Не в то место поднимали) теперь бы придумать, как тот счетчик сбросить, чтобы для каждого предложения (p) считал верное количество слов, а не общее с предыдущим)
Pjeroo
07.06.2014, 00:45
  #6

Не по теме:


C++
1
2
3
4
aa=fopen("1.txt","r"); 
bb=fopen("2.txt","a"); 
fstream clear_file("2.txt", ios::out); 
clear_file.close();

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 00:49     Принцип работы программы
Еще ссылки по теме:

C++ Объясните принцип работы программы
Объясните принцип работы программы C++
Обьясните принцип работы программы C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
07.06.2014, 00:49     Принцип работы программы #7
Цитата Сообщение от Nuggets Посмотреть сообщение
теперь бы придумать, как тот счетчик сбросить, чтобы для каждого предложения (p) считал верное количество слов, а не общее с предыдущим)
а че там придумывать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(c == '.' || c == '!' || c == '?')
{p++;
fputs("v ", bb);
fprintf(bb,"%i",p);
fputs(" predlozhenii ", bb);
fprintf(bb,"%i",s);
fputs(" slov \n", bb);
 
s=0 // вот здесь и обнуляем
 
}
if(c == ' ' || c == '\n')    // <<<
{s++;}                        // <<< 
}
Yandex
Объявления
07.06.2014, 00:49     Принцип работы программы
Ответ Создать тему
Опции темы

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