Ошибка: error C2143 функция void deleteEnd(void) - C (СИ)
Формулировка задачи:
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #define MAXNAME 56 struct tagBook { char name[MAXNAME]; char autor[MAXNAME]; int imprint; struct tagBook *pnext,*pprev; }; typedef struct tagBook Book; void safeList(Book *p,char *file) { FILE *pf=fopen(file,"a+"); while(p!=NULL) { fwrite(p,sizeof(Book),1,pf); p=p->pnext; } fclose(pf); printf("\nSohranenie uspeshno zavershino : %s",__TIMESTAMP__ ); } void printList(Book *p) { while(p!=NULL) { print(p); p=p->pnext; } } Book* addEnd(Book *p,Book *end) { Book *pAdd=(Book*)malloc(sizeof(Book)); *pAdd=*p; if (end==NULL)end=pAdd; else { end->pnext=pAdd; pAdd->pprev=end; end=pAdd; } return end; } void getUser(Book *p) { Book tmp; printf("\n Vvedite nazvanie knigi : "); scanf("%s",tmp.name); printf("\n Vvedite autora knigi : "); scanf("%s",tmp.autor); printf("\n Vvedite god izdania : "); scanf("%d",&tmp.imprint); tmp.pnext = tmp.pprev = NULL; *p=tmp; } void print(Book *p) { printf("\t\nNazvanie knigi : %s \nAutor knigi : %s \nGod izdania : %d\n",p->name,p->autor,p->imprint); } Book* deleteEnd(Book *begin,Book *end) { int year=0; Book *cur=NULL,*temp=NULL; cur=begin; printf(" Informaciya o knigah s godom izdaniya\n men'she vvedennogo bydet ydalena\n\n Vvedite god: "); scanf("%d",&year); while (year <= 0) {printf("OSHIBKA: god ne mozhet but' <0 ili =0, vvedite zanovo: "); scanf("%d",&year);} while (cur != NULL) //ïîêГ* Г*ГҐ äîéäåì äî ГЄГ®Г*Г¶Г* Г±ГЇГЁГ±ГЄГ* {if(cur->imprint < year) //Г±Г°Г*ГўГ*ГЁГўГ*ГҐГ¬ ãîä èçäГ*Г*ГЁГї Г± ââåäåГ*Г*ûì {if (cur == begin) //åñëè Г§Г*ГЇГЁГ±Гј ïåðâГ*Гї {begin=cur->pnext; //ГІГ® ïåðâîé áóäåò âòîðГ*Гї Г§Г*ГЇГЁГ±Гј Гў Г±ГЇГЁГ±ГЄГҐ begin->pprev=NULL; free(cur); //Гў ГЄГ®Г*ГҐГ¶ Г±ГЇГЁГ±ГЄГ* cur=begin; } else if (cur==end)//åñëè Г§Г*ГЇГЁГ±Гј ïîñëåäГ*ГїГї {end=cur->pprev; end->pnext=NULL; //ïðåäïîñëåäГ*ГїГї Г§Г*ГЇГЁГ±Гј Г±ГІГ*Г*îâèòñÿ ïîñëåäГ*ГҐГ© free(cur); //ГіГ¤Г*ëÿåì ïîñëåäГ*Гѕ Г§Г*ГЇГЁГ±Гј cur=end;} else //ГіГ¤Г*ëåГ*ГЁГҐ ГЁГ§ ñåðåäèГ*Г» {cur->pnext->pprev=cur->pprev; cur->pprev->pnext=cur->pnext; temp=cur; cur=cur->pnext; free(temp);} //ГіГ¤Г*ÿëåì Г§Г*ГЇГЁГ±Гј } else cur=cur->pnext; //åñëè ãîä áîëüøå, ГІГ® ïåðåõîäèì Гі ñëåäóþùåé Г§Г*ГЇГЁГ±ГЁ Гў Г±ГЇГЁГ±ГЄГҐ } printf("\n\n Informaciya ydalena "); return cur; } void main() { int n=0; Book emp; Book *begin=NULL, *end=NULL; L: printf("\n\n1.Sozdanie spiska\n2.Prosmotr spiska\n3.Dobavit knigu\ \n4.Korrektirovka\n5.Sohranit v file \n7.Vihod \n"); printf("Input numer : "); scanf("%d",&n); switch(n) { case 1:getUser(&emp); end=addEnd(&emp,end); if (begin==NULL)begin=end; break; case 2:printList(begin);break; case 3:printf("\nVvedite dannie o novoy knige\n"); getUser(&emp); end=addEnd(&emp,end); if (begin==NULL)begin=end; break; case 4:void deleteEnd(void);break; case 5:safeList(begin,"list.data");break; case 6: exit(0);break; default:printf("\nNe pravilno nabran nomer!!!!!\a\a\a"); } goto L; }
Решение задачи: «Ошибка: error C2143 функция void deleteEnd(void)»
textual
Листинг программы
case 4: deleteEnd(begin,end );break;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д