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

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

Войти
Регистрация
Восстановить пароль
 
Nuggets
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 30
#1

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

07.06.2014, 00:04. Просмотров 336. Ответов 6
Метки нет (Все метки)

Смысл программы: подсчет количества слов и предложений из подключенного файла. Код есть, только не понимаю, почему подсчет слов (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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
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
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
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++
Принцип работы fstream C++
C++ Не могу понять принцип работы программы
Принцип работы pthread_join C++
C++ Getline принцип работы

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
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     Принцип работы программы
Ответ Создать тему
Опции темы

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