절대로 짜달라거나 그런거 아냐..ㅜ
코딩은 다했는데..
컴파일 오류가 떠서...
뭐가 문제인지 모르겠어서 도움을 청하는거ㅜ
지금 내가 조공 올릴 상황이 아니라 지금은 못올리구..
이따 내가 조공 달릴게 ㅜ
해결해 달라는 것도 아니구..조언 만 좀 부탁할께 ㅜ
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node{
char day[2];
struct node *link;
} Node;
Node *h;
void set_head(){
h=(Node*)malloc(sizeof(Node*));
h->link=NULL;
}
void addNode(char *ch){
Node* temp,*p;
p = h;
temp = (Node)malloc(sizeof(Node));
while(p->link != NULL) {
p = p -> link;
}
p->link = temp;
temp->link = NULL;
temp->day = *ch;
return;
}
Node searchNode(char *ch){
Node* p;
p = h;
while(p->day != *ch){
if(p->link == NULL)
return NULL;
p = p -> link;
}
return p;
}
void printNode(){
Node* p;
p = h;
printf(" L = (");
while(p->link != NULL){
printf("%3s",p->day);
p = p->link;
}
printf(" )");
}
void insertNode(void){
Node *search, *p;
char ch[2];
search=NULL;
while(search == NULL){
printf("삽입 할 곳 이전 문자를 입력해주십시오:");
scanf("%s",ch);
search = searchNode(ch);
if(search == NULL)
printf("해당 문자가 없습니다. 재입력 해주십시오\n");
}
p = (Node)malloc(sizeof(Node));
printf("\n해당 데이터에 입력할 문자를 입력해 주십시오 :");
scanf("%s", ch);
p->day = ch;
p->link = search->link;
search->link = p;
return;
}
void deleteNode(Node* T){
Node *be, *p;
p = h;
while(p->link != T){
if(p->link == NULL) return NULL;
p = p ->link;
}
be = p;
be->link = T->link;
return;
}
void main(){
char ch[2];
Node *p;
set_head();
addNode("월");
addNode("화");
addNode("수");
addNode("금");
addNode("토");
addNode("일");
printNode();
insertNode();
printf("주소를 알고 싶은 요일을 입력해 주십시오");
scanf("%s", ch);
p = searchNode(ch);
if( p == NULL){
printf("해당하는 문자열이 없습니다.\n");
}else{
printf("찾으신 요일의 주소는 %d 입니다.\n\n",p);
}
printf("삭제하고 싶은 요일을 입력해 주십시오:");
scanf("%s", ch);
p=searchNode(ch);
if( p == NULL){
printf("해당하는 문자열이 없습니다.\n");
}else{
deleteNode(p);
}
printf("삭제되었습니다.\n");
printNode();
}
단순열결 리스트를 이용한 검색, 삽입, 삭제를 하는 프로그램이야..
힘들게 코딩 했는데...안되고..할수록 늘어나는 건 컴파일 에러라...
정말 힘드네 ㅜ 나의 길잡이가 되죠 형들 ..ㅜ
컴파일 오류 스샷 찍은게 안보이네..ㅜ
Error E2110 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 31: Incompatible type conversion in function addNode
Error E2277 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 38: Lvalue required in function addNode
Warning W8057 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 41: Parameter \'ch\' is never used in function addNode
Warning W8069 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 57: Nonportable pointer conversion in function searchNode
Error E2110 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 59: Incompatible type conversion in function searchNode
Error E2110 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 62: Incompatible type conversion in function searchNode
Error E2096 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 98: Illegal structure operation in function insertNode
Error E2110 G:\\Edit Plus\\chap05\\과제\\chap05_4_7_8.c 102: Incompatible type conversion in function insertNode
day는 배열이고 ch는 문자열 포인터인데 day=*ch 가 된다고 생각해? 에러에 다 써있네
.형.고.마워 ㅠ 맞는 말이네 ㅠ 수정해볼께 ㅠ 고마우ㅓ형
껄껄껄 자기참조 구조체 하는군하..
자료구조에서 링크드리스트 배우는 중이라서... 군대갔다와서 다시하려니 정말 머리 빠개지겟어...
내가 보기에는 접근 방법이 잘못된듯하다, 처음부터 저렇게 복잡한 구현을 하지 말고, 이해에 필요한 최소한의부분만을 보고 나서 이해를 하면 하나 하나 살을 덧 대가면서 해봐