资源简介
代码共包括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计步器
相关资源
- 山东大学编译原理实验源代码c++版
- C++图像伪彩色处理源代码
- C++数字水印完整系统参考
- C++ 多边形边缘填充算法
- 基于socket文件传输的实现源码[C++]
- VC++ MFC 串口通信20个经典源码合集
- MFC莫尔斯电码的编码发声
- C++课程设计五子棋基于Qt4
- C#C++混合编程C#调用非托管C++类
- VC++环境下开发的IEC61850报文发送源代
- 求解VRP问题的C++源程序
- c++文档MSDN详尽版
- 数据结构与算法分析C++语言描述第四
- C++ 拼音输入法
- 用vc++6.0实现的银行账户管理系统
- 数据结构课程实验C++实现的银行系统
- C/C++语言大作业、小游戏
- c++ 帮助手册 chm
- 番茄助手vc++6.0+破解版
- C-C++与数据结构(王立柱清华大学出版
- 基于DirectShow的MFC视频播放器
- Microsoft Visual C++ 2013 Redistributable X64
- 虹膜识别VC++源程序
- C++ MFC ATM系统
- Expert Visual C++_CLI.pdf
- 隐马尔可夫模型C和C++实现
- C++ 程序设计语言 (特别版)答案
- 数学形态学中腐蚀与膨胀的C++实现源
- 《Visual C++ MFC棋牌类游戏编程》配套光
- VC++MFC模拟四部电梯程序
评论
共有 条评论