[Linker error] undefined reference - C (СИ)
Формулировка задачи:
Будте добры помогите решить проблему с ошибками:
[Linker error] undefined reference to `Vivod(char*, char*)'
[Linker error] undefined reference to `Osnova(void (*)(int, int, char*, char*), void (*)(char*, char*))'
ld returned 1 exit status
Премного благодарен.
#include <stdio.h> #include <math.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define N 100 #define Z 10 #define L 100 void Virezanie(int ,int ,char*,char*); void Osnova(void(int ,int ,char*,char*),void(char*,char*)); void Vivod(char*,char*); int main(void) { Osnova(Virezanie,Vivod); getch(); return(0); } void Virezanie(int a,int b,char strn[],char st[]) { int i; for (i=a;i<b+a;i++) st[i-a]=strn[i-1]; for (i=0;i<(Z-1);i++) { if(st[i]==' '){ st[i]='\0'; i=Z-1;} } } void vivod(char print[],char t[]) { if(strcmp(print,t) != 0 ){ strncpy(t,print,Z); printf("%s\n",print); } } void osnova(void Virezanie(int a,int b,char strn[],char st[] ),void vivod(char print[],char t[])) { FILE *inp; char string[L];/*строка которую считывает программа из файла*/ char temp[Z];/*temp */ char strana_user[Z];/*страна пользователя*/ char gorod_user[Z];/*город ----//----*/ char hotel_user[Z];/*отель п-ля*/ char number_user[Z];/*отель п-ля*/ char pay_user[Z];/*отель п-ля*/ char tempS[Z];/*temp для strana_user*/ char tempG[Z];/*temp для gorod_user*/ char tempH[Z];/*temp для hotel_user*/ char tempN[Z];/*temp для number_user*/ char tempP[Z];/*temp для pay_user*/ char strana[Z];/*страна из файла*/ char gorod[Z];/*город который вырезает*/ char hotel[Z];/*отель который вырезает*/ char number[Z];/*номер номера который вырезает*/ char pay[Z];/*цену который вырезает*/ int i,p,n/*c какого символа вырезать*/,k/*по какой*/,b; inp = fopen("test.txt","r"); while(fgets(string, L, inp) != NULL){ fgets(string,L,inp); n=1;k=10; Virezanie(n,k,string,strana); vivod(strana,temp);/*Выводит страны*/ } printf("VVeditete stranu>"); gets(strana_user); fseek(inp,0L,SEEK_SET); while(fgets(string, L, inp) != NULL){ n=1;k=10; fgets(string,L,inp); Virezanie(n,k,string,strana); strcpy(tempS,strana_user); if(strcmp(tempS,strana) == 0){ n=11;k=20; Virezanie(n,k,string,gorod); vivod(gorod,temp); /*выводит город*/ } } printf("VVeditete gorod>"); gets(gorod_user); fseek(inp,0L,SEEK_SET); while(fgets(string, L, inp) != NULL){ fgets(string,L,inp); n=1;k=10; Virezanie(n,k,string,strana); strcpy(tempS,strana_user); if(strcmp(tempS,strana) == 0){ n=11;k=20; Virezanie(n,k,string,gorod); strcpy(tempG,gorod_user); if(strcmp(tempG,gorod) == 0){ n=21;k=30; Virezanie(n,k,string,hotel); vivod(strana,hotel);/*выводит отель*/ } } } printf("VVeditete hotel>"); gets(hotel_user); fseek(inp,0L,SEEK_SET); while(fgets(string, L, inp) != NULL){ fgets(string,L,inp); n=1;k=10; Virezanie(n,k,string,strana); strcpy(tempS,strana_user); if(strcmp(tempS,strana) == 0){ n=11;k=20; Virezanie(n,k,string,gorod); strcpy(tempG,gorod_user); if(strcmp(tempG,gorod) == 0){ n=21;k=30; Virezanie(n,k,string,hotel); strcpy(tempH,hotel_user); if(strcmp(tempH,hotel) == 0 ){ n=31;k=33; Virezanie(n,k,string,number); vivod(strana,number);/*выводит номер*/ } } } } printf("VVeditete nomer>"); gets(number_user); fseek(inp,0L,SEEK_SET); while(fgets(string, L, inp) != NULL){ fgets(string,L,inp); n=1;k=10; Virezanie(n,k,string,strana); strcpy(tempS,strana_user); if(strcmp(tempS,strana) == 0){ n=11;k=20; Virezanie(n,k,string,gorod); strcpy(tempG,gorod_user); if(strcmp(tempG,gorod) == 0){ n=21;k=30; Virezanie(n,k,string,hotel); strcpy(tempH,hotel_user); if(strcmp(tempH,hotel) == 0 ){ n=31;k=33; Virezanie(n,k,string,number); strcpy(tempN,number_user); if(strcmp(tempN,number) == 0 ){ n=34;k=43; Virezanie(n,k,string,pay); vivod(strana,pay);/*выводит цену за номер*/ } } } } } fclose(inp); }
Решение задачи: «[Linker error] undefined reference»
textual
Листинг программы
void vivod(char print[],char t[]) ... void osnova(...)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д