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

Оформить задачу в функции. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
22.04.2012, 20:00     Оформить задачу в функции. #1
Всем привет!) У меня есть сделанная задача. Я не пойму как решить вот эту задачу.
Выполнить задания третьего семинара ( Одномерные массивы ) и четвертого семинара ( Двумерные массивы ), оформив каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
Вот код моей программы, мне ее нужно оформить каждый пункт в виде функции. Как это сделать?
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
// 359.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 
    const int len=120;
    char word[len], line[len];
    char del[]= ".,!?/<>|)(*::\ ";
    int l_word=0;
    int k=0;
    ifstream fin("text.txt", ios :: in );
    if (!fin) {cout <<"Don't worry!!!!"<<endl; return 1;}
    int count = 0;
    while (fin.getline(line,len))
    {
        char *ptr = strtok(line,del);        
        while(ptr != NULL)
        {
            if(strlen(ptr) < 5)
                count++;
            ptr = strtok(NULL,del);
        }                           
        cout <<"Kolichestvo slov "<<count<<endl;
 
    }
    return 0;
}
В файле предложение -
Dom, krovat, ctul, ctol.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 20:00     Оформить задачу в функции.
Посмотрите здесь:

как оформить задачу через классы C++
C++ Оформить в виде функции
C++ Оформить в виде функции на C++ решение задачи
C++ Оформить в виде функции
C++ Оформить в виде функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
22.04.2012, 20:27     Оформить задачу в функции. #2
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
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <ctime>
 
void fInput(std::vector<std::string> &vectorOfString) {
    std::string tmpString;
    std::ifstream in("text.txt");
    in >> tmpString;
    while(!tmpString.empty()) {
        vectorOfString.push_back(tmpString);
        if(in.bad() || in.fail()) {
            std:: cout << "File reading error" << std::endl;
            tmpString.clear();
            in.close();
            exit(NULL);
        }
        tmpString.clear();
        in >> tmpString;
    }
    tmpString.clear();
    in.close();
}
 
int fNumberOfWords(std::vector<std::string> vectorOfString) {
    return vectorOfString.size();
}
 
int main() {
    std::vector<std::string> vectorOfString;
    fInput(vectorOfString);
    std::cout << "Number of Words: " << fNumberOfWords(vectorOfString) << std::endl;
    std::cin.get();
    return 0;
}
Не знаю, можно ли было использовать STL, если нельзя, отпишитесь, исправлю.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
22.04.2012, 20:31     Оформить задачу в функции. #3
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
#include <iostream>
#include <fstream>
 
int readFromFile(char *filename)
{
    std::ifstream fin(filename);
    if (fin.bad())
        return -1;
    const int len=120;
    char line[len];
    char del[]= ".,!?/<>|)(*::\ ";
    int count = 0;
    while (fin.getline(line,len))
    {
        char *ptr = strtok(line,del);        
        while(ptr != NULL)
        {
            if(strlen(ptr) < 5)
                count++;
            ptr = strtok(NULL,del);
        }                        
    }
    fin.close();
    return count;
}
 
int main()
{
    int count = readFromFile("test.txt");
    if (count == -1) { std::cerr<< "There's no file"; return 1; }
    std::cout<< "Number of words: "<< count;
    return 0;
}
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
22.04.2012, 21:40  [ТС]     Оформить задачу в функции. #4
STL использовать нельзя.
MrGluck, Спасибо!) А это имелось в виду так?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4924 / 2667 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
22.04.2012, 21:58     Оформить задачу в функции. #5
Ну, какие пункты вашего задания знаете только вы.
Лично я посчитал, что там один пункт: "Посчитать количество слов в файле и вывести на экран."
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
22.04.2012, 22:43  [ТС]     Оформить задачу в функции. #6
MrGluck, совершенно верно! В задании пунктов больше и нету. Большое Спасибо!
Yandex
Объявления
22.04.2012, 22:43     Оформить задачу в функции.
Ответ Создать тему
Опции темы

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