원형큐인데 좀 봐주세요~
진이
제가 작성한건데요 경고가 뜨면서 안되네요~ 빨간색으로 표시해났습니다~
실행 메뉴는 총 4개
① 입력 (push) : 데이터 삽입
② 삭제 (pop) : 데이터 삭제
③ 보기 (queue의 마지막 인덱스에서 막힘없이 처음 인덱스로 구현되는 모습을 보여주면 댐)
④ 종료 (프로그램 종료)
입력시에 대한 사항 : 메뉴 입력시에 정의 되어 있지 않는 데이터에 대한 오류 검출 기능 추가 요망
보기 에 대한 메뉴 구현은 아래의 규칙을 기본적으로 구현 할것
1) 메뉴 선택시에 하나씩 보여주며, 다음것을 계속 보게 하여, 한바퀴를 돌아서 다시 보게 되게 구현질문 내용 :
#includestdio.h
#includemalloc.h
typedef struct
{
char name[10];
int id;
char number[20];
}element;
typedef struct
{
element item;
struct queuenode *link;
}queuenode;
typedef struct
{
queuenode *front, *rear;
}queuelink;
int count=0;
void error(char *mess)
{
fprintf(stderr,%s\n,mess);
}
void init(queuelink *q)
{
q-front=q-rear=null;
}
int is_empty(queuelink *q)
{
return (q-front==null);
}
void enqueue(queuelink *q,element item)
{
queuenode *temp=(queuenode*)malloc(sizeof(queuenode));
if(temp=null)
error(할당에러);
else if(count9)
error(10초과됐다);
else{
temp-item=item;
temp-link=null;
if(is_empty(q)){
q-front=temp;
q-rear=temp;
count++;
}
else{
q-rear-link=temp; //queuenode*와queuenode*사이의 형식이 호환되지 안된다고 하네요~
q-rear=temp;
count++;
}
}
}
element dequeue(queuelink *q)
{
queuenode *temp=q-front;
element item;
if(is_empty(q))
error(큐가 비어져있습니다);
else{
item=temp-item;
q-front=q-front-link; //queuenode*와queuenode*사이의 형식이 호환되지 안된다고 하네요~
if(q-front==null)
q-rear=null;
count--;
free(temp);
return item;
}
}
int main()
{
queuelink tenq;
int num;
element a;init(&tenq);
while(1)
{
printf(1.입력\n);
printf(2.삭제\n);
printf(3.보기\n);
printf(4.종료\n);
printf(메뉴선택\n);
scanf(%d, &num);
if(num==4)
break;
else if(num==1){
printf(이름 : );
scanf(%s,&a.name);
printf(학번 : );
scanf(%d,&a.id);
printf(전화번호 : );
scanf(%s,&a.number);
enqueue(&tenq,a);
}
else if(num==2){
dequeue(&tenq);
}
else if(num==3){
while(count0){
printf(----------------------------);
printf(%s,tenq.front-item.name);
printf(%d,tenq.front-item.id);
printf(%s,tenq.front-item.number);
printf(----------------------------);
tenq.front=tenq.front-link; //queuenode*와queuenode*사이의 형식이 호환되지 안된다고 하네요~
count--;
}
}
else
printf(잘못입력했습니다);
}
return 0;
}
-
발랄한그1녀
typedef struct == typedef struct _queuenode
{
element item;
struct queuenode *link; == struct _queuenode *link;
}queuenode;
void enqueue(queuelink *q,element item)
{
queuenode *temp=(queuenode*)malloc(sizeof(queuenode));
if(temp=NULL) == if(temp
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752142 | 더블 포인터 관련 최대최소값 구하기 (2) | 풀잎 | 2026-10-21 |
| 2752115 | c언어 이상한질문 (4) | 모드니 | 2026-10-21 |
| 2752085 | 문자열을 랜덤하게 출력해서 대체,삽입,삭제 횟수를 각가 표시하고 그걸 표 형태로 출력 | 슬아s | 2026-10-20 |
| 2752056 | 포인터 && 배열 질문요~ (2) | 해찬나래 | 2026-10-20 |
| 2752031 | x^n 구하는 코드 짜봤는데 값이 틀려요 ㅠㅠ | 세실 | 2026-10-20 |
| 2752000 | 나 정말 미치겠어요..ㅠㅜ (4) | 다이 | 2026-10-20 |
| 2751978 | 문자열 질문이요.. | 초시계 | 2026-10-19 |
| 2751945 | 숫자 맞추는 프로그램이요 ㅠㅠ (1) | 동은 | 2026-10-19 |
| 2751917 | C언어 이중 연결 관련 질문합니다. | 유우 | 2026-10-19 |
| 2751888 | return의 정확한 의미좀 알려주세요 (3) | 올해1살 | 2026-10-19 |
| 2751857 | 포인터 배열 (2) | 터큰 | 2026-10-18 |
| 2751831 | 연산자? 질문입니다 (2) | 진주 | 2026-10-18 |
| 2751800 | C언어 기초질문입니다.. (3) | 핫블랙 | 2026-10-18 |
| 2751739 | 파일 출력을 구조체로 받을 때, 파일의 끝을 판별하는 방법을 알려주세요. (2) | 얼 | 2026-10-17 |
| 2751715 | unresolved external symbol 에러... | 이룩 | 2026-10-17 |
| 2751686 | 변수 설정에 관한 질문입니다. | 꽃달 | 2026-10-17 |
| 2751655 | 자료구조 연습문제 | 한무릎 | 2026-10-17 |
| 2751631 | gets 함수 질문이요. (4) | 해늘 | 2026-10-16 |
| 2751553 | 퀵정렬 소스인데 주석좀 달아주세요 (1) | 싴흐한세여니 | 2026-10-16 |
| 2751528 | 저기 이거하는법좀 질문.. (2) | 가람슬기 | 2026-10-15 |
