[데이터 구조] 버스 노선 관리

2998 단어 데이터 구조
버스 노선 관리
질문 설명:
        버스 노선 정보 에 대한 간단 한 시 뮬 레이 션 은 메뉴 선택 방식 으로 버스 노선 정보 구축, 버스 노선 정보 수정 과 버스 노선 정보 삭제 및 기타 관련 기능 을 완성 한다.
코드:
#include 
#include 
#include 
#include 
using namespace std;

typedef struct linknode
{
    int num;//  
    char driver[50];//  
    char stime[50];//    
    char start[50];//   
    char end[50];//   
    int  station;//  
    linknode *next;
} Node,*Linklist;//Linklist       

Linklist CreateList(Linklist head);//       
Linklist findval(Linklist L,int k);//    
Linklist Deletenode(Linklist L,int n);//   n    
void ShowList(Linklist L);//      
void ShowPoint(Linklist L);//      
void Alter(Linklist L,int n);//      
void Init();//    

int main(void)
{
    int x,y;
    Linklist L1=NULL;
    Node *p;
flag:
    Init();
    cin>>x;
    switch(x)
    {
    case 1:
        cout<>y;
        p=findval(L1,y);
        ShowPoint(p);
        goto flag;
        break;
    case 3:
        cout<>y;
        Alter(L1,y);
        goto flag;
        break;
    case 4:
        cout<>y;
        L1=Deletenode(L1,y);
        goto flag;
        break;
    case 5:
        cout<driver,str1);
    strcpy(e->stime,str2);
    strcpy(e->start,str3);
    strcpy(e->end,str4);
    e->num=n;
    e->station=s;
    e->next=head;
    head=e;
    return head;
}

Linklist findval(Linklist L,int n)//    
{
    while(L!=NULL)
    {
        if(L->num==n)
            break;
        L=L->next;
    }
    if(L!=NULL)
        return L;
    else
        return NULL;
}

Linklist Deletenode(Linklist L,int n)//   n    
{
    Linklist p,p1,L1,L2;
    p=p1=L1=L2=L;
    int k=0,x=0;
    while(p1!=NULL)
    {
        k++;
        p1=p1->next;
    }
    if(k==1)
    {
        p1=NULL;
        return p1;
    }
    else if(L->num==n)
    {
        L=L->next;
        return L;
    }
    while(L->next->num!=n)
    {
        x++;
        L=L->next;
    }
    if(x==k-1)
    {
        L->next=NULL;
        return p;
    }
    else
    {
        Node *q;
        while(L1->next->num!=n)
            L1=L1->next;
        q=L1->next;
        L1->next=q->next;
        free(q);
        return L2;
    }
}

void ShowList(Linklist L)//      
{
    if(L==NULL)
    {
        cout<num<driver<stime<start<end<station<next;
    }
}

void ShowPoint(Linklist L)
{
    if(L!=NULL)
        cout<num<driver<stime<start<end<station<>x;
    switch(x)
    {
    case 1:
        printf("      
"); cin>>a; p->num=a; cout<driver,str); cout<stime,str); cout<start,str); cout<end,str); cout<>a; p->station=a; cout<

좋은 웹페이지 즐겨찾기