원형큐인데 좀 봐주세요~
진이
제가 작성한건데요 경고가 뜨면서 안되네요~ 빨간색으로 표시해났습니다~
실행 메뉴는 총 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
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |
2675172 | 소스점 | 아이뻐 | 2024-11-15 |
2675146 | 단순 연결 리스트인데 출력결과가 이상하게 나와요. | 찬늘봄 | 2024-11-15 |