Ошибка: 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;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы