디시인사이드 갤러리

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

갤러리 본문 영역

그냥 2분정도 소스파일 설명 할건데..

레알옹갤로그로 이동합니다. 2009.12.09 19:10:03
조회 1558 추천 0 댓글 8

#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;
 }
}

 

진짜 이거 2분정도 설명할수있는 대본좀 만들어주실 횽아구합니다...ㅈㅔ발 어린중생 한명 구한다 치고 ㅠㅠ
아 참고로 이건 자신이 추가한 학번,성적,이름을 전체보기로 볼수도 있고 삭제도 할수있는 프로그램 ㅎ

추천 비추천

0

고정닉 0

0

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
162599 1월 15일... 얼마 안남았다... [2] 물속의다이아갤로그로 이동합니다. 09.12.15 84 0
162597 동생 하의는 어디에.. 완전판 [2] Vita500갤로그로 이동합니다. 09.12.15 183 0
162596 NaDa 횽은 봅니다. 숙신갤로그로 이동합니다. 09.12.15 65 0
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 197 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
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2