디시인사이드 갤러리

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

갤러리 본문 영역

링크드리스트 질문

졷뉴비(121.127) 2011.03.24 00:15:56
조회 98 추천 0 댓글 4

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//========================================================================
// 구조체 선언 부분
typedef struct STU
{
 char name[20];    // 이름을 저장할 배열
 int id;    // 학번를 저장할 배열
 struct STU *next;    // 다음 노드를 가리킬 포인터 변수
}STU;

// pHead, pLast 포인터 만들기 (전역 변수임)
STU* pHead = NULL;        // 시작 노드를 가리키는 역할
STU* pLast = NULL;          // 마지막 노드를 가리키는 역할

// 함수 선언 부분
int ShowMenu();        // 메뉴 출력함수 (초기메뉴 출력)
void Insert();           // 1.입력 함수 (이름/학번 추가)
void Delete();                         // 2.삭제 함수 (학번으로 검색)
void Search();                        // 3.검색 함수 (학번으로 검색)
void sort();                          // 4.정렬 함수 (학번순)
void ShowAll();           // 5. 입력된 정보 모두 출력(전체보기)
 
//% 종료함수는 따로 없음.

//========================================================================
int main(void)
{
 int input;
 while(1)
 {
  input = ShowMenu();         // 메뉴 함수 호출
  switch(input)
  {
  case 1:      // 입력 함수 호출
   Insert();
   break;
  
  case 2:      // 삭제 함수 호출
   if(pHead==NULL)
   {
    printf("\\n데이터가 존재하지 않습니다.\\n\\n");
   }
   Delete();
   break;
  
  case 3:      // 검색 함수 호출
   Search();
   break;
  
  case 4:      // 정렬 함수 호출
   break;

  case 5:      // 출력 함수 호출
   ShowAll();
   break;
  case 6:      // 종료
   return 0;
  }
 }

 return 0;
}

 

//메뉴 함수
int ShowMenu()
{
 int input;
 printf("1. 입력 \\n");
 printf("2. 삭제(학번) \\n");
 printf("3. 검색 \\n");
 printf("4. 정렬 \\n");
 printf("5. 출력 \\n");
 printf("6. 종료(초기화) \\n");
 printf("메뉴 : ");
 scanf("%d", &input);
 return input;
}

 

//1. 입력 함수
void Insert()
{
 STU *pNew;
 pNew = (STU *)malloc( sizeof(STU) );  // 구조체 하나 생성

 // 생성된 구조체에 정보를 입력 받는 부분
 printf("== 정보 입력 ==\\n");
 printf("이름 : ");
 scanf("%s", pNew->name);

 printf("학번 : ");
 scanf("%d", &pNew->id);         
 
 pNew->next = NULL;        // 다음노드를 가리키는 포인터 변수 초기화

 // 새로 만든 구조체를 연결하는 부분
 if( pHead == NULL)
 {
  pHead = pNew;
  pLast = pNew;
 }
 else
 {
  pLast->next = pNew;
  pLast = pNew;
 }
}

 

//2. 삭제 함수 (학번으로 검색 후 삭제)
void Delete()                  
{
 int num;
 STU *pIndex;
 pIndex = pHead;

  while(pIndex != NULL)
  {
   printf("학번 : ");
   scanf("%d", &num);

   if(pIndex -> id == num)
   {
    if(pIndex == pHead)
    pHead = pIndex -> next;
    else
    pLast -> next = pLast -> next;
    free(pIndex);
   }
   pLast = pIndex;
   pIndex = pIndex -> next;
  }
}

 


//3. 검색 함수(학번으로 검색)
void Search()
{
 int n;
 STU *pIndex;
 pIndex = pHead;

 if(pIndex==NULL){
  printf("데이터가 존재하지 않습니다.\\n");
 }
 else
 {
  printf("학번 : ");
  scanf("%d", &n);
  while(pIndex != NULL)
  {
   if(pIndex->id == n)
   {
    printf("\\n====================\\n");
    printf("이름 : %s\\n", pIndex->name);
    printf("학번 : %d\\n", pIndex->id);
    printf("\\n====================\\n");
    break;
   }
   pIndex = pIndex->next;
  }
 }
}
//4. 정렬 함수(학번순으로 정렬)

 


//5. 출력 함수(전체 출력)
void ShowAll()
{
 STU *pIndex = pHead;    // 처음 노드를 가리킴

 if(pIndex==NULL){
  printf("데이터가 존재하지 않습니다.\\n");
 }
 
 printf("====================\\n");
 while(pIndex)
 {
  printf("이름 : %s\\n", pIndex->name);
  printf("학번 : %d\\n", pIndex->id);
  
  pIndex = pIndex->next;
 }
 printf("====================\\n");
}



삭제함수랑 정렬함수 모르겠어요 좀도와주세염

추천 비추천

0

고정닉 0

0

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이혼하고 나서 더 잘 사는 것 같은 스타는? 운영자 24/07/08 - -
241914 퀵소드 질문 난나야(218.38) 11.04.03 78 0
241913 형들 프로그래밍할 때 쓰이는 '언어'도 프로그램 아님? [9] 전날의 섬갤로그로 이동합니다. 11.04.03 163 0
241912 글자가 왜 깨지나요? [2] noname(125.183) 11.04.03 56 0
241911 성님들 졸 간단한 리눅스 질문점여 [1] 쿠웰갤로그로 이동합니다. 11.04.03 70 0
241910 니들 이런건 아냐 ? 피식... [6] PciC(125.187) 11.04.03 101 0
241909 성님들아 포인터 변수는 도대체 어떻게 쓰는거임?... [11] 더럽다;;;(219.249) 11.04.03 101 0
241908 ....몇시간을 붙잡고 봐도모르겠는데용. [5] noob(218.144) 11.04.03 117 0
241907 임베디드업에 종사되는 횽들이나, 아니면 공부하고있는 횽들이나 관심있는 횽 [1] 하앍하앍(123.199) 11.04.03 94 0
241906 스트럿츠2가 왜끝나 휘밤! [2] 잏힝(61.255) 11.04.03 80 0
241905 입력받은 행렬을 삼각행렬로 변환하는 알고리즘 아시는분 계신가요? 아오(220.88) 11.04.02 423 0
241904 형들 랩뷰좀 쓰세요 존나 조음여 밥말리(차단2)갤로그로 이동합니다. 11.04.02 105 0
241903 아까 컴파일안된거 소스이긴한데.. [10] 늅늅늅(121.159) 11.04.02 138 0
241902 나는 천재다... [1] 이천재(175.202) 11.04.02 87 0
241901 우왕 스트럿츠 휘바 종나어렵네 [2] 잏힝(61.255) 11.04.02 75 0
241900 C++에서 논리 시프트 하는법 [6] t(121.143) 11.04.02 146 0
241899 이미지 파일을 인위적으로 퀄리티를 낮출수 있나여?? [2] 뇌자알갤로그로 이동합니다. 11.04.02 88 0
241898 여기가 프로그래밍본좌들만 있다는 플갤인가요?? 프로그래밍 질문좀할께요 [2] 돌멩이(14.41) 11.04.02 108 0
241897 형들 컴파일이 안되네... [6] 늅늅늅(121.159) 11.04.02 336 0
241896 잘생긴 프로그래밍 갤러리 횽들 질문있어여 소켓으로 게임만들려하는데여 [5] 꼬꼬마(14.52) 11.04.02 82 0
241895 RFID기술을 활용할 수 있을곳 알려주세요. [8] ㅁㄴㅇㅁㄴㅇ(118.42) 11.04.02 83 0
241894 한글 2007 잘 아는 횽들 나 좀 도와주세요 ㅠㅠ(조공 有) [2] ㅂㅈㄷ(183.108) 11.04.02 231 0
241893 형들 아 모르겠다 [1] ㅊㄱㅊㄴ갤로그로 이동합니다. 11.04.02 67 0
241892 "초기화되지 않은 'z' 지역 변수를 사용했습니다." 가 뭐에여? [26] 김티모갤로그로 이동합니다. 11.04.02 295 0
241891 디씨에 안들어오니 공부가 절로되네 자취생੦ܫ੦갤로그로 이동합니다. 11.04.02 62 0
241890 C언어의 실수형 자료형 double과 float 은 부호가 있나요 없나요 [5] 어두미(118.176) 11.04.02 199 0
241889 아 프갤 몇몇 시발새끼들아 [9] 아씨발꿈(220.87) 11.04.02 191 0
241888 HTML5 하는 횽있어요? 헣ㄱ헉(121.183) 11.04.02 46 0
241887 C++ new & delete 졸라 간단한 소스 질문 하나만ㅜㅜ [13] C++C+맞을듯(118.221) 11.04.02 197 0
241886 공지사항에 알고리즘책 추천은 없는것 같은데 추천좀 해주세요 [2] 새내기(121.189) 11.04.02 111 0
241885 검색좀 해보니까 닷넷이라는건 걍 플랫폼인거 같은데 [2] 밥말리(차단2)갤로그로 이동합니다. 11.04.02 78 0
241884 [ 특 집 ] 이명박 왕시리즈 2.0c [2] 아따(211.202) 11.04.02 110 0
241883 대전사는사람 C_Perl갤로그로 이동합니다. 11.04.02 52 0
241882 변수초기화를 안해줄 경우 스택 오버플로우 런타임 에러가 나는이유는??? 컴돌이(125.188) 11.04.02 93 0
241881 학교컴퓨터가 드디어 교체됬는데 [1] asdfasd(222.239) 11.04.02 70 0
241880 토끼도 화나면 무섭습니다.gif [1] ㅇㅇ(222.107) 11.04.02 137 0
241878 난 학교서 하는 c++수업부터 참 교수법이 구린거같아 [9] [[[[(123.140) 11.04.02 177 0
241876 니들 프로그래밍 안된다고 친구나 아는 사람한테 물어버릇하지 마라 [3] 아따(211.202) 11.04.02 151 0
241874 어떡해 일기 2-22 :: 전자과 탐방기 1부 [7] 어떡해갤로그로 이동합니다. 11.04.02 427 0
241873 형들 이것좀 수정해줘요ㅠㅠ 머리가 갑자기 굳었다. [13] 아씨발꿈(220.87) 11.04.02 253 0
241872 프갤 형들 닷넷 프로그래밍이라는게 머야?? [1] 밥말리(차단2)갤로그로 이동합니다. 11.04.02 110 0
241871 형들 RobotC for mindstorm ㅠㅠ 쉐어웨어..(211.38) 11.04.02 385 0
241868 php html 책 추천 부탁드립니다 [1] asdfasd(222.239) 11.04.02 102 0
241867 정보올림피아드 이따위냐 ㅇㅇ(119.71) 11.04.02 112 0
241864 횽들 C언어 초본데 (->) 연산자 어떠케 하는거야? [3] 횽들 ㅜ(118.221) 11.04.02 95 0
241862 디씨에서 < 를 치면 & lt; 로 나오는 이유가 뭔가요? [3] 1323(124.49) 11.04.02 69 0
241861 오 시팍 문제 해결 오 감사 ㅠㅠ 시언어시파(119.65) 11.04.02 55 0
241859 형들 python 기초적인 질문좀.. [1] 공돌(114.203) 11.04.02 100 0
241857 우리 프로그래밍 갤이잔아 [9] Adelposs갤로그로 이동합니다. 11.04.02 189 0
241856 공부하는데도 컴사양이 좋아야되는건가.. [3] asdfasd(222.239) 11.04.02 93 0
241851 FileSystemObject로 연 파일을 뒤에서부터 읽는 방법 없음? ㅇㅇㅇ(121.144) 11.04.02 107 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2