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

Программа выводит только первую строку текста - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
Sezz
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 12:19     Программа выводит только первую строку текста #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// yourcat.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(void)
{
    int fleas;
    cout<<"how many fleas does yourcat have\n";
    cin>>fleas;
    cout<<"well,that's"<<fleas<<"fleas doo many!\n";
    cin.get();
    return 0;
}
Вот код программы должно выдасть
how many fleas does yourcat have
112
well,that's 112 fleas doo many!
А выдает только первую строку
how many fleas does yourcat have
IDE
Visual Studio 2008 express.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 12:19     Программа выводит только первую строку текста
Посмотрите здесь:

C++ Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
C++ Функция fopen() для большого текстового файла читает только первую строку
C++ Списки. Не выводит первую вводимую строку
C++ Программа считывает строку текста, выводит число слов и количество вхождений каждой буквы
C++ Программа выводит только одно значение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sezz
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:05  [ТС]     Программа выводит только первую строку текста #21
http://rghost.ru/38390912/image.png
Миниатюры
Программа выводит только первую строку текста  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 13:08     Программа выводит только первую строку текста #22
Цитата Сообщение от Toshkarik Посмотреть сообщение
Это не компилятор. Компилятор там используется GCC.
- дорогой в кодблоксе можно выставить тип компилятора, по крайней мере моя 10-ая дефалтная версия (а как я понял там именно GCC стоит) STD не содержит cstdlib т.к. даже using namespace std не подключает system, а вот переставив тип компилятора мы получаем заветный system без дополнительного подключения cstdlib.
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 13:11     Программа выводит только первую строку текста #23
Sezz, я блин просил не твой проект, а мой открыть, чтобы проверить работоспособность твоего компилятора вот это sezz_project.rar (7.6 Кб, 0 просмотров) разархивируй в отдельную папку, дай скрин, я отмечу и посмотрим рабочая у тебя 9-ка или нет
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
31.05.2012, 13:11     Программа выводит только первую строку текста #24
Ничего нет в приведенных ссылках о том, что при
C++
1
using namespace std;
Можно использовать все функции из std не подключая заголовков. И даже напротив, там есть часть текста:
If you write this declaration immediately after all include directives, you hoist the names into the global namespace.
Обратите внимание на фразу after all include directives. Да и вообще, на MSDN описана VS а не стандарт.
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 13:15     Программа выводит только первую строку текста #25
Toshkarik, ты вообще сам суть фразы этой понимаешь?
Цитата Сообщение от Toshkarik Посмотреть сообщение
If you write this declaration immediately after all include directives, you hoist the names into the global namespace.
Тебе чёрным по белому написали
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Alternatively, you can write the declaration:
using namespace std;
which brings all library names into the current namespace.
If you write this declaration immediately after all include directives, you hoist the names into the global namespace.
ты как маленький мальчик, блин. Там говориться что если написал using namespace std; сразу после хедеров то для всего твоего кода СТД стало глобальным, а не о том что надо написать иострим потом стдлиб. Сначала научись понимать английский текст а потом уже пиши


Цитата Сообщение от Toshkarik Посмотреть сообщение
Да и вообще, на MSDN описана VS а не стандарт.
- А речь сейчас идёт
Цитата Сообщение от Sezz Посмотреть сообщение
Visual Studio 2008 express.
, поэтому выбрось свой GCC в печь!
Sezz
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:18  [ТС]     Программа выводит только первую строку текста #26
http://rghost.ru/38391186/image.png
Миниатюры
Программа выводит только первую строку текста  
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 13:22     Программа выводит только первую строку текста #27
Sezz, вот открой проект через отмеченный файл (так ты сохранишь настройки проекта)
Миниатюры
Программа выводит только первую строку текста  
Sezz
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:27  [ТС]     Программа выводит только первую строку текста #28
Выдает.
http://rghost.ru/38391345/image.png
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 13:35     Программа выводит только первую строку текста #29
Sezz, жми ДА (преобразовать)
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
31.05.2012, 13:44     Программа выводит только первую строку текста #30
-=ЮрА=-, Вы вообще понимаете почему функции из cstdlib доступны при подключении iostream? Да только потому что реализовал так MS свой компилятор, где то в заголовках используется cstdlib. И using namespace std; тут не при чем, можно просто написать std::system(); при подключенном iostream, Вы если честно просто бред написали выше. И выкинул в печь я как раз непутевый VS.

ADD: Да, именно так, поставил специально экспресс версию, прошелся по цепочке заголовка iostream.
В iostream:
C++
1
#include <istream>
далее в нем:
C++
1
#include <ostream>
далее в нем:
C++
1
#include <ios>
далее в нем:
C++
1
#include <xlocnum>
ну вот и нашли в xlocnum:
C++
1
2
3
4
5
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <streambuf>
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
31.05.2012, 13:48     Программа выводит только первую строку текста #31
-=ЮрА=-, Toshkarik, попусту холиварите.
C++
1
#include "stdafx.h"
насколько я помню, то тут еще тот салат хедеров.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
31.05.2012, 13:51     Программа выводит только первую строку текста #32
alkagolik, да тут дело не в "салате", а в том, что все компиляторы реализованы по разному. А вот в стандарте ясно сказано где лежит прототип какой либо функции.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
31.05.2012, 13:56     Программа выводит только первую строку текста #33
тем не менее код из 1 поста безошибочный и почему он не работает не ясно. Могу порекомендовать поставить тот же кодблокс и опробовать код на нем. Разумеется без stdafx.h.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
31.05.2012, 14:10     Программа выводит только первую строку текста #34
Цитата Сообщение от Sezz Посмотреть сообщение
Вот код программы должно выдасть
how many fleas does yourcat have
112
well,that's 112 fleas doo many!
А выдает только первую строку
how many fleas does yourcat have
Есть у меня сильное подозрение, что выводиться должна первая строчка, вторую строчку нужно ввести, и тогда появится третья строчка.
Но никак не 3 строки одновременно
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 14:26     Программа выводит только первую строку текста #35
Цитата Сообщение от Toshkarik Посмотреть сообщение
Да только потому что реализовал так MS свой компилятор, где то в заголовках используется cstdlib.
- ты читаешь что я пишу!using namespace std; вот что делает пространство глобальным!И благодаря этой "закарлючке" компилятор сам без всяких объявлений заголовков подключает всё что имеет отношение к СТД
Alternatively, you can write the declaration:
using namespace std;
which brings all library names into the current namespace.
Чё ты блин полез в isotream ума не приложу?Ты блин привык если нету хедера значит он не подключен ну вот смотри
начало iostream
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// iostream standard header
 
#if     _MSC_VER > 1000
#pragma once
#endif
 
#ifndef _IOSTREAM_
#define _IOSTREAM_
#include <istream>
 
#ifdef  _MSC_VER
#pragma pack(push,8)
#endif  /* _MSC_VER */
[COLOR="Red"]_STD_BEGIN[/COLOR]
        // OBJECTS

C++
1
2
3
4
5
6
7
8
9
10
// cstdlib standard header
 
#if     _MSC_VER > 1000
#pragma once
#endif
 
#ifndef _CSTDLIB_
#define _CSTDLIB_
#ifdef [COLOR="red"]_STD_USING[/COLOR]
 #undef _STD_USING
Надеюсь видно что красным выделено. Почему в твою голову не может даже прийти мыысль что компилятор будет считать включёнными все файлы с вот этим дефайном _STD_USING .Мы поставили закарлючку using namespace std; и этим сказали компилятору - "Мне влом подключать что там надо я хочу всё из СТД, потруйдись найди". А вот он уже и находит и подключает и выбирает нужный прототип функции - всё без твоего участия.

Добавлено через 3 минуты
Ещё раз
Sezz, обращаюсь к тебе, скомпилируй пожалуйста мой проект - он 100% работает (экзешник как подтверждение). Поэтому если слинкованый код не будет работать как надо то дело не в коде а в твоём компиляторе

Добавлено через 4 минуты
Цитата Сообщение от diagon Посмотреть сообщение
Есть у меня сильное подозрение, что выводиться должна первая строчка, вторую строчку нужно ввести, и тогда появится третья строчка.
Но никак не 3 строки одновременно
- Ну это так и должно быть - точно скорее всего наш ТС именно ничего не вводит, а мы тут все голову ломаем

Sezz, ты производишь ввод тех цифирей, которые потом увидеть вконце вводишь???
Вывод 1-й строки означает что программа ждёт когда ты осуществишь ввод (наберёшь цифры и нажмёшь Энтер)
Цитата Сообщение от Sezz Посмотреть сообщение
cin>>fleas;
- вот это означает ввод.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
31.05.2012, 14:30     Программа выводит только первую строку текста #36
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
и этим сказали компилятору - "Мне влом подключать что там надо я хочу всё из СТД, потруйдись найди". А вот он уже и находит и подключает и выбирает нужный прототип функции - всё без твоего участия.
я правильно понимаю что такой код должен работать? или я тебя неправильно понял?
C++
1
2
3
4
5
6
7
8
9
10
//никаких инклудов
using namespace std;
 
int main(){
 
    string str;
    cin >> str;
    cout << str << endl;
    return 0;
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
31.05.2012, 14:32     Программа выводит только первую строку текста #37
Да что Вы несете за бред то, using namespace совершенно для других вещей предназначен. Какое полное включение всех функций из std? Вы пробовали вообще без включений каких либо заголовков написать using namespace std;? Пробовали без включения заголовка vector создать объект данного класса? Пространство имен std ничем не отличается от остальных других. И каждый заголовок ВНОСИТ в него свои классы, объекты и функции только при включении этого заголовка. А запись using namespace std; лишь делает их глобальными, позволяя опускать std:: перед каждым обращением. Но если они не были добавлены туда, то есть не было включения заголовка, то и обратиться к ним нельзя.

Добавлено через 58 секунд
alkagolik, ну я был до сих пор уверен, что это он и имел ввиду, потому что так он и доказывал это.
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 14:32     Программа выводит только первую строку текста #38
alkagolik, без iostream никуда он нужен там ведь
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
_STD_BEGIN
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
31.05.2012, 14:36     Программа выводит только первую строку текста #39
Пробуйте:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main() {
    vector< int > b;
 
    return 0;
}
Добавлено через 1 минуту
Или даже вот так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main() {
    cout << setw( 5 ) << 200;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2012, 14:40     Программа выводит только первую строку текста
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
31.05.2012, 14:40     Программа выводит только первую строку текста #40
-=ЮрА=-, очевидно скорее всего ты ошибаешься. Видимо просто мс компиль так реализован чего не скажешь про Clang, GCC, Intell C++
Yandex
Объявления
31.05.2012, 14:40     Программа выводит только первую строку текста
Ответ Создать тему
Опции темы

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