С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274

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

11.06.2009, 20:38. Показов 2432. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввод, вывод. При запуске программы указать адрес файла и посчитать количество слов в нем! Где-то ошибка при вводе адреса ... помогите!

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";
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2009, 20:38
Ответы с готовыми решениями:

Нужно в нем посчитать количество предложений, количество слов в каждом предложении, сколько определенных букв
Дан текст вводится в textBox. Нужно в нем посчитать количество предложений, количество слов в каждом предложении, сколько определенных букв...

Имеется предварительно созданный текстовый файл, посчитать количество слов в нем
Имеется предварительно созданный текстовый файл,посчитать количество слов в нем

Указать рабочую папку при запуске сторонней программы в ms-dos
Здравствуйте. Нужно указать рабочую папку при запуске чужой программы. Запускаю программу в ms-dos так: ...

14
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 21:44
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())
...
0
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 21:49  [ТС]
Цитата Сообщение от ZVolodumur Посмотреть сообщение
[CPP]
C++
1
2
3
4
5
...
        cin>>h;
        ifstream in("h");
        if (!in.fail())
...
Ничего не изменилось...
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:02
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");
}
1
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 22:07  [ТС]
Работает! СПС! Но... если задать неверный адрес вместо вывода

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++;
                }
            }
        }
    }
...
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:22
Да. Ище слова лучше считай так:

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 Кб, 12 просмотров)
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 22:36
Работает! СПС! Но... если задать неверный адрес вместо вывода...
Вот Код
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");
}
0
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 22:44  [ТС]
Та же проблема (
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:08
Та же проблема (
У меня всё нормально. какой компилятор?
0
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:18  [ТС]
Цитата Сообщение от ZVolodumur Посмотреть сообщение
У меня всё нормально. какой компилятор?
Microsoft Visual C++ 6.0 Standard Edition
0
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:25
У меня в 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");
}
Эсли ты указал неверное имя файла и програма вивела строку Эсли отображаеться то имя файла верное", то чтото не так эсли не вивела то всё норм
0
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:28  [ТС]
Даже если адрес введен не верно отображаеться строка

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

Добавлено через 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");
}
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
11.06.2009, 23:51
Цитата Сообщение от IamSCORPION Посмотреть сообщение
Даже если адрес введен не верно отображаеться строка

C++
1
2
3
...
cout<<"Эсли отображаеться то имя файла верное";
...
Пробуй так :
C++
1
2
ifstream ifs;
ifs.open(h);
0
SysOp
 Аватар для IamSCORPION
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
12.06.2009, 00:10  [ТС]
Цитата Сообщение от FunDuck Посмотреть сообщение
Пробуй так :
C++
1
2
ifstream ifs;
ifs.open(h);
Непомогло...

Но я уже разобрался! Спасибо всем за труди!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2009, 00:10
Помогаю со студенческими работами здесь

Посчитать количество строк файла, для каждой отдельной строки определить количество символов и слов
В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить количество в ней символов и слов. пожалуйста...

При отладке программы в Microsoft Visual Studio 6.0 выдается окно - не знаю что в нем нужно указать
Набираю простенькую програмку на С: #include&lt;stdio.h&gt; main () { char text = &quot;Hello!&quot;; printf(&quot;%s&quot;,...

Посчитать количество слов в первой строке файла
Если в строке файла больше 4 слов , то вывести в другой файл информацию об этом.

Посчитать количество слов в каждой строке текстового файла
пусть дан текстовый файл. создайте файл целых чисел, в котором каждой строке исходного файла соответствует в выходном файле число, равное...

Считать текст из файла и определить в нем количество слов, состоящих из не более чем четырех букв
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не более чем четырех букв.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru