Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 21
1

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

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

Author24 — интернет-сервис помощи студентам
В файле 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2016, 20:36
Ответы с готовыми решениями:

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

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

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

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

4
23 / 13 / 47
Регистрация: 23.03.2013
Сообщений: 157
23.06.2016, 02:28 2
все работает, так как и должно, может быть просто файл не там лежит, при открытии файла попробуйте проверить не возвращает ли функция fopen ошибку и проверьте директорию с файлом C:\c\test.txt
0
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
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 897
23.06.2016, 21:34 4
вместо разделителя "" в языке C используется "/".

Добавлено через 4 минуты
а вообще попробуйте сначала положить ваш файл в папку к экзешнику. тогда можно будет вообще без пути обойтись, только имя файла и расширение).
1
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2016, 18:23
Помогаю со студенческими работами здесь

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

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

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

Подсчет количества слов в строке
в последней задаче необходимо подсчитать количество слов в строке, оканчивающейся точкой. Как быть...


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

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