
23.12.2005, 13:28
|
|
Новичок
Регистрация: 09.12.2005
Сообщений: 13
Провел на форуме: 9758
Репутация:
2
|
|
Вобщем вот мой вариант :-)... я потоки в сишниках не люблю... потому сделал немного по другому, только единственная проблема... у меня тут нет ни сишника, ни хелпа, вобщем нихера нет :-) так что за работоспособность не отвечаю :-) точнее я только сомневаюсь в условиях где я проверял на ansii-код сиволы... посмотри, если не будет работать :-). Там надо сравнить какой код у считываемого символа. Если он входит в диапозон где хранятся цифры, то мы выполняем действи... а если нет, то пропускаем...
Вобщем если будут вопросы пиши :-) будем дальше программить без компилятора :-D
#include <stdio.h>
#include <conio.h>
void main(void){
FILE *f;
char fileName[20]; // адрес к файлу
printf("Введите имя файла -->");
scanf("%s", fileName); // считываем пусть к нему
f = fopen(name, "r"); // берем хандл на файл
char number;
int left = 0;
int right = 0;
int comma = -1;
int floatIsHere = 0;
while(!feof){ // цикл пока не конец файла
fscanf(f, "%c", number);
if(number == 32){ //32 это ansii-код пробела
if(left == right)floatIsHere++; //если лева и правая часть равна, то прибавляем
left = 0; // обнуляем сумму цифр левее запятой
right = 0; // обнуляем сумму цифр правее запятой
comma = -1; // готовимся к обработки следующего числа, т.е. к обработке цифры левее запятой
continue;
} // end if
if(number == ','){
comma = 1; // готовимся к обработке цифр правее запятой
continue; // пропускаем все оставшиеся действие цикла и становимся на следующий шаг
} // end if
if((number => 49) && (number =< 59) && (comma == -1))//я точно не помню ansii-кода символом 1-0 посмотри их
left += atoi(number);
if((number => 49) && (number =< 59) && (comma == 1))
right += atoi(number);
} // ned while
if(floatIsHere >= 1)printf("В файле есть бла-бла-бла и их количесво %d", floatIsHere);
getch();
} // programm end
Последний раз редактировалось Mymik; 23.12.2005 в 13:33..
|
|
|