Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
1

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

11.06.2009, 20:38. Просмотров 1969. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2009, 20:38
Ответы с готовыми решениями:

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

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

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

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

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

C++
1
2
3
...
cout<<"Эсли отображаеться то имя файла верное";
...
0
49 / 49 / 4
Регистрация: 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");
}
0
692 / 383 / 51
Регистрация: 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);
0
SysOp
42 / 41 / 5
Регистрация: 13.04.2009
Сообщений: 274
12.06.2009, 00:10  [ТС] 15
Цитата Сообщение от FunDuck Посмотреть сообщение
Пробуй так :
C++
1
2
ifstream ifs;
ifs.open(h);
Непомогло...

Но я уже разобрался! Спасибо всем за труди!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2009, 00:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.