Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
zaira001002
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 21
1

Подсчет количества чисел в файле

22.06.2016, 20:36. Просмотров 396. Ответов 4
Метки нет (Все метки)

В файле test.txt написано: 0 -1 7 8. Консоль выводит результат: count positive = 0 count negative = 0. Насколько поняла, читает до условия , где идет проверка на содержание файла, затем процедура process завершается с результатом -1, потому и начальные значения количества сохраняются , т.е 0. Что не так?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
 
int process(FILE* file, int* kol_pol, int* kol_otr)
{
    if (file == NULL) return -1;
    int a;
    while (fscanf(file, "%d", &a) != EOF)
    {
        (a >= 0) ? (*kol_pol)++ : (*kol_otr)++;
    }
    return 0;
}
 
int main(void)
{
    int kol_pol = 0;
    int kol_otr = 0;
 
    FILE *fin;
 
        // ввод из файла
    fin = fopen("C:\c\test.txt", "r");
 
    process(fin, &kol_pol, &kol_otr);
    printf("%s %d %s", "count positive = ", kol_pol, "\n");
    printf("%s %d", "count negative = ", kol_otr);
    getchar();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2016, 20:36
Ответы с готовыми решениями:

Подсчет количества слов в файле
Доброго времени суток. Подскажите, пожалуйста, в чем может быть проблема. ...

Подсчет количества смены знака в последовательности чисел
Почему при наличии в файле чисел : 0 2 -4, выдает результат: count = 0 . То...

Подсчет количества чисел Фибоначчи в заданной числовой последовательности.
Дано 100 чисел от 1 до 50. Определить, сколько среди них чисел Фибоначчи и...

Функция: подсчет количества сравнений чисел, выполняемых при операциях сортировки/поиска
Подсчет количества сравнений чисел, выполняемых при операциях сортировки,...

Определение количества отрицательных чисел в файле
Дан текстовый файл. В нём записано N кол-во чисел. Вычислить кол-во...

4
Mycola
23 / 13 / 47
Регистрация: 23.03.2013
Сообщений: 157
23.06.2016, 02:28 2
все работает, так как и должно, может быть просто файл не там лежит, при открытии файла попробуйте проверить не возвращает ли функция fopen ошибку и проверьте директорию с файлом C:\c\test.txt
0
zaira001002
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 21
23.06.2016, 07:50  [ТС] 3
Как проверить , не возвращает ли fopen ошибку? А так, что касается файла, он там, где и должен быть... До этого я работала с другой программой ( освежала память работы с файлами) , печатая в этом файле : "Hello world"... Сейчас там эти числа... Просто я давно не писала программы, а тут сразу еще с файлами... Я не полностью освоилась в этом. Пока писала , подумала о том, что вы имеете в виду, добавить строчку
Код
if (fin == NULL) return -1;
сразу после , где и открываем файл ? Или что-то вроде того :
Код
if (fin == NULL) printf("Error");
, в этом случае так и есть... Печатает "Error"... Почему оно решило, что файл пустой? Или реально, он ссылается на другой файл? Хорошо, я создала другую папку "d", в том же диске, с тем же файлом, опять выводит результат 0 0
0
minore
251 / 125 / 43
Регистрация: 05.02.2015
Сообщений: 745
23.06.2016, 21:34 4
вместо разделителя "" в языке C используется "/".

Добавлено через 4 минуты
а вообще попробуйте сначала положить ваш файл в папку к экзешнику. тогда можно будет вообще без пути обойтись, только имя файла и расширение).
1
Xmakc
1 / 1 / 0
Регистрация: 23.12.2013
Сообщений: 24
24.06.2016, 18:23 5
Попробуй вот так
C
1
fin = fopen("C:\\c\\test.txt", "r");
Двойной бекслеш.
1
24.06.2016, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2016, 18:23

Подсчёт количества символов и количества строк в файле
Нужно написать программу, которая запрашивает у пользователя имя (адрес)...

Подсчет количества букв
Составить программу для подсчета количества латинских букв (больших и маленьких)

Подсчет количества введённых символов
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define EOF -1 int main() { ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru