鱼C论坛

 找回密码
 立即注册
查看: 949|回复: 2

为什么这代码错了

[复制链接]
发表于 2021-9-28 18:07:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
#include<cstdlib>
#include<string.h>
#include<iomanip>

using namespace std;

typedef struct
{
    char num[5];
    char name[9];
    char phone[13];
}ElemType;

typedef struct node
{
    ElemType data;
   
    struct node *next;
}ListNode,*LinkList;

int menu_select(){
   int sn;
   cout<<"Welcome to Friends Book Management"<<endl;
   cout<<"1.LinkList of FriendsBook--Create"<<endl;
   cout<<"2.Node of Friends Book--Insert"<<endl;
   cout<<"3.Node of Friends Book--Search"<<endl;
   cout<<"4.Node of Friends Book--Delete"<<endl;
   cout<<"5.LinkList of Friends Book--Show"<<endl;
   cout<<"6.Exit"<<endl;
   cout<<"CeEnter 1-6 to select the menu: ";
   for(; ;){
    cin>>sn;
    if(sn<1 || sn>6)
        cout<<"\n\tInput Error! please enter 1-6 to select!\n\nCeEnter 1-6 to select the menu: ";
    else break;
   }
   cout<<endl<<endl;
   return sn;
}

void PrintLIst(LinkLIst head){
    LinkList p;
    p=head->next;
    if(p){
        cout<<"number(4) name(8) phone(11)"<<endl;
        cout<<"-------------------------------"<<endl;
    }
    else  cout<<"No record!"<<endl;
    while(p){
        cout<<setw(6)<<p->data.num<<setw(10)<<p->data.name<<setw(13)<<p->data.phone<<endl;
        p=p->next;
    }
    cout<<"---------------------------"<<endl<<endl;
}

voidCreateList(LinkList &head){
     ListNode *p, *rear;
     int flag=0;
     rear=head;
     while(flag==0){
        cout<<"---------------------------------"<<endl;
        cout<<"-     number(4)   name(8)  phone(11)    -"<<endl;
        cout<<"---------------------------------"<<endl;
        cout<<"Please input the data of record including : number(4) name(8) phone(11)"<<endl;
        p=new ListNode;
        cin>>p->data.num>>p->data.name>>p->data.phone;
        rear->next=p;
        rear=p;
        cout<<"Stop Creating List?(1:Stop or 0:Continue)\n";
        cin>>flag;
     }
     rear->next=NULL;
     PrintList(head);
     return;
}

void InsertNode(LinkList &head, ListNode  *p){
     ListNode  *p1,*p2;
     p1=head;
     p2=p1->next;
     while(p2&&(strcmp(p2->data.num,p->data.num)<0)) {
        p1=p2;
        p2=p2->next;
     }
     p1->next=p;
     p->next=p2;
     PrintList(head);
}

ListNode *ListFind(LinkList head){
     LinkList p;
     char num(5);
     char name(9);
     int selnum;
     
     cout<<"===========================\n";
     cout<<"1.search by number \n";
     cout<<"2.search by name \n";
     cout<<"===========================\n";
     cout<<"Enter your selection: ";
     p=head->next;
     cin>>selnum;
     if(selnum==1){
        cout<<"Please enter the number for searching: ";
        cin>>num;
        while(p && strcmp(p->data.num,num)!=0)
            p=p->next;
        if(p==NULL  ||  strcmp(p->data.num,num)!=0)
            p=NULL;
     }
     else
     if(selnum==2){
        cout<<"Please enter the name for searching: ";
        cin>>name;
        while(p && strcmp(p->data.name,name)!=0)
            p=p->next;
     }
     return p;
}

void DelNode(LinkList head){
     char ch;
     LinkList p,q;
     p=ListFind(head);
     if(!p){
        cout<<"not found!\n\n";
        return;
     }
     cout<<"Delete it, sure(y/n)?";
     cin>>ch;
     if(ch=='y'||ch=='Y'){
        q=head;
        while(q&&q->next!=p)
            q=q->next;
        q->next=p->next;
        delete p;
        cout<<"it has been delete!\n\n";
        PrintList(head);
     }
}


void DestroyList(LinkList  &L){
     LinkList p;
     while(L) {
        p=L;
        L=L->next;
        delete p;
     }
     return;
}


