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

Основной файл не видит функции из некоторых подключенных к нему файлов

28.06.2018, 18:36. Просмотров 286. Ответов 1
Метки нет (Все метки)

Добрый день.
Проблема: разбил программу на файлы, но головной файл не видит функций из некоторых, подключенных к нему, файлов.
Не видно функций из файлов file_fincs.h и menu.h. Прошу помощи.


main.c
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include "funcs.h"
#include "menu.h"
#include "file_funcs.h"
int main()
{
    system("mode 80,30");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char name_of_file[30];
    zastavka();
    puts("Введите название уже существующей базы или создайте новую");
    gets(name_of_file);
    FILE *fopen_new_file = fopen(name_of_file, "ab");
    fclose(fopen_new_file);
 
    MASS_size = file_to_mass(name_of_file);
    MENU ();
 
    mass_to_file(name_of_file);
 
    return 0;
}

menu.h
C
1
2
3
4
5
6
#ifndef MENU_H_INCLUDED
#define MENU_H_INCLUDED
 
void MENU ();
 
#endif // MENU_H_INCLUDED

menu.c
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//МЕНЮ
#include "menu.h"
void MENU ()
{
    char *p[] = {{"\t\t-->Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t-->Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t-->Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t-->Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t-->Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t-->Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t-->Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t-->Cортировка по дисциплине "Кегли"\n\t\t   Cортировка по дисциплине "Биатлон""},
                 {"\t\t   Вывод информации о командах - участниках\n\t\t   Регистрация команды\n\t\t   Дисквалификация команды\n\t\t   Корректировка информации о команде\n\t\t   Распределение команд по турнирной таблице\n\t\t   Поиск информации о команде по названию\n\t\t   Cортировка по дисциплине "Линия"\n\t\t   Cортировка по дисциплине "Кегли"\n\t\t-->Cортировка по дисциплине "Биатлон""},
    };
    int m = 0;
    unsigned char menu;
    do
    {
        system("CLS");
        puts("\n\n\t\t\tОКЗ турнира по робототехнике");
        puts("\n\n\t\t\t\t МЕНЮ\n");
        puts(p[m]);
        puts("\n\t PAGE UP - Вверх  PAGE DOWN - Вниз  ENTER - Выбор  ESC - Выход\n");
        menu=getch();
        if (menu==224) //Проверка нажатия функциональной клавиши
        {
            menu=getch();
            if (menu == 80){
                if (m < 8)
                    m++;
                else
                    m = 0;
            }
            else if (menu == 72){
                if (m > 0)
                    m--;
                else
                    m = 8;
            }
        }
        else{
            if (menu == 13){
                switch(m)
                {
                case 0: output_OKZ();   break;
                case 1: add_team(); break;
                case 2: del_team(); break;
                case 3: correct_team(); break;
                case 4: sort_result();  break;
                case 5: search_team_name(); break;
                case 6: sort_line();  break;
                case 7: sort_kegli();  break;
                case 8: sort_biatlon();  break;
                };
            }
        }
    }while (menu!=27);
    system("CLS");
}


file_funcs.c
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
30
#include "file_funcs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int file_to_mass(char *name_file) //Заполняет массив структур из файла и возвращает кол-во структур, записанное в массив
{
    team out_file;
    int i = 0;
    FILE* fout = fopen(name_file, "rb");
    if (!fout){puts("ERROR FILE"); exit(0);}
    while(fread(&out_file, sizeof(team), 1, fout) == 1){
        massiv = (team *)realloc(massiv, (i+1)*sizeof(team));
        massiv[i] = out_file;
        i++;
    }
 
    return i;
}
 
int mass_to_file(char *name_file) //Заполняет файл из массива структур и возвращает кол-во структур, записанное в массив
{
    int i;
    FILE *fin = fopen(name_file, "wb");
    if (!fin){puts("ERROR FILE"); exit(0);}
    for (i = 0; i < MASS_size; i++){
        fwrite(&massiv[i], sizeof(team), 1, fin);
    }
    free (massiv);
    return i;
}


file_funcs.h
C
1
2
3
4
5
6
7
#ifndef FILE_FUNCS_H_INCLUDED
#define FILE_FUNCS_H_INCLUDED
 
int file_to_mass(char *name_file);
int mass_to_file(char *name_file);
 
#endif // FILE_FUNCS_H_INCLUDED
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2018, 18:36
Ответы с готовыми решениями:

VBA - Excel не видит функции подключенных библиотек.
Суть проблемы: VBA - Excel не видит функции подключенных библиотек. Т.е.,...

Основной файл не видит содержимое подключаемого модуля
Всем привет! Нуждаюсь в помощи. Вопрос в заглавии темы. Второй день бьюсь. В...

Вывести информацию на форму о памяти, о устройствах подключенных к нему(мышь, клавиатура)
Процессы должны показываться ещё

VisualStudio не видит элементы подключенных библиотек (C++)
Доброго времени суток, уважаемые программисты! Я столкнулся с проблемой:...

Машина видит только один из подключенных SATA/IDE девайсов (Глючит железо)
Машина видит только по отдельности жесткий и привод а вместе когда они...

1
ValeryS
Модератор
7444 / 5636 / 716
Регистрация: 14.02.2011
Сообщений: 19,188
Завершенные тесты: 1
28.06.2018, 19:30 2
Цитата Сообщение от Sobolev_Erik Посмотреть сообщение
Не видно функций из файлов file_fincs.h и menu.h.
может все таки menu.c?
не достаточно просто создать файлы, нужно их подключить. как? зависит от среды разработки.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2018, 19:30

Как правильно вписать функцию в h-файл и правильно её отразить в основной функции?
Создать внешнюю библиотеку, в которой написана функция вывода символьного ...

Php IDE с автозавершением из подключенных файлов
Доброго времени суток! Наверное, вопрос очень простой, но сам ответ ищу уже...

Не видит функцию в основной форме
Как объявить класс второй формы в главной чтобы он видел функции? Вот как...


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

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

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