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

При запуске программы указать адрес файла и посчитать количество слов в нем - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 20:38     При запуске программы указать адрес файла и посчитать количество слов в нем #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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "stdafx.h"
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <windows.h>
 
const int N=1000;
 
void main()
{
    int z=0;
    char ch;
    char kur1111[]=" Введите адрес и полное имя файла!\n";                
    CharToOem (kur1111, kur1111);   
    cout<<kur1111;
    char h[N];
    cout<<" ";
    cin>>h[N];
    ifstream in("h[N]");
    if (!in.fail())
    {
        while (in)
        {
            in.get(ch);
            cout<<ch;
            if(ch==' ')
            {
                z++;
            }
            else if(ch=='.' || ch==',' || ch=='"' || ch=='!' || ch=='-' || ch=='?') 
            {
                if(ch==' ')
                {
                    z++;
                }
            }
        }
    }
    else
    {
        char kur11111[]="\n Ошибка! Неверно указан адрес или имя файлa!\n";                
        CharToOem (kur11111, kur11111);   
        cout<<kur11111;
    }
    char kur2[]="В тексте ";                
    CharToOem (kur2, kur2); 
    char kur3[]=" слов";                
    CharToOem (kur3, kur3); 
    cout<<"\n\t\t\t\t\t\t\t"<<kur2<<z<<kur3<<"\n";
    cout<<"\n\n";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2009, 20:38     При запуске программы указать адрес файла и посчитать количество слов в нем
Посмотрите здесь:

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку C++
C++ Из файла считать третью строку и посчитать количество слов в этой строке
C++ посчитать количество слов
C++ Текстовый файл. Открыть, посчитать в нем количество английских и русских букв
C++ Ошибка программы при запуске .exe файла из коммандной строки
Посчитать сумму с заданной точностью eps и указать количество учтенных слагаемых C++
Посчитать количество слов в строке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 21:44     При запуске программы указать адрес файла и посчитать количество слов в нем #2
C++
1
2
3
4
5
...
        cin>>h[N];
        ifstream in("h[N]");
        if (!in.fail())
...
Попробуй

C++
1
2
3
4
5
...
        cin>>h;
        ifstream in("h");
        if (!in.fail())
...
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 21:49  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #3
Цитата Сообщение от ZVolodumur Посмотреть сообщение
[CPP]
C++
1
2
3
4
5
...
        cin>>h;
        ifstream in("h");
        if (!in.fail())
...
Ничего не изменилось...
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:02     При запуске программы указать адрес файла и посчитать количество слов в нем #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
//#include "stdafx.h"
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <windows.h>
 
const int N=1000;
 
void main()
{
        int z=0;
        char ch;
        char kur1111[]=" Ââåäèòå Г*äðåñ ГЁ ïîëГ*îå èìÿ ГґГ*éëГ*!\n";                
        CharToOem (kur1111, kur1111);   
        cout<<kur1111;
        char h[N];
        cout<<" ";
        cin>>h;
         ifstream ifs ( h , ifstream::in );
        if (!ifs.fail())
        {
                while (ifs)
                {
                        ifs.get(ch);
                        cout<<ch;
                        if(ch==' ')
                        {
                                z++;
                        }
                        else if(ch=='.' || ch==',' || ch=='"' || ch=='!' || ch=='-' || ch=='?') 
                        {
                                if(ch==' ')
                                {
                                        z++;
                                }
                        }
                }
        }
        else
        {
                char kur11111[]="\n ГЋГёГЁГЎГЄГ*! ГЌГҐГўГҐГ°Г*Г® ГіГЄГ*Г§Г*Г* Г*äðåñ èëè èìÿ ГґГ*éëa!\n";                
                CharToOem (kur11111, kur11111);
                cout<<kur11111;
        }
        char kur2[]="Г‚ ГІГҐГЄГ±ГІГҐ ";
        CharToOem (kur2, kur2); 
        char kur3[]=" ñëîâ";                
        CharToOem (kur3, kur3); 
        cout<<"\n\t\t\t\t\t\t\t"<<kur2<<z<<kur3<<"\n";
        cout<<"\n\n";
        system("pause");
}
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 22:07  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #5
Работает! СПС! Но... если задать неверный адрес вместо вывода

C++
1
2
3
...
"Ошибка! Неверно задано адрес или имя файлa!";
...
выполняется

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
...
if (!in.fail())
    {
        while (in)
        {
            in.get(ch);
            cout<<ch;
            if(ch==' ')
            {
                z++;
            }
            else if(ch=='.' || ch==',' || ch=='"' || ch=='!' || ch=='-' || ch=='?') 
            {
                if(ch==' ')
                {
                    z++;
                }
            }
        }
    }
...
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:22     При запуске программы указать адрес файла и посчитать количество слов в нем #6
Да. Ище слова лучше считай так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
 ifstream ifs ( h , ifstream::in );
        if (!ifs.fail())
        {     char ch[N],*p;
          while (!ifs.eof())
                {
                        ifs.getline(ch,80);
                        cout<<ch<<endl;
                        p=strtok(ch," !?,.-_");
                        while(p)
                        {p=strtok(NULL," !?,.-_"); z++;}
 
                }
        }
        else
...
Вложения
Тип файла: txt Unit1_Slova_v_faile.txt (1.2 Кб, 11 просмотров)
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:36     При запуске программы указать адрес файла и посчитать количество слов в нем #7
Работает! СПС! Но... если задать неверный адрес вместо вывода...
Вот Код
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
//#include "stdafx.h"
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <windows.h>
 
const int N=1000;
 
void main()
{
        int z=0;
        char kur1111[]=" Ââåäèòå Г*äðåñ ГЁ ïîëГ*îå èìÿ ГґГ*éëГ*!\n";
        CharToOem (kur1111, kur1111);   
        cout<<kur1111;
        char h[N];
        cout<<" ";
        cin>>h;
         ifstream ifs ( h , ifstream::in );
        if (!ifs.fail())
        {     char ch[N],*p;
          while (!ifs.eof())
                {
                        ifs.getline(ch,80);
                        cout<<ch<<endl;
                        p=strtok(ch," !?,.-_");
                        while(p)
                        {p=strtok(NULL," !?,.-_"); z++;}
 
                }
        char kur2[]="Г‚ ГІГҐГЄГ±ГІГҐ ";
        CharToOem (kur2, kur2);
        char kur3[]=" ñëîâ";
        CharToOem (kur3, kur3);
        cout<<"\n\t\t\t\t\t\t\t"<<kur2<<z<<kur3<<"\n";
        cout<<"\n\n";
 
        }
        else
        {
                char kur11111[]="\n ГЋГёГЁГЎГЄГ*! ГЌГҐГўГҐГ°Г*Г® ГіГЄГ*Г§Г*Г* Г*äðåñ èëè èìÿ ГґГ*éëa!\n";
                CharToOem (kur11111, kur11111);
                cout<<kur11111;
        }
 
        system("pause");
}
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 22:44  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #8
Та же проблема (
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:08     При запуске программы указать адрес файла и посчитать количество слов в нем #9
Та же проблема (
У меня всё нормально. какой компилятор?
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:18  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #10
Цитата Сообщение от ZVolodumur Посмотреть сообщение
У меня всё нормально. какой компилятор?
Microsoft Visual C++ 6.0 Standard Edition
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:25     При запуске программы указать адрес файла и посчитать количество слов в нем #11
У меня в C++ Builder 6 нормально... Но тот кусок кода оно неможет выполнять эсли неправильно задано имя файла...

Добавлено через 3 минуты 34 секунды
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
//#include "stdafx.h"
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <windows.h>
 
const int N=1000;
 
void main()
{
        int z=0;
        char kur1111[]=" Введите адрес и полное имя файла!\n";
        CharToOem (kur1111, kur1111);   
        cout<<kur1111;
        char h[N];
        cout<<" ";
        cin>>h;
         ifstream ifs ( h , ifstream::in );
        if (!ifs.fail())
        { cout<<"Эсли отображаеться то имя файла верное";
         char ch[N],*p;
          while (!ifs.eof())
                {
                        ifs.getline(ch,80);
                        cout<<ch<<endl;
                        p=strtok(ch," !?,.-_");
                        while(p)
                        {p=strtok(NULL," !?,.-_"); z++;}
 
                }
        char kur2[]="В тексте ";
        CharToOem (kur2, kur2);
        char kur3[]=" слов";
        CharToOem (kur3, kur3);
        cout<<"\n\t\t\t\t\t\t\t"<<kur2<<z<<kur3<<"\n";
        cout<<"\n\n";
 
        }
        else
        {
                char kur11111[]="\n Ошибка! Неверно указан адрес или имя файлa!\n";
                CharToOem (kur11111, kur11111);
                cout<<kur11111;
        }
 
        system("pause");
}
Эсли ты указал неверное имя файла и програма вивела строку Эсли отображаеться то имя файла верное", то чтото не так эсли не вивела то всё норм
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:28  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #12
Даже если адрес введен не верно отображаеться строка

C++
1
2
3
...
cout<<"Эсли отображаеться то имя файла верное";
...
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:37     При запуске программы указать адрес файла и посчитать количество слов в нем #13
Э то уже какието глюки

Добавлено через 4 минуты 56 секунд
Ану так
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
//#include "stdafx.h"
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <windows.h>
 
const int N=1000;
 
void main()
{
        int z=0;
        char kur1111[]=" Ââåäèòå Г*äðåñ ГЁ ïîëГ*îå èìÿ ГґГ*éëГ*!\n";
        CharToOem (kur1111, kur1111);   
        cout<<kur1111;
        char h[N];
        cout<<" ";
        cin>>h;
         ifstream ifs ( h , ifstream::in );
        if (ifs.good())
        {
         char ch[N],*p;
          while (!ifs.eof())
                {
                        ifs.getline(ch,80);
                        cout<<ch<<endl;
                        p=strtok(ch," !?,.-_");
                        while(p)
                        {p=strtok(NULL," !?,.-_"); z++;}
 
                }
        char kur2[]="Г‚ ГІГҐГЄГ±ГІГҐ ";
        CharToOem (kur2, kur2);
        char kur3[]=" ñëîâ";
        CharToOem (kur3, kur3);
        cout<<"\n\t\t\t\t\t\t\t"<<kur2<<z<<kur3<<"\n";
        cout<<"\n\n";
 
        }
        else
        {
                char kur11111[]="\n ГЋГёГЁГЎГЄГ*! ГЌГҐГўГҐГ°Г*Г® ГіГЄГ*Г§Г*Г* Г*äðåñ èëè èìÿ ГґГ*éëa!\n";
                CharToOem (kur11111, kur11111);
                cout<<kur11111;
        }
 
        system("pause");
}
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
11.06.2009, 23:51     При запуске программы указать адрес файла и посчитать количество слов в нем #14
Цитата Сообщение от IamSCORPION Посмотреть сообщение
Даже если адрес введен не верно отображаеться строка

C++
1
2
3
...
cout<<"Эсли отображаеться то имя файла верное";
...
Пробуй так :
C++
1
2
ifstream ifs;
ifs.open(h);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2009, 00:10     При запуске программы указать адрес файла и посчитать количество слов в нем
Еще ссылки по теме:

C++ При запуске программы содержимое файла, с которым она работает, обнуляется
Указать адрес файла по умолчанию C++
Прочитать текстовый файл и подсчитать в нем количество слов и символов C++
Посчитать количество слов в каждой строке текстового файла C++
C++ Посчитать количество слов в предложении

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

Или воспользуйтесь поиском по форуму:
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
12.06.2009, 00:10  [ТС]     При запуске программы указать адрес файла и посчитать количество слов в нем #15
Цитата Сообщение от FunDuck Посмотреть сообщение
Пробуй так :
C++
1
2
ifstream ifs;
ifs.open(h);
Непомогло...

Но я уже разобрался! Спасибо всем за труди!
Yandex
Объявления
12.06.2009, 00:10     При запуске программы указать адрес файла и посчитать количество слов в нем
Ответ Создать тему
Опции темы

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