1 | |
Помогите поправить код.25.12.2011, 20:35. Показов 349. Ответов 0
Метки нет Все метки)
(
Условие:
Существует несколько проблем: 1. По отдельности у меня эти три функции работают вроде как нормально. Вместе (как в коде) ниже. Что то они не очень работают. Программа компилируется, но прежде чем вывести "WordsCounter results: " и "StringsCounter results: " выдает какое то замысловатое число с буквенной частью. Как это поправить ? 2. Не знаю как ввести CTRL + D. Поэтому ввел пока табуляцию, но ее приходится вводить три раза, чтобы прога выдала результат. Как ввести корректно CTRL + D? 3. Есть еще алгоритмическая ошибка. Почему то подсчет слов введется только в пределах последней строки. А надо чтобы подсчет ввелся со всех строк. Как это реализовать ? Пожалуйста, помогите. Код
#include <iostream> #include <string> #include <stdio.h> #include <conio.h> #define IN 1 #define OUT 0 using namespace std; int CharsCounter (string str) { int Sumlength = 0; int c=0; while ((c=getchar())!= '\t') { int length = str.length(); Sumlength = Sumlength+length; } return Sumlength; } int WordsCounter (string str) { int c, counter,state; state=OUT; c=0; counter=1; while((c=getchar())!= '\t') { if(c==' ') state=OUT; if(state==OUT) { state=IN; ++counter; } } return counter; } int StringsCounter(string str) { int c, counter,state; state=OUT; counter=1; while((c=getchar())!='\t') { if(c=='\n') { ++counter; } } return counter; } int main () { string str; cout <<"enter string: " << endl; getline(cin,str) ; cout <<"CharsCounter results: " << CharsCounter (str) << endl << cout <<"WordsCounter results: " << WordsCounter (str) << endl << cout <<"StringsCounter results: " << StringsCounter (str) << endl; system ("pause"); return 0; }
0
|
|
25.12.2011, 20:35 | |
Ответы с готовыми решениями:
0
Поправить код
Поправить код программы Нужно поправить код |
25.12.2011, 20:35 | |
Помогаю со студенческими работами здесь
1
Поправить код программы Поправить код программы Поправить немного код Необходимо поправить код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |