0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
1

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

31.05.2012, 12:19. Показов 4649. Ответов 65
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2012, 12:19
Ответы с готовыми решениями:

Программа считывает только первую строку файла,как сделать чтобы она считывала все строки
#include &lt;fstream&gt; #include &lt;iostream&gt; using namespace std; int main(int argc, char* argv) {...

Программа считывает строку текста, выводит число слов и количество вхождений каждой буквы
Напишите программу, считывающую строку текста и выводящую число слов в этой строке, а также...

Списки. Не выводит первую вводимую строку
Здравствуйте, проблема с списками, после ввода элементов в список, не выводит первый добавленный....

Дана строка. Создать новую строку, все буквы которой входят в первую строку только один раз
Дана строка. Создать новую строку, все буквы которого входят в первую строку только один раз....

65
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:05  [ТС] 21
Author24 — интернет-сервис помощи студентам
http://rghost.ru/38390912/image.png
Миниатюры
Программа выводит только первую строку текста  
0
Заблокирован
Автор FAQ
31.05.2012, 13:08 22
Цитата Сообщение от Toshkarik Посмотреть сообщение
Это не компилятор. Компилятор там используется GCC.
- дорогой в кодблоксе можно выставить тип компилятора, по крайней мере моя 10-ая дефалтная версия (а как я понял там именно GCC стоит) STD не содержит cstdlib т.к. даже using namespace std не подключает system, а вот переставив тип компилятора мы получаем заветный system без дополнительного подключения cstdlib.
0
Заблокирован
Автор FAQ
31.05.2012, 13:11 23
Sezz, я блин просил не твой проект, а мой открыть, чтобы проверить работоспособность твоего компилятора вот это sezz_project.rar (7.6 Кб, 0 просмотров) разархивируй в отдельную папку, дай скрин, я отмечу и посмотрим рабочая у тебя 9-ка или нет
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
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 а не стандарт.
0
Заблокирован
Автор 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 в печь!
0
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:18  [ТС] 26
http://rghost.ru/38391186/image.png
Миниатюры
Программа выводит только первую строку текста  
0
Заблокирован
Автор FAQ
31.05.2012, 13:22 27
Sezz, вот открой проект через отмеченный файл (так ты сохранишь настройки проекта)
Миниатюры
Программа выводит только первую строку текста  
0
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 26
31.05.2012, 13:27  [ТС] 28
Выдает.
http://rghost.ru/38391345/image.png
0
Заблокирован
Автор FAQ
31.05.2012, 13:35 29
Sezz, жми ДА (преобразовать)
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
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>
0
Заблокирован
31.05.2012, 13:48 31
-=ЮрА=-, Toshkarik, попусту холиварите.
C++
1
#include "stdafx.h"
насколько я помню, то тут еще тот салат хедеров.
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
31.05.2012, 13:51 32
alkagolik, да тут дело не в "салате", а в том, что все компиляторы реализованы по разному. А вот в стандарте ясно сказано где лежит прототип какой либо функции.
0
Заблокирован
31.05.2012, 13:56 33
тем не менее код из 1 поста безошибочный и почему он не работает не ясно. Могу порекомендовать поставить тот же кодблокс и опробовать код на нем. Разумеется без stdafx.h.
0
Higher
1953 / 1219 / 120
Регистрация: 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 строки одновременно
0
Заблокирован
Автор 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;
- вот это означает ввод.
0
Заблокирован
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;
}
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
31.05.2012, 14:32 37
Да что Вы несете за бред то, using namespace совершенно для других вещей предназначен. Какое полное включение всех функций из std? Вы пробовали вообще без включений каких либо заголовков написать using namespace std;? Пробовали без включения заголовка vector создать объект данного класса? Пространство имен std ничем не отличается от остальных других. И каждый заголовок ВНОСИТ в него свои классы, объекты и функции только при включении этого заголовка. А запись using namespace std; лишь делает их глобальными, позволяя опускать std:: перед каждым обращением. Но если они не были добавлены туда, то есть не было включения заголовка, то и обратиться к ним нельзя.

Добавлено через 58 секунд
alkagolik, ну я был до сих пор уверен, что это он и имел ввиду, потому что так он и доказывал это.
0
Заблокирован
Автор FAQ
31.05.2012, 14:32 38
alkagolik, без iostream никуда он нужен там ведь
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
_STD_BEGIN
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
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;
}
0
Заблокирован
31.05.2012, 14:40 40
-=ЮрА=-, очевидно скорее всего ты ошибаешься. Видимо просто мс компиль так реализован чего не скажешь про Clang, GCC, Intell C++
0
31.05.2012, 14:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2012, 14:40
Помогаю со студенческими работами здесь

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

Функция fopen() для большого текстового файла читает только первую строку
Есть текстовой файл 4.5 мб, нужно его открыть для чтения из него строк. FILE *f =...

Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
Задача направленная на усвоение следующих понятий: прототип функции; заголовок функции; тело...

Программа выводит только одно значение
Здравствуйте. Есть код #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; using...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru