Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AzgardC
7 / 7 / 0
Регистрация: 18.10.2012
Сообщений: 81
#1

Ошибок не выдает, но не работает - C++

19.11.2012, 15:13. Просмотров 269. Ответов 2
Метки нет (Все метки)

Всем привет. Написал программу для для определения в каком предложении в файле впервые встретилось введенное слово. При компиляции ошибок не выдало, но после того как ввожу искомое слово и нажимаю Enter ничего не происходит. Еще после нескольких нажатий ентера, программа закрывается.
Пожалуйста, подскажите что не так! Буду очень благодарен!
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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(void){
FILE *fid;
char ch, p[10], y[251];
 
int i=1,j=0,o,h,k,c;
 
 
if ((fid = fopen("D:\\data1.txt", "w")) == NULL)
       {printf("\n\t The file could not be opened.\n ");
printf("\n Press any key: "); _getch(); return -1;}
 
while ((ch = getchar()) != '\n')
{ printf(" "); fputc(ch, fid);}
fclose(fid);
 
printf("\n Vvedite slovo: ");
gets_s(p, 9);
h=strlen(p);
 
if ((fid = fopen("D:\\data1.txt", "r")) == NULL)
       {printf("\n\t The file could not be opened.\n ");
printf("\n Press any key: "); _getch(); return -1;}  
 
while (!feof(fid))
{
y[j]= fgetc(fid);
j++;
}
o=strlen(y);
for(j=0; j<o; j++){
    k=0;
    if(y[j]=='.')i++;
    if(y[j]==p[0])
        for(c=j; c<(j+h);j++){
            if(y[c]==p[k])continue;break;
            k++;
        }
    if(k==h)printf("\n Slovo v %i predlozhenii.", i);
    }
 
 
fclose(fid);
 
printf("\n Press any key: ");
_getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибок не выдает, но не работает (C++):

Программа не работает, но ошибок не выдает. В чем может быть ошибка? - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;cstdlib&gt; #define m 8 using namespace std; int main() { int...

<cstdio> выдает 299 ошибок - C++
По совету с форума начал изучать C++ по книге &quot;Герберт Шилдт - Самоучитель C++&quot;. При выполнении одного из уроков visual studio выдает...

Почему C++ выдает Over9000 ошибок при подключение GDI+ - C++
Почему C++ выдает Over9000 ошибок при подключение GDI+ ? #include &lt;Windows.h&gt; #include &lt;gdiplus.h&gt; #include &lt;stdio.h&gt; using...

Найти причины странного поведения IDE Dev C++: код не компилируется, а IDE ошибок не выдает - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { int x, i=26; const int a=1,...

Ошибок не находит, но не работает! - C++
Профи, помогите пожалуйста, че то не работает. Надо чтобы программа пошла на Borland C++ 3.11 версии. #include &lt;iostream.h&gt; ...

ошибок не выводит, но не работает - C++
struct TList { int Info; TList *Next; }; //Создание односвязного списка void MakeList (TList *Head, int n) { srand...

2
Peregrin
33 / 33 / 1
Регистрация: 16.11.2012
Сообщений: 59
19.11.2012, 15:23 #2
Вы бы прокомментировали слегка код, а то непонятно вообще, что такое k, h, p и т.д.
На первый взгляд вот тут ошибка:
C++
1
2
3
4
for(c=j; c<(j+h);j++){
            if(y[c]==p[k])continue;break;
            k++;
        }
k++ никогда не вызовется, потому что если y[c]==p[k], то цикл перейдет на следующую итерацию, иначе просто будет выход из цикла.
0
AzgardC
7 / 7 / 0
Регистрация: 18.10.2012
Сообщений: 81
19.11.2012, 16:57  [ТС] #3
Цитата Сообщение от Peregrin Посмотреть сообщение
k++ никогда не вызовется, потому что если y[c]==p[k], то цикл перейдет на следующую итерацию, иначе просто будет выход из цикла.
Теперь хотя бы пресс эни кей появляется)) Простите что без комментов)
Но все равно результата нет.

Добавлено через 1 час 31 минуту
Кто-нибудь еще знает в чем может быть дело?) Плиз, очень надо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 16:57
Привет! Вот еще темы с ответами:

Явных ошибок нет, но программа не работает - C++
Задание было такое: 1. Разработать программу, которая создает массив, количество элементов которого задается пользователем. Все элементы...

Не работает программа, ошибок компиляции нет. - C++
Есть вот такая программа: поменять местами строки в матрице с мин и макс значениями. Писал в вижуал С++. #include &lt;stdio.h&gt; #include...

Синтаксических и арифметических ошибок в цикле вроде как нет, но он не работает - C++
Вот условие задачи: Дафна инвестировала $100 под простые 10%. Другими словами, ежегодно инвестиция должна приносить 10%...

Апроксимация функции с фурье, компилятор ошибок не находит, но программа работает не верно. - C++
Надо апроксимировать функцию..грубо говоря, я раскладываю функцию в ряд фурье и считаю значение функции в каждой точке х. После этого, по...


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

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

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