資源簡介
代碼共包括6個實驗,(一、二)即面向過程的整型棧編程、(三)整型棧運算符重載編程、(四)面向對象的循環整型隊列編程、(五)聚合對象的整型隊列編程、(六)繼承對象的整型隊列編程,文件中另包含實驗6的課程報告

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
struct?STACK?{
int??*elems; //申請內存用于存放棧的元素
int???maxNum; //棧能存放的最大元素個數
int???pos; //棧實際已有元素個數,棧空時pos=0;
};
void?initSTACK(STACK?*const?p?int?m); //初始化p指向的棧:最多m個元素
void?initSTACK(STACK?*const?p?STACK?*?const?s);?//用棧s初始化p指向的棧
int??sizeNum(const?STACK?*const?p); //返回p指向的棧的最大元素個數max
int??howMany(const?STACK?*const?p); //返回p指向的棧的實際元素個數pos
int??getelem(const?STACK?*const?p?int?x); //取下標x處的棧元素
STACK?*const?push(STACK?*const?p?int?e);? //將e入棧,并返回p
STACK?*const?pop(STACK?*const?p?int?*e);? //出棧到e,并返回p
STACK?*const?assignValue(STACK*const?p?STACK?*const?s);?//賦s給p指的棧并返回p
void?print(const?STACK*const?p); //打印p指向的棧
void?destroySTACK(STACK*const?p); //銷毀p指向的棧
FILE?*fp;
int?main(int?argc?char?*?argv[])
{
int?err;
if?((err?=?fopen_s(&fp“U201414596_1““w“))?!=?0)?{
printf(“Cannot?open?file?strike?any?key?exit!“);
getchar();
}
if?(argc?==?1)
{
struct?STACK?*pStack?=?(struct?STACK?*)malloc(sizeof(struct?STACK));
struct?STACK?*sStack?=?(struct?STACK?*)malloc(sizeof(struct?STACK));
initSTACK(sStack?5);
push(sStack?4);
push(sStack?7);
push(sStack?6);
push(sStack?1);
push(sStack?3);
push(sStack?4);
int?operate?=?1;??//操作序號?在0-12之間
int?isInitial?=?0;?//判斷棧是否存在
int?maxNum;
int?e;
int?temp;
int?input;
while?(operate)?{
system(“cls“);
printf(“\n\n“);
printf(“????歡??迎??使??用??順??序??線??性??表??菜??單?\n“);
printf(“-------------------------------------------------\n“);
printf(“???? ??1.?初始化棧P????????????7.?將一個數出棧到e\n“);
printf(“???? ??2.?從棧S初始化棧P???????8.?賦s給p指向的棧\n“);
printf(“???? ??3.?棧元素的最大個數?????9.?打印p指向的棧?\n“);
printf(“???? ??4.?棧中實際元素個數?????10.?銷毀p指向的棧\n“);
printf(“???? ??5.?取下標為x的棧元素???????????????????\n“);
printf(“???? ??6.??輸入一個數并入棧????0.?退出????????\n“);
printf(“-------------------------------------------------\n“);
printf(“????請選擇你的操作[0~11]:“);
scanf_s(“%d“?&operate);
switch?(operate)
{
case?1:
//InitStack
if?(isInitial?==?0)
{
printf(“\n\t請輸入棧的大小:“);
scanf_s(“%d“?&maxNum);
initSTACK(pStack?maxNum);
isInitial?=?1;
printf(“\n\t新建棧成功,棧的大小為%d\n“?maxNum);
}
else
{
printf(“\n\t棧已經被創建\n“);
}
getchar();
printf(“\n\t\t(按任意鍵繼續……)\n“);
getchar();
break;
case?2:
//initSTACK:S-P
if?(isInitial)printf(“\n\t棧p已經初始化!“);
else
{
initSTACK(pStack?sStack);
printf(“\n\t成功從棧s新建棧p“);
}
getchar();
printf(“\n\t\t(按任意鍵繼續……)\n“);
getchar();
break;
case?3:
//sizeNum
if?(!isInitial)printf(“\n\t棧p不存在!“);
else
{
temp?=?sizeNum(pStack);
printf(“\n\t該棧的最大容量是%d“?temp);
}
getchar();
printf(“\n\t\t(按任意鍵繼續……)\n“);
getchar();
break;
case?4:
//howMany
if?(!isInitial)printf(“\n\t棧p不存在!“);
e
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????12145??2017-10-29?20:43??U201414596\U201414596_1\U201414596_1.cpp
?????文件??????47104??2017-10-29?20:35??U201414596\U201414596_1\U201414596_1.exe
?????文件??????11381??2017-11-08?21:00??U201414596\U201414596_2\U201414596_2.cpp
?????文件??????55808??2017-11-05?10:27??U201414596\U201414596_2\U201414596_2.exe
?????文件??????11315??2017-11-08?20:55??U201414596\U201414596_3\U201414596_3.cpp
?????文件??????56832??2017-11-05?11:49??U201414596\U201414596_3\U201414596_3.exe
?????文件??????11577??2017-11-09?19:21??U201414596\U201414596_4\U201414596_4.cpp
?????文件??????57344??2017-11-09?19:19??U201414596\U201414596_4\U201414596_4.exe
?????文件??????13885??2017-11-09?21:55??U201414596\U201414596_5\U201414596_5.cpp
?????文件??????61952??2017-11-09?21:55??U201414596\U201414596_5\U201414596_5.exe
?????文件??????16531??2017-11-23?21:45??U201414596\U201414596_6\U201414596_6.cpp
?????文件??????69120??2017-11-23?20:26??U201414596\U201414596_6\U201414596_6.exe
?????文件????1086900??2017-11-23?21:52??U201414596\U201414596_6\U201414596_6_盧振興.doc
?????文件????1086900??2017-11-23?21:52??U201414596\U201414596_6_盧振興.doc
?????目錄??????????0??2017-11-23?21:56??U201414596\U201414596_1
?????目錄??????????0??2017-11-23?21:56??U201414596\U201414596_2
?????目錄??????????0??2017-11-23?21:56??U201414596\U201414596_3
?????目錄??????????0??2017-11-23?21:57??U201414596\U201414596_4
?????目錄??????????0??2017-11-23?21:57??U201414596\U201414596_5
?????目錄??????????0??2017-11-23?21:58??U201414596\U201414596_6
?????目錄??????????0??2017-11-23?21:58??U201414596
-----------?---------??----------?-----??----
??????????????2598794????????????????????21
- 上一篇:山東大學編譯原理實驗源代碼c++版
- 下一篇:STM32_GY25Z計步器
評論
共有 條評論