int main(){
   LinkList head,p;
   
   head=new ListNode;
   head->next=NULL;
   while(1){
    switch(menu_select()){
case 1:
    cout<<"**************************"<<endl;
    cout<<"*LinkList of Friends Book--Create *"<<endl;
    cout<<"**************************"<<endl;
    CreateList(head);
    break;
case 2:
    cout<<"**************************"<<endl;
    cout<<"  Node of Friends Book--Insert  *"<<endl;
    cout<< "**************************"<<endl;
    cout<<"*  number(4) name(8) phone(11)  *"<<endl;
    cout<<"**************************"<<endl;
    cout<<"Please input the data of record including:number(4) name(8) phone(11) "<<endl;
    p=new ListNode;
    cin>>p->data.num>>p->data.name>>p->data.phone;
    InsertNode(head,p);
    break;
case 3:
    cout<<"**************************"<<endl;
      cout<<"* Node of Friends Book --Search *"<<endl;
              cout<<"*********************************"<<endl;
              p=ListFind(head);
              if(p)
              {
                   cout<<" number(4) name(8) Phone(11) "<<endl;
                    cout<<"*********************************"<<endl;
                    cout<<setw(6)<<p->data.num <<setw(10)<<p->data.name<<setw(13)<<p->data.Phone<<endl;
                     cout<<"*********************************"<<endl;
              }
              else
                cout<<"Not Found\n\n";
              break;
        case 4:
             cout<<"*********************************"<<endl;
              cout<<"* Node of Friends Book --Delete *"<<endl;
              cout<<"*********************************"<<endl;
              DelNode(head);
              break;
        case 5:
             cout<<"*********************************"<<endl;
             cout<<"* LinkList of Friends Book --Show *"<<endl;
              cout<<"*********************************"<<endl;
              PrintList(head);
              break;
        case 6:
            cout<<"\t Quit! \n";
            DestroyList(head);
            return 0;
    }
   }

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-28 18:25:18 | 显示全部楼层
本帖最后由 jhq999 于 2021-9-28 18:27 编辑

注意大小写;函数类型不能和函数名连在一起;声明数组用方括号不是括号
#include<iostream>
#include<cstdlib>
#include<string.h>
#include<iomanip>

using namespace std;

typedef struct
{
    char num[5];
    char name[9];
    char phone[13];
}ElemType;

typedef struct node
{
    ElemType data;
   
    struct node *next;
}ListNode,*LinkList;

int menu_select(){
   int sn;
   cout<<"Welcome to Friends Book Management"<<endl;
   cout<<"1.LinkList of FriendsBook--Create"<<endl;
   cout<<"2.Node of Friends Book--Insert"<<endl;
   cout<<"3.Node of Friends Book--Search"<<endl;
   cout<<"4.Node of Friends Book--Delete"<<endl;
   cout<<"5.LinkList of Friends Book--Show"<<endl;
   cout<<"6.Exit"<<endl;
   cout<<"CeEnter 1-6 to select the menu: ";
   for(; ;){
    cin>>sn;
    if(sn<1 || sn>6)
        cout<<"\n\tInput Error! please enter 1-6 to select!\n\nCeEnter 1-6 to select the menu: ";
    else break;
   }
   cout<<endl<<endl;
   return sn;
}

void PrintLIst(LinkList head){
    LinkList p;
    p=head->next;
    if(p){
        cout<<"number(4) name(8) phone(11)"<<endl;
        cout<<"-------------------------------"<<endl;
    }
    else  cout<<"No record!"<<endl;
    while(p){
        cout<<setw(6)<<p->data.num<<setw(10)<<p->data.name<<setw(13)<<p->data.phone<<endl;
        p=p->next;
    }
    cout<<"---------------------------"<<endl<<endl;
}

void CreateList(LinkList &head){///////////////
     ListNode *p, *rear;
     int flag=0;
     rear=head;
     while(flag==0){
        cout<<"---------------------------------"<<endl;
        cout<<"-     number(4)   name(8)  phone(11)    -"<<endl;
        cout<<"---------------------------------"<<endl;
        cout<<"Please input the data of record including : number(4) name(8) phone(11)"<<endl;
        p=new ListNode;
        cin>>p->data.num>>p->data.name>>p->data.phone;
        rear->next=p;
        rear=p;
        cout<<"Stop Creating List?(1:Stop or 0:Continue)\n";
        cin>>flag;
     }
     rear->next=NULL;
     PrintLIst(head);///////////
     return;
}

void InsertNode(LinkList &head, ListNode  *p){
     ListNode  *p1,*p2;
     p1=head;
     p2=p1->next;
     while(p2&&(strcmp(p2->data.num,p->data.num)<0)) {
        p1=p2;
        p2=p2->next;
     }
     p1->next=p;
     p->next=p2;
     PrintLIst(head);///////////
}

ListNode *ListFind(LinkList head){
     LinkList p;
     char num[5];//////////////
     char name[9];
     int selnum;
     
     cout<<"===========================\n";
     cout<<"1.search by number \n";
     cout<<"2.search by name \n";
     cout<<"===========================\n";
     cout<<"Enter your selection: ";
     p=head->next;
     cin>>selnum;
     if(selnum==1){
        cout<<"Please enter the number for searching: ";
        cin>>num;
        while(p && strcmp(p->data.num,num)!=0)
            p=p->next;
        if(p==NULL  ||  strcmp(p->data.num,num)!=0)
            p=NULL;
     }
     else
     if(selnum==2){
        cout<<"Please enter the name for searching: ";
        cin>>name;
        while(p && strcmp(p->data.name,name)!=0)
            p=p->next;
     }
     return p;
}

void DelNode(LinkList head){/////////////////
     char ch;
     LinkList p,q;
     p=ListFind(head);
     if(!p){
        cout<<"not found!\n\n";
        return;
     }
     cout<<"Delete it, sure(y/n)?";
     cin>>ch;
     if(ch=='y'||ch=='Y'){
        q=head;
        while(q&&q->next!=p)
            q=q->next;
        q->next=p->next;
        delete p;
        cout<<"it has been delete!\n\n";
        PrintLIst(head);//////////////////////////
     }
}


void DestroyList(LinkList  &L){
     LinkList p;
     while(L) {
        p=L;
        L=L->next;
        delete p;
     }
     return;
}


int main(){
   LinkList head,p;
   
   head=new ListNode;
   head->next=NULL;
   while(1){
    switch(menu_select()){
case 1:
    cout<<"**************************"<<endl;
    cout<<"*LinkList of Friends Book--Create *"<<endl;
    cout<<"**************************"<<endl;
    CreateList(head);
    break;
case 2:
    cout<<"**************************"<<endl;
    cout<<"  Node of Friends Book--Insert  *"<<endl;
    cout<< "**************************"<<endl;
    cout<<"*  number(4) name(8) phone(11)  *"<<endl;
    cout<<"**************************"<<endl;
    cout<<"Please input the data of record including:number(4) name(8) phone(11) "<<endl;
    p=new ListNode;
    cin>>p->data.num>>p->data.name>>p->data.phone;
    InsertNode(head,p);
    break;
case 3:
    cout<<"**************************"<<endl;
      cout<<"* Node of Friends Book --Search *"<<endl;
              cout<<"*********************************"<<endl;
              p=ListFind(head);
              if(p)
              {
                   cout<<" number(4) name(8) Phone(11) "<<endl;
                    cout<<"*********************************"<<endl;
                    cout<<setw(6)<<p->data.num <<setw(10)<<p->data.name<<setw(13)<<p->data.phone<<endl;/////////////////////
                     cout<<"*********************************"<<endl;
              }
              else
                cout<<"Not Found\n\n";
              break;
        case 4:
             cout<<"*********************************"<<endl;
              cout<<"* Node of Friends Book --Delete *"<<endl;
              cout<<"*********************************"<<endl;
              DelNode(head);
              break;
        case 5:
             cout<<"*********************************"<<endl;
             cout<<"* LinkList of Friends Book --Show *"<<endl;
              cout<<"*********************************"<<endl;
              PrintLIst(head);////////////////////////
              break;
        case 6:
            cout<<"\t Quit! \n";
            DestroyList(head);
            return 0;
    }
   }

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-28 18:41:08 From FishC Mobile | 显示全部楼层
为什么一直显示42行错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-5 00:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表