资源简介
代码共包括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++获取计算机的CPU ID,硬盘序列号等
- C++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 手机话费管理系统(c语言编写)
- c语言程序设计报告 程序大全
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- Arduino 敲琴MIDI电子琴 程序报告.docx
- 颜色识别形状识别STM103嵌入式代码
- 实验报告:数据结构长整数四则运算
川公网安备 51152502000135号
评论
共有 条评论