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

трактовка Enter как "\n" - C++

Восстановить пароль Регистрация
 
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 17:46     трактовка Enter как "\n" #1
Вообщем ситуация такая: после построения приложения в Visual Studio, компилятор после каждого моего нажатия по ентеру посылает меня на след. строку, вместо того чтобы выполнить непосредственно мною написанное. Проверял на множестве простых, но рабочих кодах, среднее арифметическое и тд.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
18.03.2013, 18:12     трактовка Enter как "\n" #2
не увидел никакого вопроса.
вы об этом?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdlib>
 
int main ()
{
    char ch;
    ch = getchar();
 
    if (ch == '\n') {
        for (int i = 0; i < 5; i++)
            std::cout << i << " ";
    }
 
    return 0;
}
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 18:17  [ТС]     трактовка Enter как "\n" #3
допустим
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#define N 30
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a[N], x, y, i, s;
    x=0; y=0;
    for (i=0; i<N; i++)
        cin>>a[i];
    if (a[i]%2 == 0) {
        x++;
        y+= a[i]; }
    s=y/x;
    cout<<s;
}
через принтф тоже самое, а именно: ввел свое значение -> enter -> он перекидывает меня на новую строку...
сейчас потестил на более примитивном: ввел 2 переменные, 1 с руки, 2 по формуле с использованием первой, все работало...значит дело в циклах...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 18:20     трактовка Enter как "\n" #4
Если честно, то вообще не понятно что Вы хотите узнать...
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 18:24  [ТС]     трактовка Enter как "\n" #5
ввод своего значения -> enter -> должно выводиться среднее арифметическое, учитывая формулы в коде.
А происходит следущее: ввод своего значения -> перекидывает на след строку -> ввод своего значения и тд...
горизонтальная восьмерочка происходит, цикл, бесконечность
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 18:28     трактовка Enter как "\n" #6
Всё равно ничего не понятно.
предположу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    int a[N], x, y, i, s;
    x=0; y=0;
    for (i=0; i<N; i++){
        cin>>a[i];
        if (a[i]%2 == 0) {
            x++;
            y+= a[i]; }
        s=y/x;
        cout<<s<<"\n";
     }
}
Ev[G]eN
18.03.2013, 18:28
  #7

Не по теме:

я чувствую себя дном...

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 18:30     трактовка Enter как "\n" #8
Цитата Сообщение от noddoh Посмотреть сообщение
ввод своего значения -> enter -> должно выводиться среднее арифметическое
C++
1
2
    for (i=0; i<N; i++)
        cin>>a[i];
Где???
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 18:36  [ТС]     трактовка Enter как "\n" #9
программа не работает как нужно, это просто цикл, я немогу получить конечный результат...
Допустим: 1 2 3 4 5 -> ср. аф. = 1+2+3+4+5 / 5 = 3, ВЫВОДИТЬСЯ ПОСЛЕ НАЖАТИЯ ЕНТЕРА ДОЛЖНО 3, но происходит \n "снова ввожу любые значение, но уже на новой строке"
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
18.03.2013, 18:38     трактовка Enter как "\n" #10
ну так вводи их в строку...
введи все, а потом нажми Enter
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 18:45     трактовка Enter как "\n" #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#define N 30
using namespace std;
 
int main(){
    int a[N], x, y, i;
    x=0; y=0;
    for (i=0; i<N; i++){
        cin>>a[i];
        if (a[i] % 2 == 0){
            x++;
            y+= a[i];
        }
    }
    cout<<(x!=0?(double)y/x:0.0)<<"\n";
}
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 18:56  [ТС]     трактовка Enter как "\n" #12
*facepalm*...
После ввода значения с клавиатуры, компилятор, пропустив его по коду, должен вывести число.
После ввода значения с клавиатуры, компилятор не выводит число, я заново ввожу эти значения.
Все равно что зайти в любой текстовый редактор и вводить числа с последующим нажатием на ентер - столбик ничего не значащих чисел.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 19:00     трактовка Enter как "\n" #13
Цитата Сообщение от noddoh Посмотреть сообщение
Все равно что зайти в любой текстовый редактор и вводить числа с последующим нажатием на ентер - столбик ничего не значащих чисел.
А может просто стоит попробовать на меньшем количестве чисел, а не на тридцати, не?
C++
1
#define N 5

Не по теме:

Судя по этому:

Цитата Сообщение от noddoh Посмотреть сообщение
компилятор, пропустив его по коду, должен вывести число.
Цитата Сообщение от noddoh Посмотреть сообщение
компилятор не выводит число
Вам не помешает заглянуть сюда:
Литература C++
Раздел Hello World

noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 19:01  [ТС]     трактовка Enter как "\n" #14
например:
Миниатюры
трактовка Enter как "\n"  
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 19:05     трактовка Enter как "\n" #15
Цитата Сообщение от noddoh Посмотреть сообщение
например:
И? Всё правильно работает:
Название: Безымянный.jpg
Просмотров: 15

Размер: 14.5 Кб
Поставили вводиться 30 чисел, сами ввели 14 и не вытерпели...
noddoh
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 19:06  [ТС]     трактовка Enter как "\n" #16
дефайн определяет кол-во вводимых чисел, а не просто задает константу, ясно, спасибо.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
18.03.2013, 19:11     трактовка Enter как "\n" #17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main ()
{
    const int arraySize = 5;
    int array[arraySize];
 
    int evenCount = 0, evenSum = 0;
    std::cout << "Input the array: " << std::endl;
    for (int i = 0; i < arraySize; i++) {
        std::cin >> array[i];
        if (!(array[i] % 2)) {
            evenSum += array[i];
            evenCount++;
        }
    }
    std::cout << "Average of even elements: " << (evenSum / evenCount) << std::endl;
 
    return 0;
}
Миниатюры
трактовка Enter как "\n"  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 19:12     трактовка Enter как "\n"
Еще ссылки по теме:

Выполнять "пока" не нажат Enter C++
C++ Ошибка с массивом: программа при вводе "ступорится" при нажатии клавиши Enter
Решить пример, в котором цифры заменены буквами: "enter + enter = абзац" C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.03.2013, 19:12     трактовка Enter как "\n" #18
Цитата Сообщение от noddoh Посмотреть сообщение
а не просто задает константу
Препроцессор заменит везде N на 30
и получится:
C++
1
2
3
for (i=0; i<30; i++){
//...
}
Yandex
Объявления
18.03.2013, 19:12     трактовка Enter как "\n"
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru