디시인사이드 갤러리

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

갤러리 본문 영역

Pretty Print

algo갤로그로 이동합니다. 2009.12.09 19:00:45
조회 53 추천 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/06/24 - -
163637 김문수 -.-; [5] rntjr갤로그로 이동합니다. 09.12.21 101 0
163636 Roykosopp - Only this mement 좇문가갤로그로 이동합니다. 09.12.21 33 0
163635 저기 strcpy 계열에서 n부터 m까지 카피 [3] 수학의정석(115.21) 09.12.21 77 0
163634 저녁먹고 노곤해진 횽들의 업무능력 향상을 위한 읔꼴사 투척 [2] rntjr갤로그로 이동합니다. 09.12.21 117 0
163633 저녁을_먹고_노곤해진_횽들을_위한_바탕화면_투척.jpg [9] 숙신갤로그로 이동합니다. 09.12.21 149 0
163632 임베디드 개발할때 옆에 끼고 볼만한 책좀 추천해줘요 [8] 구루구루(115.145) 09.12.21 143 0
163631 티맥스 윈도우와 관련해서 울나라 관공서의 앞에 놓인 두가지 경우의 수 [2] 오사카(125.176) 09.12.21 159 0
163629 형들 서양여자얘들 중에 누가 제일 예뻐보여? [5] yundream(211.189) 09.12.21 168 0
163628 윈도 기반에서 아이폰앱 개발하기 [2] Vita500갤로그로 이동합니다. 09.12.21 199 0
163627 정말 혼자있고 싶다. [17] yundream(211.189) 09.12.21 154 0
163626 크리스마스.. [2] CCC(203.237) 09.12.21 78 0
163625 쑤컹쑤컹은 나쁜뜻이 아니다. [2] 개쉛기갤로그로 이동합니다. 09.12.21 1497 0
163622 사람들의 인터넷 커뮤니케이션이 점점 짧고 가벼워지고 있다. [7] 피로토스갤로그로 이동합니다. 09.12.21 140 0
163621 혼자 있고 싶습니다. 모두 나가주세요. [1] Gromit갤로그로 이동합니다. 09.12.21 93 0
163620 님들 컴퓨터학원 어디가 좋아요? [4] ㅁㄵ(218.154) 09.12.21 133 0
163617 objective 우앙ㅋ algo갤로그로 이동합니다. 09.12.21 91 0
163616 여기가 실망했다는 소리를 들은 개쉛기가 있는 프갤인가요? [4] 연화갤로그로 이동합니다. 09.12.21 155 0
163614 봉지라면을 그냥 우걱우걱 씹어 먹었습니다. [6] algo갤로그로 이동합니다. 09.12.21 107 0
163613 공지 추가내용 [3] Vita500갤로그로 이동합니다. 09.12.21 103 0
163612 근데 object oriented가 객체지향이라는 게 정확한 번역일까? [20] 오사카(125.176) 09.12.21 262 0
163611 형들 자바에서 jbutton 누르는 메소드가 뭐야? [3] ㅋㅋㅋㅋ(210.110) 09.12.21 113 0
163610 내가 듣고 있는노래 [1] Vita500갤로그로 이동합니다. 09.12.21 49 0
163609 저 취업했습니다!! [6] 고민남(125.128) 09.12.21 234 0
163608 이게 바로 한국축구에 대한 세계의 인식 [16] ㅎ3(112.222) 09.12.21 219 0
163607 오늘 드디어 **a 더블 포인터를 들어갔다. [8] 어떡해갤로그로 이동합니다. 09.12.21 190 0
163606 오랫만에 보신탕 [4] 유리한갤로그로 이동합니다. 09.12.21 128 0
163605 아놔, 나보고 프로프레임 해보는게 어떠냐고 그러네..ㅋ [10] ㅇㅇ(210.94) 09.12.21 191 0
163604 리눅스, C 함수 질문이요 [1] 수학의정석(115.21) 09.12.21 99 0
163603 물상무 지금 퇴근... [2] 물속의다이아갤로그로 이동합니다. 09.12.21 86 0
163602 너넨 지금 뭔가 단단히 착각하고있는데 [8] 개쉛기갤로그로 이동합니다. 09.12.21 175 0
163601 한쿡은 CEO도 벽돌처럼 찍어낸다능 [4] 오사카(125.176) 09.12.21 154 0
163600 Nujabes - Counting Stars [2] 좇문가갤로그로 이동합니다. 09.12.21 59 0
163598 크리스마스에는 뭐가 동난다? [1] 케케켁켁갤로그로 이동합니다. 09.12.21 117 0
163597 처음 이력서를 써봤는데.txt 숙신갤로그로 이동합니다. 09.12.21 136 0
163595 아주아슬 횽도... [1] Gromit갤로그로 이동합니다. 09.12.21 72 0
163594 사람 앞에 두고 매몰차게 관둔다는 말 하기가 쉽지 않아. [7] 아주아슬갤로그로 이동합니다. 09.12.21 115 0
163593 점심식사_후_노곤해지는_횽들을_위한_눈세척.jpg [1] 숙신갤로그로 이동합니다. 09.12.21 164 0
163592 회사에 지각했다아아아ㅏ [2] Q Lazzarus갤로그로 이동합니다. 09.12.21 99 0
163591 회사서 애니틀어노코 로동하는데 [2] 세브(211.117) 09.12.21 94 0
163590 오늘 솔루션 신규 개발건으로 PM을 하라고 했는데... [12] 물속의다이아갤로그로 이동합니다. 09.12.21 142 0
163589 소프트웨어 디자인은 이쯤되어야 디자인좀 한다고 할수있슴 Vita500갤로그로 이동합니다. 09.12.21 118 0
163588 형들 Capture solution xe 라는 프로그램 어디서구해? [1] 나니아(219.254) 09.12.21 161 0
163587 아이언맨 2 [3] Vita500갤로그로 이동합니다. 09.12.21 107 0
163586 물먹는다이아횽 사직서 쓰는 방법이야~ [4] Gromit갤로그로 이동합니다. 09.12.21 781 1
163585 익스플로러에서 구글 G메일 첨부파일 안 열리자 않음? [2] 오사카(125.176) 09.12.21 171 0
163584 XNA 좋은점 불친절한프로도갤로그로 이동합니다. 09.12.21 81 0
163583 active x 가 문제긴 문제야.. 더러운 빌의 노예들... [6] rntjr갤로그로 이동합니다. 09.12.21 157 0
163582 학교 도서관에서 디씨질 하는게 자랑 [1] JuEUS-U갤로그로 이동합니다. 09.12.21 67 0
163580 오럴컷이 뭡니까?? 오럴컷(210.217) 09.12.21 50 0
163579 캐꼬꼬닭 횽은 봄니다. [2] 이웃집또테러갤로그로 이동합니다. 09.12.21 44 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2