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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 03:31   #1
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
Смех Работа с файлами.

В первом файле записаны строчке, содержащие по два целых числа каждая. Количество строк неограниченно. Требуется прочитать из первого файла эти числа, и если в строке хоть одно меньше нуля, то записать сумму двух чисел в строке во второй файл. Суммы должны отделяться запятой, после последнего точка с запятой.

я понимаю почему код работает неправильно но пока не знаю чем его дополнить(именно этот код), чтобы правильно работало) кто нибудь может подсказатЬ?

Код:
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#pragma warning (disable : 4996)

int _tmain(int argc, _TCHAR* argv[])
{
FILE *input;
FILE *output;
char bf[2][20];

if((input=fopen("labar.txt","r"))==NULL||(output=fopen("new_labar.txt","w"))==NULL){
	printf("Error");
		exit(1);
}

while(fscanf(input, "%s%s", bf[0],bf[1])!=EOF){
	if(atoi(bf[0])<0||atoi(bf[1])<0){
	printf("%i\n", atoi(bf[0])+atoi(bf[1]));
	fprintf(output,"%i",atoi(bf[0])+atoi(bf[1]));
	if(fgetc(input)=='\n')
		fprintf(output,",");
	}
	}
fprintf(output, ";");
fclose(input);
fclose(output);

getchar();
return 0;
}
Если кто может помочь пожалуйста)
Sorento2 вне форума Ответить с цитированием
Старый 10.03.2013, 11:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я понимаю почему код работает неправильно
Ну и почему?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 12:08   #3
Sorento2
Пользователь
 
Регистрация: 13.11.2012
Сообщений: 41
По умолчанию

1235 456
-598 5984
-598 2215
0 6543
Если в первом файле будет вот такое, то он прочитывает последнюю строчку и ставит запятую, а потом точку запятую. Это получается из-за того, что стоит условие: запятая ставится, если считывается символ новой строки. но я не могу придумать какое условие выставить для правильной работы...
Sorento2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами егорыч Паскаль, Turbo Pascal, PascalABC.NET 15 09.06.2011 02:11
работа с файлами на C# Dimarik C# (си шарп) 7 30.11.2010 22:25
работа с файлами в Си серг Помощь студентам 2 04.02.2010 09:07
работа с файлами mental Общие вопросы Delphi 3 27.01.2010 04:28
Работа с файлами Technolog Microsoft Office Excel 1 27.03.2009 10:50