큐 질문점요
마루
질문 제목 : 큐 질문입니다.질문 요약 :우선 출력이 안되고요 어떻게 만지면 출력은 되는데 출력값이 이상하네요;;
여기다 올리는건 출력이 안되는거에요 ㅠ ㅠ
질문 내용 :
좀 도와주세요 ㅠ
#include stdio.h
#define MAX_QUEUE_SIZE 6
#define ERROR 1000000L
int queue[MAX_QUEUE_SIZE];
int rear = 0;
int front = 0;
typedef struct {
int product_catagory;
int product_name;
int product_serial_no;
}product_str;
void addq(product_str item);
product_str deleteq();
void queue_print();
void main()
{
product_str data1;
data1.product_catagory=1;
data1.product_name=10;
data1.product_serial_no=10;
addq(data1);
queue_print();
data1.product_catagory=2;
data1.product_name=20;
data1.product_name=30;
addq(data1);
queue_print();
product_str deleteq();
queue_print();
}
void addq(product_str item)
{
int new_rear;
product_str data2;
new_rear = (rear+1) % MAX_QUEUE_SIZE;
if(front == new_rear)
{
printf(큐가가득찼습니다.\n);
return;
}
rear = new_rear;
data2 = item;
}
product_str deleteq()
{
product_str data3;
if(front == rear)
{
printf(큐가비어있습니다.\n);
ERROR;
}
front = (front+1) % MAX_QUEUE_SIZE;
data3=queue[front];//여기가 안되는건 알겠는데.. 멀 어떻게 해야 될지 감이 안잡힙니당 ㅠ ㅠ
return data3;
}
void queue_print()
{
product_str p;
printf(front = %d\t rear = rear ,front,rear);
printf(Queue에 현재 들어있는 데이터\n);
printf(catagory = %d\t, name = %d\t, serial_no = %d\n,p.product_catagory,p.product_name,p.product_serial_no );
}
-
발랄한그1녀
아 수정이요 원형큐를 하셔도 큐가 찼는지 비었는지 체크해야겠군요..
데이터가 풀이면 더이상 못들어가게 해야 데이터가 남아있을테니까요.. -
핫블랙
ㅇ ㅏ 감사합니다 ^^ ; 수다님이 댓글 달아 주신거랑 책 이리 저리 뒤져가면서 해서 어떻게 했네요 ^^ 감사해요 ㅎ
-
도널드
기능적인 면에서만 도움을 드린거지 세세한 코딩방법에 대해서는 관여를 안했습니다. 참조하세요..
-
한지잠
감잡게 도와드립니다.
전역 변수 중 queue 라는 배열은 구조체 배열이 되야 맞겠죠 현재 int 로 되어있네요.
addq() 에서는 rear 값으로 데이터를 저장하고 deleteq() 에서는 front 값으로 데이터를 지워야겠죠..
그리고 queue_print() 에서는 큐 전체 리스트를 보여주는 것이 좋겠네요. 루프를 돌려서 front 와 rear 변수로 적절히 사용하심 되겠구요.
마지막으로 MAX_QUEUE_SIZE 를 나눈 나머지를 쓰는 걸로 보
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |