Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 23:00   #1
rdron
 
Регистрация: 06.01.2010
Сообщений: 6
По умолчанию Нужно, чтобы прога работающая на одних библиотеках, заработала при других

Помогите пожалуйста слегка подправить программу. Задача такая:
в текстовом файле - слова в столбик; прога выдает пронумерованный список этих слов, затем я выбираю нужные слова, которые переносятся в другой файл, пока не будет набрано "0". эта программа работает нормально, но мне надо, чтобы она работала при этих библиотеках:
PHP код:

#include "stdio.h"
#include "iostream.h"
#include <string>
#include <fstream>
using namespace std
, т.к. остальная часть кода работает на них (при замене перестает работать). вот прога:
PHP код:

#include "stdio.h"
#include "iostream.h"
#include "string.h"
#include <fstream.h>

int main()
{
    
char line[100];
    
int r=1,y=-1;

    
ofstream out("test2.txt"ios::app);
    
ifstream fin("test1.txt");
    if(!
fin)
    {        
cout << "Fail ne naiden" << endl;return 1;}
    
cout << "0)EXIT\n";

    while (
fin.getline(line100))
    {    
cout << << ") " << line << "\n"r++;}

    
cout << "Vvedite variant\n";
    
cin >> y;
    
r=1;

    while (
y!=0)
    {
    
fin.close ();
    
fin.open ("test1.txt");
    
r=1;
    while (
fin.getline(line100))
    {
        if (
y==r
        {
cout << "prinyato" << "\n"out<<lineout<<"; ";}
        
r++;
    }
    
cin >> y;
    }

    return 
0;

rdron вне форума Ответить с цитированием
Старый 07.01.2010, 00:44   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Ничего не понял из выше написанного, и прога вроде вы говорите работает...и она не работает...объясните четче
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 07.01.2010, 01:03   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

1. Ничего не изменено
2. Библиотеки (инклуды) остались прежними
3. Зачем то убили namspace std верните его на место.

Т.е. в конце концов, разницы - 0
BOBAH13 вне форума Ответить с цитированием
Старый 07.01.2010, 01:07   #4
rdron
 
Регистрация: 06.01.2010
Сообщений: 6
По умолчанию

если написать так:

PHP код:
#include "stdio.h"
#include "iostream.h"
#include <string>
#include <fstream>
using namespace std;  

int main()
{
    
char line[100];
    
int r=1,y=-1;

    
ofstream out("test2.txt"ios::app);
    
ifstream fin("test1.txt");
    if(!
fin)
    {        
cout << "Fail ne naiden" << endl;return 1;}
    
cout << "0)EXIT\n";

    while (
fin.getline(line100))
    {    
cout << << ") " << line << "\n"r++;}

    
cout << "Vvedite variant\n";
    
cin >> y;
    
r=1;

    while (
y!=0)
    {
    
fin.close ();
    
fin.open ("test1.txt");
    
r=1;
    while (
fin.getline(line100))
    {
        if (
y==r
        {
cout << "prinyato" << "\n"out<<lineout<<"; ";}
        
r++;
    }
    
cin >> y;
    }

    return 
0;

то перестает работать вот этот фрагмент

PHP код:
   while (fin.getline(line100))
    {
        if (
y==r
        {
cout << "prinyato" << "\n"out<<lineout<<"; ";}
        
r++;
    } 
и во второй файл (test2.txt) ничего не записывается.

Последний раз редактировалось rdron; 07.01.2010 в 01:14.
rdron вне форума Ответить с цитированием
Старый 07.01.2010, 19:07   #5
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

Код:
#include "iostream.h"
нет такого в с++
есть <iostream>

и ему(как и другим в твоем коде) нужен using namespace std; или его аналоги
m0nax вне форума Ответить с цитированием
Старый 07.01.2010, 21:14   #6
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Сообщение от m0nax Посмотреть сообщение
Код:
#include "iostream.h"
нет такого в с++
есть <iostream>

и ему(как и другим в твоем коде) нужен using namespace std; или его аналоги
Вообще-то есть, это мелкомягкий компилятор "с претензией".
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 07.01.2010, 23:06   #7
rdron
 
Регистрация: 06.01.2010
Сообщений: 6
По умолчанию

Ладно, спс за помощь.
Сделал все по-другому. Вроде работает )))
rdron вне форума Ответить с цитированием
Старый 08.01.2010, 00:01   #8
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Если объявляете использование пространства имен std, то все объекты из этого пространства должны быть явно указаны.
Например ваша программа станет выглядеть примерно так
Код:
#include "stdio.h"
#include <iostream> //#include <iostream.h> если у вас консольный компилятор BC++
#include <string>
#include <fstream>

using namespace std;  

int main()
{
	char line[100];
	int r=1,y=-1;

	std::ofstream out("test2.txt", ios::app);
	std::ifstream fin("test1.txt");
	if(!fin)
	{        
		std::cout << "Fail ne naiden" << endl;return 1;
	}
	std::cout << "0)EXIT\n";
	while (fin.getline(line, 100))
	{    
		std::cout << r << ") " << line << "\n"; r++;
	}
	std::cout << "Vvedite variant\n";
	std::cin >> y;
	r=1;

	while (y!=0)
	{
		fin.close ();
		fin.open ("test1.txt");
		r=1;
		while (fin.getline(line, 100))
		{
			if (y==r) 
			{
				std::cout << "prinyato" << "\n"; 
				out<<line; 
				out<<"; ";
			}
			r++;
		}
		std::cin >> y;
	}
	return 0;
}
MaTBeu вне форума Ответить с цитированием
Старый 08.01.2010, 01:24   #9
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
Вообще-то есть, это мелкомягкий компилятор "с претензией".
Ну, на самом деле это борланд слишком "мягок" )) В стандарте C++ стандартные библиотеки пишутся без .h

Цитата:
Сообщение от MaTBeu
Если объявляете использование пространства имен std, то все объекты из этого пространства должны быть явно указаны.
Например ваша программа станет выглядеть примерно так
Напротив, using namespace std избавляет от необходимости явно указывать пространство имён для поиска ф-ции)

И, если я верно понял, то ТС жалуется, не на то что программа не компилируется, а что работает не так как ожидалось.. Хотя, раз проблема решена..
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При выборе значения из списка нужно чтобы создавались строки kmf Microsoft Office Excel 6 29.05.2009 11:41
Как сделать чтобы двумерный массив который создается в функции можно было использовать в других функциях Olya90 Помощь студентам 4 20.04.2009 18:39
Нужна готовая, работающая прога на С++ Ghaal Фриланс 2 05.11.2008 23:29
что нужно сделать, чтобы при нажатии кнопки запускалась процедура mager Общие вопросы Delphi 15 19.11.2006 15:02