0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
1

Error C3861: 'clrscr': identifier not found

21.12.2011, 01:09. Показов 2721. Ответов 10
Метки нет (Все метки)

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX 100
 
 
/*Дефиниране на структурата*/
struct address
{
    char town[20];                 /*Град              */
    char street[20];               /*улица             */
    int num;                       /*Номер             */
};
typedef struct
{
    char name[30];                /*Име                 */
    char EGN[11];                 /*ЕГН                 */
    struct address adr;           /*Вложена структура   */
} officer;
 
/*Прототипи на функциите*/
officer inputstr(void);           /*Въвеждане на данни  */
void order(officer *[], int);     /*Сортировка на дани  */
void outputsrt(officer *[], int); /*Извеждане на дани   */
void main()
{
    int i, n;
    officer firm[MAX], *pf[MAX];
    /*Масиви от структури и от указатели към структури*/
    clrscr();
    printf("\nВъведи броя на студенти:\n");
    scanf("%d",&n);
    fflush(stdin);
    printf("\nВъведи данните за студенти:\n");
    for(i=0; i<n; i++)
    {
        firm[i]=inputsr();     /*Входни данни за i-я студент   */
        pf[i]=&firm[i];   /*Присвояване на адреса на данните на i-я студент на съответния указател  */
    }
    printf("\nСписък на студенти:\n");
    outputstr(pf, n);
    order(pf, n);
    printf("\nПодреден списък на служителите във фирмата:\n");
    outputstr(pf,n);
}
/*Дефиниране на функцията inputstr()*/
officer inputstr(void)              /*функция за въвеждане на данни   */
{
    officer a={0};                  /*Инициализация на структура      */
    printf("\nВъведи име на студент:");
    gets(a.name);
    printf("Въведи град:");
    gets(a.adr.street);
    printf("Введи номер:");
    scanf("%d",&a.adr.num);
    fflush(stdin);
    printf("Въведи ЕГН:");
    gets(a.EGN);
    fflush(stdin);
    return(a);
}
/*Дефиниране на функцията outputstr()*/
void outputstr(officer *ptr_str[], int n)      /*Функция за извеждане на данни*/
{
    int i;
    for(i=0; i<n; i++)
    {
        printf("\nИме на студент:   %s", ptr_str[i]->name);
        printf("\nГрад:        %s", ptr_str[i]->adr.town);
        printf("\nУлица:       %s", ptr_str[i]->adr.street);
        printf("\nНомер:       %d", ptr_str[i]->adr.num);
        printf("\nЕГН:         %s", ptr_str[i]->EGN);
    }
}
/*Дефиниране на функцията order()*/
void order(officer *po[], int n)      /*Функция за сортировка на дани     */
{
    officer *work;                  /*Работна променлива-указател       */
    int i,j,f=1;
    while(f!=0)
    {
        f=0;                        /*Флаг - проверява наличието на размяна*/
        for(i=0; i<n; i++)
            if (strcmp(po[i]->EGN,po[i+1]->EGN)>0) /*Проверка на наредбата */
            {   /*Промяна съдержанието на указателите*/
                work=po[i];
                po[i]=po[i+1];
                po[i+1]=work;
                f=1;
            }
    }
}

выдет следущие ошибки:
...cpp(31) : error C3861: 'clrscr': identifier not found
...cpp(38) : error C3861: 'inputsr': identifier not found
...cpp(42) : error C3861: 'outputstr': identifier not found
...cpp(45) : error C3861: 'outputstr': identifier not found

хелп ребята!
извеняюсь за комментарии, они написанны на болгарском...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2011, 01:09
Ответы с готовыми решениями:

Структуры. Error 1 error C3861: identifier not found
День добрый. Пишет ошибки: Error 1 error C3861: 'func_write': identifier not...

Syntax error; found 'identifier' expecting '}'
Здравствуйте! #define MAX_BUF 1000 struct List { char num; List* next; }; ...

Решение системы линейных уравнений методом Гаусса: 'clrscr' undeclared identifier
Здравствуйте. Программа выдает ошибку:c:\program files\microsoft visual...

Не работает программа на C не вычисляет арктангенс error C3861
Задача такая Даны длины катетов прямоугольного треугольника. Найти его острые углы, вывести в...

10
145 / 145 / 32
Регистрация: 26.10.2008
Сообщений: 782
21.12.2011, 01:23 2
Каким компилятором пользуетесь?
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
21.12.2011, 01:46  [ТС] 3
работаю на Microsoft Visual C++ 2008 Express Edition, компилятор стоит родной его...
0
4 / 4 / 0
Регистрация: 20.12.2011
Сообщений: 17
21.12.2011, 01:50 4
Судя по выхлопу, это определенно MSVC: http://msdn.microsoft.com/en-u... s.80).aspx

