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

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

Войти
Регистрация
Восстановить пароль
 
 
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
#1

C++ не работает программа - C++

05.04.2012, 21:40. Просмотров 730. Ответов 19
Метки нет (Все метки)

Программа должна сравнивать последний символ строки с введённым, и если они совпадут счетчик++, но на scanf она почему то виснет, тоесть после предложения ввести букву, ничего не происходит (( помогите пожалуйста!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "io.h"
#include <string.h>
#include "iostream"
using namespace std;
 
 
char s[256];
int main(){
    freopen("test.txt","r",stdin);
    int c=0;
    char ch(1);
    printf("Vvedite simvol\n");
    scanf("%d", &ch);
    while (!std::feof(stdin))
    {
        std::cin.getline(s,80);
        if (ch==s[strlen(s)-1]) c++;
    }
    std::cout << c;
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 21:40     C++ не работает программа
Посмотрите здесь:

Программа не работает - C++
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { int i,n; FILE *Result; ...

Программа не работает - C++
Вроде написала задачу,она не работает,посмотрите пожалуйста... Добавлено через 15 секунд #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

не работает программа - C++
вот условие: Даны действительные числа x,a , натуральное число n. Вычислить: ((...((x+a)^2+a)^2+...+a)^2+a {n скобок} {^2-квадрат} ...

Не работает программа - C++
Сделать программу для введения с клавиатуры текста из 50 символов и вывода на экран кол-ва букв, которые входят в этот текст по одному...

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

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

Программа не работает - C++
Исправьте,пожалуйста, ошибку в программе #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main(void) { int m,n,i; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 21:43     C++ не работает программа #2
Пробуй
scanf("%s", &ch);
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 21:46  [ТС]     C++ не работает программа #3
Всё равно, что бы я не нажал ( цифру или букву, на любой раскладке ) в программе - 0 реакции. Может поточный ввод попробовать??
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 21:50     C++ не работает программа #4
C++
1
2
char ch;
std::cin.get(ch);
И возможно

C++
1
scanf("%s",ch);
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 22:02  [ТС]     C++ не работает программа #5
Никакой ввод не работает :-( ни поточный ни обычный, вообще программа не ожидает ввода, не пойму почему??
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 22:09     C++ не работает программа #6
Возможно проблемы с
C++
1
freopen("test.txt","r",stdin);
может к примеру
C++
1
freopen("test.txt","w",stdin);
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 22:11  [ТС]     C++ не работает программа #7
Исправил, теперь бесконечный ввод символа ch:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include "io.h"
#include <string.h>
#include "iostream"
using namespace std;
 
 
 
int main(){
    FILE *fp;
    fp=fopen("test.txt","w");
    char s[256],ch;
    int c=0;
    cout << "Vvedite simvol" << endl;
    cin.get(ch);
    while (!std::feof(stdin))
    {
        std::cin.getline(s,80);
        if (s[strlen(s)-1]=='ch') c++;
    }
        cout << c;
        return 0;
}
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 22:20     C++ не работает программа #8
Так все таки fopen или freopen ?
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 22:39  [ТС]     C++ не работает программа #9
Тут то и загвоздка, мне нужен параметр stdin, а он имеет место только в freopen, когда freopen я не могу ввести символ, вот и загвоздка такая получается, не знаю что делать (
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 22:43     C++ не работает программа #10
А без этой строки работает?
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 22:47  [ТС]     C++ не работает программа #11
Если написать fopen то он принимает только два значения - имя файла и тип открытия. Но там после ввод символа в бесконечном цикле зависат
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 23:24     C++ не работает программа #12
Ну конструкция
C++
1
2
3
4
5
6
7
8
9
10
11
int _tmain(int argc, _TCHAR* argv[])
{
if (freopen("test.txt", "w", stdout)== NULL)
      fprintf(stderr, "error redirecting stdout\n");
 
    printf("Vvedite simvol\n");
 
system("pause");
fclose(stdout);
return 0;
}
как-то работает - записывает файл "Vvedite simvol",
но ввод с клавиатуры видиму попросту не предусмотрен
Я если честно я теперь не представляю как вообще должна работать?
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 23:40  [ТС]     C++ не работает программа #13
Открываю текстовый файл с данными, ввожу символ с клавиатуры, сравниваю его с последним символом каждой строчки, если совпадает, то счетчик++, в противном случае идем далее.
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,451
Записей в блоге: 17
05.04.2012, 23:46     C++ не работает программа #14
так зачем тогда изощрения с freopen ???
открывай ifstream -мом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2012, 23:52     C++ не работает программа
Еще ссылки по теме:

не работает программа - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int n,l,k; float s,eps,an,x; printf(&quot;Vvedite...

Программа не работает - C++
Почему при запуске данного кода не выполняется цикл for? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; string...

Не работает программа - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { char s; /* буфер...

Не работает программа - C++
Одноклеточная амеба каждые 3 часа. делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, ..., 24 час.? ...

не работает программа - C++
помогите написать програмку на C++,вот задание &quot;Ввести с клавиатуры, и занести в матрицу А n*m чисел, затем найти сумму всех элементов...


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

Или воспользуйтесь поиском по форуму:
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
05.04.2012, 23:52  [ТС]     C++ не работает программа #15
в том то и фишка что поток нельзя использовать :-( да я чесно говоря и не умею..
Yandex
Объявления
05.04.2012, 23:52     C++ не работает программа
Ответ Создать тему
Опции темы

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