• 大小: 37.83MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-24
  • 语言: C/C++
  • 标签: C++  

资源简介

2018华中科技大学C++实验。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
using namespace std;
struct STACK {
int  *elems; //申请内存用于存放栈的元素
int   max; //栈能存放的最大元素个数
int   pos; //栈实际已有元素个数,栈空时pos=0;
};
void initSTACK(STACK *const p int m); //初始化p指向的栈:最多m个元素
void initSTACK(STACK *const p const STACK&s); //用栈s初始化p指向的栈
int  size(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 assign(STACK*const p const STACK&s); //赋s给p指的栈并返回p
void print(const STACK*const p); //打印p指向的栈
void destroySTACK(STACK*const p); //销毁p指向的栈
FILE *fout;
int main(int argc char *argv[])
{
struct STACK *p = new STACK;
struct STACK *s = new STACK;
int i;
int e;
int itemp;
int init = 0;
if(!(fout = fopen(“U201614795.txt““w“)))
{
printf(“Cannot open file strike any key exit!“);
getchar();
}
for(i = 1;i < argc;i++)
{
if(!strcmp(argv[i]“-S“))
{
printf(“S  “);
fputs(“S  “ fout);
if (init == 1)
{
printf(“E  “);
fputs(“E  “ fout);
break;
}
if (argv[i + 1][0] >= ‘0‘ && argv[i + 1][0] <= ‘9‘)
{
itemp = atoi(argv[++i]);
initSTACK(p itemp);
fprintf(fout “%d  “ itemp);
printf(“%d  “ itemp);
init = 1;
}
else {
printf(“E  “);
fputs(“E  “ fout);
break;
}
}
if(!strcmp(argv[i]“-I“))
{
printf(“I  “);
fputs(“I  “fout);
if (init == 0)
{
printf(“E  “);
fputs(“E  “ fout);
exit(0);
}
i++;

for (; (i < argc) && (argv[i][0] >= ‘0‘) && (argv[i][0] <= ‘9‘); i++)
{
itemp = atoi(argv[i]);
int stackpos = howMany(p);
int stackmax = size(p);
if (stackpos == stackmax)
{
printf(“E  “);
fputs(“E  “ fout);
exit(1);
}
push(p itemp);
}
print(p);
i--; //进入下一轮for循环,否则不能再次检测-I
}
if (i < argc)
{
if (!strcmp(argv[i] “-O“))
{
fputs(“O  “ fout);
printf(“O  “);

if (init == 0)
{
printf(“E  “);
fputs(“E  “ fout);
break;
}
if (argv[i + 1][0] >= ‘0‘ &&argv[i][0] <= ‘9‘)
{
itemp = atoi(argv[++i]);
if (itemp > howMany(p))
{
printf(“E  “);
fputs(“E  “ fout);
break;
}
int j;
for (j = 0; j < itemp; j++)
pop(p e);
if (howMany(p))
print(p);
i--;
}
else
{
printf(“E  “);
fputs(“E  “ fout);
break;
}
}

if (!strcmp(argv[i] “-A“))
{
fputs(“A  “ fout);
printf(“A  “);
if (argv[i + 1][0] >= ‘0‘&&argv[i][0] <= ‘9‘)
{
itemp = atoi(argv[++i]);
initSTACK(s itemp);
p=assign(s *p);
if (howMany(p)) print(p);
}
else
{
printf(“E  “);
fputs

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-10 00:01  C++lab\
     目录           0  2018-10-09 23:04  C++lab\2018C++实验\
     目录           0  2018-11-09 14:34  C++lab\2018C++实验\2018C++实验\
     目录           0  2018-10-11 20:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\
     文件     3733504  2017-09-07 13:34  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\D3Dcompiler_47.dll
     文件     6091776  2017-10-24 00:41  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\Qt5Core.dll
     文件     6202880  2017-06-28 19:56  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\Qt5Gui.dll
     文件      359936  2017-06-28 20:51  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\Qt5Svg.dll
     文件     6353408  2017-06-28 20:04  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\Qt5Widgets.dll
     文件          22  2018-10-11 20:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\U201414596_1
     文件          63  2018-11-10 00:02  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\U201614795.txt
     文件      325632  2017-10-24 15:22  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\checksystem.exe
     目录           0  2018-10-10 20:40  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\iconengines\
     文件       43008  2017-06-28 20:51  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\iconengines\qsvgicon.dll
     目录           0  2018-10-10 20:40  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\
     文件       33792  2017-06-28 20:10  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qgif.dll
     文件       46592  2017-06-28 20:48  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qicns.dll
     文件       36352  2017-06-28 20:09  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qico.dll
     文件      247808  2017-06-28 20:09  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qjpeg.dll
     文件       27136  2017-06-28 20:51  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qsvg.dll
     文件       26624  2017-06-28 20:46  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qtga.dll
     文件      448000  2017-06-28 20:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qtiff.dll
     文件       25600  2017-06-28 20:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qwbmp.dll
     文件      449024  2017-06-28 20:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\imageformats\qwebp.dll
     文件       22016  2017-06-28 19:47  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\libEGL.dll
     文件     2806784  2017-06-28 19:46  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\libGLESV2.dll
     文件      120334  2015-12-29 06:25  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\libgcc_s_dw2-1.dll
     文件     1540622  2015-12-29 06:25  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\libstdc++-6.dll
     文件       79360  2015-12-29 06:25  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\libwinpthread-1.dll
     文件    15995904  2016-06-14 21:08  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\opengl32sw.dll
     目录           0  2018-10-10 20:40  C++lab\2018C++实验\2018C++实验\checksystem_v3.0\platforms\
............此处省略40个文件信息

评论

共有 条评论