디시인사이드 갤러리

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

갤러리 본문 영역

Pretty Print

algo갤로그로 이동합니다. 2009.12.09 19:00:45
조회 59 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
271012 읔...기운이없다.. Agangs갤로그로 이동합니다. 11.09.09 27 0
271011 아이돌 발라버리는 甲군단 ㅋㅋ 갑신(58.127) 11.09.09 79 0
271010 자료구조의 스택과, 메모리구조의 스택은 다른거에요? 답변해주면 당신은 [5] 좆대딩.갤로그로 이동합니다. 11.09.09 68 0
271009 '나는 프로그래머다' 이런거 안하냐? [4] ㅇㅇㅇ(121.144) 11.09.09 124 0
271008 내가 예언을 하나 하지 [1] 분당살람갤로그로 이동합니다. 11.09.09 67 0
271007 ㅄ쉑이 5줄코딩하고 crtl + s 누르는건 본능아니냐? [2] 쵸쵸(219.251) 11.09.09 81 0
271005 확실히 C++을 보고나서 JAVA를 보니까... 좋다.. [4] arduous갤로그로 이동합니다. 11.09.09 127 0
271003 한마디로 개발자는 호구다. 쵸쵸(219.251) 11.09.09 91 0
271002 빡세게 일병처럼 일해서 얻는 건 몬데? ㅋㅋㅋ 쵸쵸(219.251) 11.09.09 57 0
271001 기획자에게 정년이란 없다. 쵸쵸(219.251) 11.09.09 55 0
271000 야이 쉬발~!~!~! [7] 좃대딩(203.249) 11.09.09 77 0
270998 삼성 전자 신입 채용공고 (118.176) 11.09.09 232 0
270995 리눅스 초보가 질문좀 할께요ㅜㅜ [3] 촙오(220.70) 11.09.09 74 0
270994 그러다가 어느 순간에 (훅 간다) <- 이거 번역 좀 해줘봐. [1] ㄹㅇㄴㅁㄹㄴ(183.98) 11.09.09 53 0
270993 맥북으로 프로그래밍 하려면 에어로도 충분한가요? [1] 꼬비갤로그로 이동합니다. 11.09.09 290 0
270991 불쌍한 중생 구해주세요 (구해주면 당신은 원빈) [5] 좃대딩(203.249) 11.09.09 85 0
270990 프로그래머 수명이 35세라면 [2] 116.44(59.30) 11.09.09 152 0
270989 언어는 도구일뿐이고, 그 도구로 작품을 만들어내는게 기획자다. [3] 쵸쵸(219.251) 11.09.09 79 0
270988 자바가상머신 [4] 호솽갤로그로 이동합니다. 11.09.09 117 0
270986 공부도안되고 술이나마시고싶다 [1] Agangs갤로그로 이동합니다. 11.09.09 86 0
270985 안철수 신드롬 막을라고 강호동만 죽어나네 ㅋㅋㅋ [2] 쵸쵸(219.251) 11.09.09 119 0
270984 님들 오늘 드디어 슈스케 하는날이에여 퀴퀴 [1] SuCo갤로그로 이동합니다. 11.09.09 43 0
270982 강호동 오늘 기자회견 한다드만 연예계 잠정 은퇴선언 [5] SuCo갤로그로 이동합니다. 11.09.09 84 0
270981 어제 친구하고 술마시다가 나온 야긴데 [3] 어떡해갤로그로 이동합니다. 11.09.09 94 0
270980 어차피 프로그래머는 노예 아닌가요? [5] 초천재획커(219.251) 11.09.09 147 0
270979 다들 퇴근은 했음? Rei@디씨갤로그로 이동합니다. 11.09.09 45 0
270978 책이나 알려주삼 [1] EvilAngel갤로그로 이동합니다. 11.09.09 58 0
270977 이민가면 정말로 희망찬 미래가 꽃핌? [1] ㅇㅇ(61.77) 11.09.09 121 0
270976 프겔이 정전이라는건 한국의 it가 정전 [2] 거칠게갤로그로 이동합니다. 11.09.09 83 0
270975 컴퓨터가 발달해서 인간이 할일이없네 [4] ㅇㅇ(61.77) 11.09.09 110 0
270974 대학교 전산직이 대기업보다 좋다 [3] 거칠게갤로그로 이동합니다. 11.09.09 246 0
270973 아이폰 디시앱은 왜이리 병진같냐?? [5] 거칠게갤로그로 이동합니다. 11.09.09 91 0
270972 뭐? 푼명? 프풋? y녀6디리(220.118) 11.09.09 53 0
270971 핡 이거 어케 없애냐 [4] Deanex갤로그로 이동합니다. 11.09.09 47 0
270969 추석보너스로 급여의 30%가 나왔다..ㅋㅋ [3] 이문동쮸쮸바갤로그로 이동합니다. 11.09.09 114 0
270968 프로그래머수명이 35? [9] Agangs갤로그로 이동합니다. 11.09.09 398 0
270967 내 동기 내일 정시 출근함!!ㅋㅋㅋㅋ [2] Deanex갤로그로 이동합니다. 11.09.09 52 0
270966 여기에 너네 이름도 올려야 하지 않겠는가! [2] 이문동쮸쮸바갤로그로 이동합니다. 11.09.09 50 0
270965 리눅스 기초적인거 질문좀 [8] ㅇㅇ(219.251) 11.09.09 82 0
270964 너희들은 매 좀 마자야 됨 [5] 분당살람갤로그로 이동합니다. 11.09.09 99 0
270963 졸업작품으로 앱개발은 영 아니다. [7] 컴공잉여(125.182) 11.09.09 518 0
270962 프로그램 엔지니어로 연봉1억 받지 않냐. [4] 컴공잉여(125.182) 11.09.09 244 0
270961 프로그래밍을 하고 싶다고!!! 프로그래밍!!! 프로그래밍 말이야!!! [4] 천재해커(59.14) 11.09.09 167 0
270960 아싸 퇴근 [2] 쿄스케갤로그로 이동합니다. 11.09.09 43 0
270959 천재해커의 자기소개서 전략 수정. [8] 천재해커(59.14) 11.09.09 210 0
270958 난 아직 늦지 않았다 [2] y녀6디리(220.118) 11.09.09 66 0
270957 안드로이드 sdk 좌표점 ㅠㅠ 받아야되는데 [6] Light search갤로그로 이동합니다. 11.09.09 82 0
270954 이거 해결책좀 알려주실분 ㅠㅠ [6] 용개(110.11) 11.09.09 83 0
270953 해킹범 개객기들 때문에 오늘 하루종일 전화 받고있다. [3] Leviticustom갤로그로 이동합니다. 11.09.09 81 0
270952 아 사수님 집에 가셨네 [15] 좋은아버지갤로그로 이동합니다. 11.09.09 137 0
뉴스 '1박 2일' 이준, 육·해·공 초월 '리얼 로드 야생'에 대만족 "'1박 2일'은 하드코어야!“ 디시트렌드 07.01
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2