디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

Pretty Print

algo갤로그로 이동합니다. 2009.12.09 19:00:45
조회 55 추천 0 댓글 0

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define S_SIZE 20
typedef struct data
{
    int id;
    char name[S_SIZE];
    int grade;
}
DATA;
typedef struct NODE
{
    DATA data;
    struct NODE *link;
}
NODE;
NODE *insert_node(NODE *plist, NODE *pprev, DATA item);
NODE *search_node(NODE *plist, int input_id);
NODE *search_pprev(NODE *plist, int input_id);
NODE *delete_node(NODE *plist, NODE *pprev, NODE *pcurr);
void print_list(NODE *plist);
void destroy_list(NODE *plist);
int main()
{
    char *line = "-------------------------", c;
    NODE *p, *q, *head = NULL;
    DATA d;
    while(c != \'5\')
    {
        puts(line);
        puts("1. 추가");
        puts("2. 전체보기");
        puts("3. 검색");
        puts("4. 삭제");
        puts("5. 종료");
        puts(line);
        while((c = getch()) < \'1\' || c > \'5\');
        switch(c)
        {
            case \'1\':
            puts("입력 : 학번 이름 성적");
            scanf("%d %s %d",&d.id,d.name,&d.grade);
            q = NULL;
            p = head;
            while(p)
            {
                if(d.id < p->data.id) break;
                q = p;
                p = p->link;
            }
            head = insert_node(head, q, d);
            break;
            case \'2\':
            puts("");
            print_list(head);
            break;
            case \'3\':
            puts("검색하려는 레코드의 학번 입력");
            scanf("%d",&d.id);
            puts("");
            p = search_node(head,d.id);
            if(p == NULL)
            puts("그런 학번은 없습니다.");
            else
            {
                printf("학번 : %d\\n",p->data.id);
                printf("이름 : %s\\n",p->data.name);
                printf("성적 : %d\\n",p->data.grade);
            }
            break;
            case \'4\':
            puts("삭제하려는 레코드의 학번 입력");
            scanf("%d",&d.id);
            puts("");
            p = search_node(head,d.id);
            q = search_pprev(head,d.id);
            if(p == NULL)
            puts("그런 학번은 없습니다.");
            else
            {
                head = delete_node(head, q, p);
                puts("삭제 완료");
            }
            break;
        }
    }
    destroy_list(head);
    return 0;
}
NODE *insert_node(NODE *plist, NODE *pprev, DATA item)
{
    NODE *pnew = NULL;
    if( !(pnew = (NODE *)malloc(sizeof(NODE))) )
    {
        puts("메모리 동적 할당 오류");
        exit(1);
    }
    pnew->data = item;
    if( pprev == NULL)
    {
        pnew->link = plist;
        plist = pnew;
    }
    else
    {
        pnew->link = pprev->link;
        pprev->link = pnew;
    }
    return plist;
}
NODE *search_node(NODE *plist, int input_id)
{
    NODE *p = plist;
    while(p)
    {
        if(input_id == p->data.id) break;
        p = p->link;
    }
    return p;
}
NODE *search_pprev(NODE *plist, int input_id)
{
    NODE *p = plist, *q=NULL;
    while(p)
    {
        if(input_id == p->data.id) break;
        q = p;
        p = p->link;
    }
    return q;
}
NODE *delete_node(NODE *plist, NODE *pprev, NODE *pcurr)
{
    if( pprev == NULL)
    plist = pcurr->link;
    else
    pprev->link = pcurr->link;
    free(pcurr);
    return plist;
}
void print_list(NODE *plist)
{
    NODE *p;
    for( p=plist ; p ; p=p->link )
    {
        printf("학번 : %d\\n",p->data.id);
        printf("이름 : %s\\n",p->data.name);
        printf("성적 : %d\\n",p->data.grade);
        puts("");
    }
}
void destroy_list(NODE *plist)
{
    NODE *p = plist, *next;
    while(p)
    {
        next = p->link;
        free(p);
        p = next;
    }
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
162595 요즘 너님들이 개쉛기를 사랑하는 마음이 많이 식은것같다. [6] 개쉛기갤로그로 이동합니다. 09.12.15 134 0
162593 이쯤에서 들어보는 그녀의 노래 [2] Vita500갤로그로 이동합니다. 09.12.15 118 0
162591 졸라 시끄러 ㅅㅂ [4] 피로토스갤로그로 이동합니다. 09.12.15 118 0
162590 3D의 미소녀는 이제 버립시다. [4] JuEUS-U갤로그로 이동합니다. 09.12.15 197 0
162589 참고로 난 로리덕후가 아님, 그냥 이 짤때문에 시작된 것임. [5] Rhea갤로그로 이동합니다. 09.12.15 184 0
162588 NSAID 라고 아는 사람이 있을꺼야 [1] nRST갤로그로 이동합니다. 09.12.15 82 0
162587 내 맘에 꿀을 발라주고 상처도 안겨준 Vita500횽에게 조공짤을(수정) [5] Rhea갤로그로 이동합니다. 09.12.15 196 0
162586 Rhea횽만 봅니다 [2] Vita500갤로그로 이동합니다. 09.12.15 102 0
162584 재주는 곰이 부리고 ..... [1] cp(118.219) 09.12.15 85 0
162583 다들 이거나 풀어보시죠 [15] 케케켁켁갤로그로 이동합니다. 09.12.15 199 0
162582 오라클의 임포트는 신기해. [5] 아주아슬갤로그로 이동합니다. 09.12.15 132 0
162581 vita500, 정확히 알려주셈, 동일인물 맞음???!! [7] Rhea갤로그로 이동합니다. 09.12.15 165 0
162580 Qt VS2008에 붙이기 성공했다능 허허벌판갤로그로 이동합니다. 09.12.15 98 0
162578 MS 무료백신 임박 [6] 개쉛기갤로그로 이동합니다. 09.12.15 123 0
162577 방정식 가지고 싸우는 놈들은 봄미다 [13] nRST갤로그로 이동합니다. 09.12.15 150 0
162575 그녀의 현재 [8] Vita500갤로그로 이동합니다. 09.12.15 204 0
162574 안녕하세요 프갤횽들~ Gromit갤러리 찬성해주세요~ [8] Gromit갤로그로 이동합니다. 09.12.15 107 0
162572 기묘한 이야기 - 리플레이 신발라마갤로그로 이동합니다. 09.12.15 70 0
162571 이런차 몰면 여자가 따라붙나효? [3] ㅎ3(112.222) 09.12.15 130 0
162570 세브를 미워하지 말아주세요... [3] 세브(211.117) 09.12.15 158 0
162568 리눅스 서버돌리고있는데.. SMTP를 어떻게 열지? [5] 엽!(123.142) 09.12.15 123 0
162567 아주 아슬 필독... 나 지금 급분노상태;;;;;;; ㅠㅠ [4] Rhea갤로그로 이동합니다. 09.12.15 134 0
162566 윈도우7 어떤버전을 깔아야 되는겨~ [3] 신발라마갤로그로 이동합니다. 09.12.15 100 0
162564 도서관에서 삘 꼽혀서 코딩하러 집에 온게자랑. [1] 컴공볍진갤로그로 이동합니다. 09.12.15 134 0
162563 으흐흐흐 귀여워... [5] 세브(211.117) 09.12.15 211 0
162562 더러운 프갤러들아!!!!! [3] 숙신갤로그로 이동합니다. 09.12.15 94 0
162561 초보때 프로그래밍 과외받는거 어떄? [8] 이쁜뇌종양갤로그로 이동합니다. 09.12.15 155 0
162560 그녀의 이름은 "스가야 리사코" [4] Vita500갤로그로 이동합니다. 09.12.15 190 0
162559 D3D 이럴땐 법선 어떻게 넣어야되? [6] 이쁜뇌종양갤로그로 이동합니다. 09.12.15 99 0
162558 아침부터 모닝갤질 [3] cp(118.219) 09.12.15 79 0
162557 오늘도 즐거운 하이~ [4] Vita500갤로그로 이동합니다. 09.12.15 58 0
162553 너님들은 이제부터 매년 4579만원 이상을 벌어들이도록 노력합니다 [4] ㅎ3(112.222) 09.12.15 141 0
162551 오늘 숙제 질문할 철새갤러들은 미리 봐라. [2] Rhea갤로그로 이동합니다. 09.12.15 127 0
162550 더러운 프덕후 새끼들... . [6] Rhea갤로그로 이동합니다. 09.12.15 187 0
162549 SAP SD 좀 하는 형들은 봅니다. [1] 삽퍼(203.245) 09.12.15 161 0
162547 ㅇㅇ 은 봅니다. 꼭 봅니다. [4] rntjr갤로그로 이동합니다. 09.12.15 140 0
162546 대륙의_아이폰.swf [2] 숙신갤로그로 이동합니다. 09.12.15 168 0
162545 윈도우 네트워크 필터 드라이버 개발해본 횽아 있음? [14] 외계달팽갤로그로 이동합니다. 09.12.15 179 0
162544 뭘 그렇게 뚫어지게 봐 [1] ㅇㅇㅃ갤로그로 이동합니다. 09.12.15 71 0
162543 이거 뭐야... 무서워... [3] ㅇㅇㅃ갤로그로 이동합니다. 09.12.15 141 0
162542 1억 대출 받고 2억 보태서 3억짜리 주상복합 전세를 살면 좆허세일까? [24] ㅇㅇ(210.94) 09.12.15 217 0
162541 모니터 샀음. 이거 괜춘함? [11] 외계달팽갤로그로 이동합니다. 09.12.15 175 0
162540 오늘 onepare의 생일입니다. [2] 숙신갤로그로 이동합니다. 09.12.15 70 0
162539 온순한 감자 횽은 봅니다. 숙신갤로그로 이동합니다. 09.12.15 48 0
162538 New Moon 보고 오겠습니다 [8] algo갤로그로 이동합니다. 09.12.15 104 0
162537 23일이던 24일이던 우리 어떻게 되는 거야? [2] 물속의다이아갤로그로 이동합니다. 09.12.15 101 0
162536 푸바 <== 이 새끼 아는 사람 있음? [9] LightEach갤로그로 이동합니다. 09.12.15 150 0
162534 내이름은 세브란스, 긍지높은 프겔의 상급덕후 [2] 세브(211.117) 09.12.15 123 0
162533 리듬천국_실사판_14세_덕후_조련사.swf [2] 숙신갤로그로 이동합니다. 09.12.15 134 0
162532 갱지영 드립.jpg 숙신갤로그로 이동합니다. 09.12.15 151 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2