А раз не хватает всяких clear screen, топикстартер явно забыл какой-то include.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
21.12.2011, 02:21  [ТС] 5
Цитата Сообщение от gregon Посмотреть сообщение
Судя по выхлопу, это определенно MSVC: http://msdn.microsoft.com/en-u... s.80).aspx

А раз не хватает всяких clear screen, топикстартер явно забыл какой-то include.
Ну я не знаю что можно сделать, компилировал несколько раз тот же результат, так что про "забыл" думаю речи не может быть...

Так же все правильно написанно вроде...
0
4 / 4 / 0
Регистрация: 20.12.2011
Сообщений: 17
21.12.2011, 02:33 6
От перемены мест слагаемых...
То же самое можно сказать и о многократном компилировании. Компилятор жалуется: ну нет такой функции, не нашел. Значит либо неправильно написано название, либо не хватает хидера, где искомая функция описана.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
21.12.2011, 03:16  [ТС] 7
исправил, дело было в опечатке...
error C3861: 'clrscr': identifier not found только это осталось

Добавлено через 19 минут
заменил на
C
1
system("cls");
пошло, только теперь тормозит на "списке студентов"
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream>
#include <clocale>
#define MAX 5
 
 
 
/*Дефиниране на структурата*/
struct address
{
    char town[20];                 /*Град              */
    char street[20];               /*улица             */
    int num;                       /*Номер             */
};
typedef struct
{
    char name[30];                /*Име                 */
    char EGN[11];                 /*ЕГН                 */
    struct address adr;           /*Вложена структура   */
} officer;
 
/*Прототипи на функциите*/
officer inputstr(void);           /*Въвеждане на данни  */
void order(officer *[], int);     /*Сортировка на дани  */
void outputstr(officer *[], int); /*Извеждане на дани   */
void main()
{
    int i, n;
    setlocale(LC_ALL, "russian");
    setlocale(LC_ALL, "rus");
    officer firm[MAX], *pf[MAX];
    /*Масиви от структури и от указатели към структури*/
    system("cls");
    printf("\nВведите количество студентов:\n");
    scanf("%d",&n);
    fflush(stdin);
    printf("\Введите данные:\n");
    for(i=0; i<n; i++)
    {
        firm[i]=inputstr();     /*Входни данни за i-я студент   */
        pf[i]=&firm[i];   /*Присвояване на адреса на данните на i-я студент на съответния указател  */
    }
    printf("\nСписок студентов:\n");
    outputstr(pf, n);
    order(pf, n);
    printf("\nПодреден списък на студенти:\n");
    outputstr(pf, n);
}
/*Дефиниране на функцията inputstr()*/
officer inputstr(void)              /*функция за въвеждане на данни   */
{
    officer a={0};                  /*Инициализация на структура      */
    printf("\nВведите имя студента:");
    gets(a.name);
    printf("Введите город:");
    gets(a.adr.street);
    printf("Введите номер улицы:");
    scanf("%d",&a.adr.num);
    fflush(stdin);
    printf("Введите номер паспорта:");
    gets(a.EGN);
    fflush(stdin);
    return(a);
}
/*Дефиниране на функцията outputstr()*/
void outputstr(officer *ptr_str[], int n)      /*Функция за извеждане на данни*/
{
    int i;
    for(i=0; i<n; i++)
    {
        printf("\nИмя студента:   %s", ptr_str[i]->name);
        printf("\nГород:        %s", ptr_str[i]->adr.town);
        printf("\nУлица:       %s", ptr_str[i]->adr.street);
        printf("\nНомер Улицы:       %d", ptr_str[i]->adr.num);
        printf("\nНомер паспорта:         %s", ptr_str[i]->EGN);
    }
}
/*Дефиниране на функцията order()*/
void order(officer *po[], int n)      /*Функция за сортировка на дани     */
{
    officer *work;                  /*Работна променлива-указател       */
    int i,j,f=1;
    while(f!=0)
    {
        f=0;                        /*Флаг - проверява наличието на размяна*/
        for(i=0; i<n; i++)
            if (strcmp(po[i]->EGN,po[i+1]->EGN)>0) /*Проверка на наредбата */
            {   /*Промяна съдержанието на указателите*/
                work=po[i];
                po[i]=po[i+1];
                po[i+1]=work;
                f=1;
            }
    }
}
Немного перевел чтоб легче понималось и исправил ошибки. Посмотрите теперь в чем дело, до меня видимо не доходит...
0
4 / 4 / 0
Регистрация: 20.12.2011
Сообщений: 17
21.12.2011, 04:10 8
А вот теперь начинается самое интересное. Я взял и попробовал скомпилить код под линуксом, используя GCC в Geany. Сборка прошла успешно после того, как я закомментил следующее:

