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

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

11.06.2009, 20:38. Просмотров 1852. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2009, 20:38
Ответы с готовыми решениями:

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

Из файла считать третью строку и посчитать количество слов в этой строке
Помогите плиз!!!Завтра надо здать такую вот задачку:Есть файл(создаётся...

Указать адрес файла по умолчанию
Как прописать код, чтобы путь создания файла был по умолчанию, но имя файла...

Ошибка программы при запуске .exe файла из коммандной строки
Доброе Время ! Собсно некорректно работает .exe файл проекта Visual Studio из...

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

14
ZVolodumur
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
IamSCORPION
SysOp
40 / 39 / 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
ZVolodumur
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
IamSCORPION
SysOp
40 / 39 / 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
ZVolodumur
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 Кб, 11 просмотров)
ZVolodumur
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
IamSCORPION
SysOp
40 / 39 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 22:44  [ТС] 8
Та же проблема (
0
ZVolodumur
49 / 49 / 4
Регистрация: 21.05.2009
Сообщений: 156
11.06.2009, 23:08 9
Та же проблема (
У меня всё нормально. какой компилятор?
0
IamSCORPION
SysOp
40 / 39 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:18  [ТС] 10
Цитата Сообщение от ZVolodumur Посмотреть сообщение
У меня всё нормально. какой компилятор?
Microsoft Visual C++ 6.0 Standard Edition
0
ZVolodumur
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
IamSCORPION
SysOp
40 / 39 / 5
Регистрация: 13.04.2009
Сообщений: 274
11.06.2009, 23:28  [ТС] 12
Даже если адрес введен не верно отображаеться строка

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

Но я уже разобрался! Спасибо всем за труди!
0
12.06.2009, 00:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2009, 00:10

Ошибка при запуске программы. Считывание матрицы из файла, умножение на число и запись обратно
Я не могу понять никак, что не так? #include &quot;stdafx.h&quot; #include...

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку
Добавлено через 1 минуту 35 секунд как исправить ошибки в названии темы? там...

Посчитать сумму с заданной точностью eps и указать количество учтенных слагаемых
№1 задано действительные числа x,a,e(epselon)(x!=0,a!=0,e&gt;0). Сделать...


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

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

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