목차
1. Source Code
2. 출력결과
3. 출력파일
2. 출력결과
3. 출력파일
본문내용
f(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
소개글