C
1
2
3
4
5
6
//#include "stdafx.h"
//#include <conio.h>
//#include <iostream>
//#include <clocale>
//setlocale(LC_ALL, "russian");
//setlocale(LC_ALL, "rus");
Но тут нет ничего страшного, просто мне лень было срочно выяснять, где лежат нужные хидеры. Куда интереснее лог сборки:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
gcc -Wall -o "test" "test.c" (в каталоге: /home/gregon/test)
test.c:29: warning: return type of ‘main’ is not ‘int’
test.c: In function ‘main’:
test.c:36: warning: implicit declaration of functionsystem’
test.c:40:16: warning: unknown escape sequence: '\320'
test.c: In function ‘inputstr’:
test.c:55: warning: missing braces around initializer
test.c:55: warning: (near initialization for ‘a.name)
test.c: In function ‘order’:
test.c:85: warning: unused variable ‘j’
/tmp/ccnA0Ymo.o: In function `inputstr':
test.c:(.text+0x1ef): warning: the `gets' function is dangerous and should not be used.
Сборка прошла успешно.
Тоесть несмотря на кучу варнингов, оно собралось и даже работает, я запускал. Значит, "это компилятор Visual Studio не очень хорошо понимает С++"(с)- Как впрочем и я, так что ищите спеца по тому языку, который в Microsoft принимают за C++-

Добавлено через 7 минут
Я слегка протупил и собирал это как код на С. Исправил ошибку. Теперь не нашлись только два хидера: stdafx и conio. А вот и лог сборки:
C
1
2
3
4
5
6
7
8
9
10
g++ -Wall -c "test.cpp" (в каталоге: /home/gregon/test)
test.cpp:29: error:::main’ must returnint’
test.cpp: In functionint main():
test.cpp:36: error:system’ was not declared in this scope
test.cpp:40: warning: unknown escape sequence: '\320'
test.cpp: In function ‘officer inputstr():
test.cpp:55: warning: missing braces around initializer forchar [30]’
test.cpp: In functionvoid order(officer**, int):
test.cpp:85: warning: unused variable ‘j’
Сборка завершилась с ошибкой.
Как только я сделал int main и закомментил вызов system, все успешно собралось:
C
1
2
3
4
5
6
7
8
9
10
g++ -Wall -o "test" "test.cpp" (в каталоге: /home/gregon/test)
test.cpp: In functionint main():
test.cpp:40: warning: unknown escape sequence: '\320'
test.cpp: In function ‘officer inputstr():
test.cpp:55: warning: missing braces around initializer forchar [30]’
test.cpp: In functionvoid order(officer**, int):
test.cpp:85: warning: unused variable ‘j’
/tmp/ccvXMzDj.o: In function `inputstr()':
test.cpp:(.text+0x238): warning: the `gets' function is dangerous and should not be used.
Сборка прошла успешно.
Добавлено через 7 минут
Кроме того я заметил странность: Geany в списке функций программы указывает inputstr, order и ouputstr по два раза. Как будто это разные функции, просто название одинаковое. Такое ощущение, что MSVC просто не в курсе, что бывает прототипирование.
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
21.12.2011, 04:31  [ТС] 9
Эти библиотеки добавил т.к. без них не компилируется, пробовал недавно закомментить...
Есть прогресс когда ввожу вначеле в запросе о кол-ве студентов 1 (данные об одном студенте), он у меня выводит список всех записанных студентов, но после выдает ошибку. Если вписать более одного то даже списка данных о студентов тебе не выведет.

Добавлено через 9 минут
Попробовал скомпилить сного, теперь даже при указании 1го студента, не выводит список. Так что помоему "От перемены мест слагаемых..."... Вообще очень странно себя ведет компилятор, непослушный какой-то
0
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
21.12.2011, 06:50 10
Цитата Сообщение от Star-Wk Посмотреть сообщение
непослушный какой-то

Не по теме:

хозяин плохо дрессирует

0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 8
21.12.2011, 17:14  [ТС] 11
Переписал полностью, заработало. Что с этим не так, так и не разобрался.

Добавлено через 52 секунды
Цитата Сообщение от res Посмотреть сообщение

Не по теме:

хозяин плохо дрессирует

Поэтому и обратился, потому что не знаю как "дрессировать"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2011, 17:14
Помогаю со студенческими работами здесь

Error: expected identifier or ‘(’ before ‘int’
$ gcc main.c zeroonezero.c -o zeroonezero In file included from main.c:3:0: zeroonezero.h:4:18:...

Подсчет строк и ошибка Error C2065: 'с': undeclared identifier
#include &lt;STDIO.H&gt; /* подсчет строк входного потока */ main() { int c ; int nl; nl = 0; ...

Error C3861: 'stof': identifier not found
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; float param; float StringToFloat(const char *str) {...

error C3861: 'StringToChar': identifier not found
у меня ошибка уже нет сил исправлять... голова уже не варит... всю ночь исправлял.. =\\ вот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru