목차
1. Source Code
2. 출력결과
3. 출력파일
2. 출력결과
3. 출력파일
본문내용
if(i==9)
cout<<\"\\nStack entry is end and all entry item is deleted.\";
}
else
{
cout<<\"\\nStack entry is end and all entry item is deleted.\";
break;
}
}
}
else cout<<\"\\nYour Selection is wrong, press 1, 2 or 0.\";
}
cout<<\"\\nAll action will be terminate.\";
}
void queue()
{
clrscr();
char ch, *fin_file, *fout_file;
int menu_select;
for(;;)
{
cout<<\"\\n\";
cout<<\"\\n< Queue Menu >\";
cout<<\"\\n1. Input data from file to queue\";
cout<<\"\\n2. View queue entry status\";
cout<<\"\\n3. Add new Data\";
cout<<\"\\n4. Delete Data\";
cout<<\"\\n5. Write queue entries to file.\";
cout<<\"\\n0. Exit and Go upper Menu\";
cout<<\"\\nYour Selection : \";
cin>>menu_select;
if(menu_select==0) break;
else if(menu_select==1)
{
int i=0, j=0, temp=0, insert_data=0;
char str[10][5];
cout<<\"\\nEnter data file name : \";
cin>>fin_file;
ifstream fin;
fin.open(fin_file);
for(i=0 ; i<10 ; i++)
for(j=0 ; j<5 ; j++) fin.get(str[i][j]);
for(i=0; i<10 ; i++)
{
for(j=0 ; j<5 ; j++)
{
if(j==0 && str[i][0] != \' \')
temp += ((int)(str[i][0] - \'0\'))*10000;
else if(j==1 && str[i][1] != \' \')
temp += ((int)(str[i][1] - \'0\'))*1000;
else if(j==2 && str[i][2] != \' \')
temp += ((int)(str[i][2] - \'0\'))*100;
else if(j==3 && str[i][3] != \' \')
temp += ((int)(str[i][3] - \'0\'))*10;
else if(j==4 && str[i][4] != \' \')
temp += (int)(str[i][4] - \'0\');
}
insert_data = temp;
temp = 0;
if(q.isfull() == 0)
{
q.insertQ(insert_data);
cout<<\"\\nFace \"< }
else
{
cout<<\"\\nError, entry item\'s number is not enough or unknown error.\";
break;
}
}
fin.close();
}
else if(menu_select==2) q.queue_status();
else if(menu_select==3)
{
int temp=0;
cout<<\"\\nEnter data that you want to add : \";
cin>>temp;
if(q.isfull()==0)
{
q.insertQ(temp);
cout<<\"\\nEntered data is added into the queue Successfully.\";
}
else cout<<\"\\nAdd action is failed, perheps now queue is full, entered data is lost.\";
}
else if(menu_select==4)
{
cout<<\"\\nWarning! Front data of queue entry will be delete.\";
if(q.isempty()==0) q.deleteQ();
else cout<<\"\\nDelete action is failed, perheps now queue is empty.\";
}
else if(menu_select==5)
{
int i=0;
cout<<\"\\nEnter result file name : \";
cin>>fout_file;
ofstream fout;
fout.open(fout_file);
for(i=0 ; i<10 ; i++)
{
if(q.isempty()==0)
{
if(q.status_output(i)==0) fout<<\"Empty\"<
else fout<
cout<<\"\\nEntry [\"<
}
else
{
cout<<\"\\nQueue entry is end and all entry item is deleted.\";
break;
}
}
}
else cout<<\"\\nYour Selection is wrong, press 1, 2 or 0.\";
}
cout<<\"\\nAll action will be terminate.\";
}
2. 출력결과
< 메인 메뉴 화면 >
< Stack을 선택한 경우의 Stack 메뉴 >
< 파일에서 Stack 으로 데이터를 입력받는 화면 >
< 현재의 Stack 의 내용을 출력하는 화면 >
< Stack 에서 한 원소를 삭제한 화면 >
< Stack 에 한 원소를 삽입한 화면 >
< Stack 의 내용을 파일로 출력하는 화면 >
< 메인메뉴에서 Queue를 선택한 화면 >
< Queue 의 현재 내용을 출력하는 화면 >
< Queue에서 두 개의 원소를 삭제한 화면 >
< Queue 에 한 원소를 삽입한 화면 >
< Queue 의 내용을 파일로 출력하는 화면 >
3. 출력파일
<2.dat> : Stack 출력 파일
99
95
73
71
74
43
96
85
25
24
<3.dat> : Queue 출력 파일
99
Empty
25
85
96
43
74
71
73
95
cout<<\"\\nStack entry is end and all entry item is deleted.\";
}
else
{
cout<<\"\\nStack entry is end and all entry item is deleted.\";
break;
}
}
}
else cout<<\"\\nYour Selection is wrong, press 1, 2 or 0.\";
}
cout<<\"\\nAll action will be terminate.\";
}
void queue()
{
clrscr();
char ch, *fin_file, *fout_file;
int menu_select;
for(;;)
{
cout<<\"\\n\";
cout<<\"\\n< Queue Menu >\";
cout<<\"\\n1. Input data from file to queue\";
cout<<\"\\n2. View queue entry status\";
cout<<\"\\n3. Add new Data\";
cout<<\"\\n4. Delete Data\";
cout<<\"\\n5. Write queue entries to file.\";
cout<<\"\\n0. Exit and Go upper Menu\";
cout<<\"\\nYour Selection : \";
cin>>menu_select;
if(menu_select==0) break;
else if(menu_select==1)
{
int i=0, j=0, temp=0, insert_data=0;
char str[10][5];
cout<<\"\\nEnter data file name : \";
cin>>fin_file;
ifstream fin;
fin.open(fin_file);
for(i=0 ; i<10 ; i++)
for(j=0 ; j<5 ; j++) fin.get(str[i][j]);
for(i=0; i<10 ; i++)
{
for(j=0 ; j<5 ; j++)
{
if(j==0 && str[i][0] != \' \')
temp += ((int)(str[i][0] - \'0\'))*10000;
else if(j==1 && str[i][1] != \' \')
temp += ((int)(str[i][1] - \'0\'))*1000;
else if(j==2 && str[i][2] != \' \')
temp += ((int)(str[i][2] - \'0\'))*100;
else if(j==3 && str[i][3] != \' \')
temp += ((int)(str[i][3] - \'0\'))*10;
else if(j==4 && str[i][4] != \' \')
temp += (int)(str[i][4] - \'0\');
}
insert_data = temp;
temp = 0;
if(q.isfull() == 0)
{
q.insertQ(insert_data);
cout<<\"\\nFace \"< }
else
{
cout<<\"\\nError, entry item\'s number is not enough or unknown error.\";
break;
}
}
fin.close();
}
else if(menu_select==2) q.queue_status();
else if(menu_select==3)
{
int temp=0;
cout<<\"\\nEnter data that you want to add : \";
cin>>temp;
if(q.isfull()==0)
{
q.insertQ(temp);
cout<<\"\\nEntered data is added into the queue Successfully.\";
}
else cout<<\"\\nAdd action is failed, perheps now queue is full, entered data is lost.\";
}
else if(menu_select==4)
{
cout<<\"\\nWarning! Front data of queue entry will be delete.\";
if(q.isempty()==0) q.deleteQ();
else cout<<\"\\nDelete action is failed, perheps now queue is empty.\";
}
else if(menu_select==5)
{
int i=0;
cout<<\"\\nEnter result file name : \";
cin>>fout_file;
ofstream fout;
fout.open(fout_file);
for(i=0 ; i<10 ; i++)
{
if(q.isempty()==0)
{
if(q.status_output(i)==0) fout<<\"Empty\"<
else
{
cout<<\"\\nQueue entry is end and all entry item is deleted.\";
break;
}
}
}
else cout<<\"\\nYour Selection is wrong, press 1, 2 or 0.\";
}
cout<<\"\\nAll action will be terminate.\";
}
2. 출력결과
< 메인 메뉴 화면 >
< Stack을 선택한 경우의 Stack 메뉴 >
< 파일에서 Stack 으로 데이터를 입력받는 화면 >
< 현재의 Stack 의 내용을 출력하는 화면 >
< Stack 에서 한 원소를 삭제한 화면 >
< Stack 에 한 원소를 삽입한 화면 >
< Stack 의 내용을 파일로 출력하는 화면 >
< 메인메뉴에서 Queue를 선택한 화면 >
< Queue 의 현재 내용을 출력하는 화면 >
< Queue에서 두 개의 원소를 삭제한 화면 >
< Queue 에 한 원소를 삽입한 화면 >
< Queue 의 내용을 파일로 출력하는 화면 >
3. 출력파일
<2.dat> : Stack 출력 파일
99
95
73
71
74
43
96
85
25
24
<3.dat> : Queue 출력 파일
99
Empty
25
85
96
43
74
71
73
95
소개글