偶做的简单行编辑程序

这是我的行编辑程序,各位指点指.

#include <stdio.h>
#include <stdlib.h>
#define STACK_INIT_SIZE 100
#define MAXSIZE    50
#define  INCREMENT 10
#define  OVERFLOW  -2
#define  ERROR     -1
#define  OK         0

typedef struct
{
 int *base;
 int *top;
 int StackSize;
}SqStack,*PStack;

void InitStack(PStack S);
void DestroyStack(PStack S);
void ClearStack(PStack S);
int GetTop(PStack S,int *e);
void Push(PStack S,int e);
int Pop(PStack S);

void InitStack(PStack S)
{
 if(!(S->base = (int *)malloc(STACK_INIT_SIZE *sizeof(int))))
  exit(OVERFLOW);
 S->top = S->base;
 S->StackSize  = STACK_INIT_SIZE;
 return;

}

void DestroyStack(PStack S)
{
 free(S->base);
 S->top = S->base;
 return;
}

void ClearStack(PStack S)
{
 S->top = S->base;
 return;
}

int  GetTop(PStack S,int *e)
{
 if(S->top == S->base)
  return ERROR;
 *e = *(S->top - 1);
 return OK;

}
void Push(PStack S,int e)
{
 if(S->top - S->base >=S->StackSize)
 {
  S->base = (int *)realloc(S->base,(STACK_INIT_SIZE + INCREMENT) *sizeof(int));
 if(!S->base)
  exit(OVERFLOW);
    S->top  = S->base + S->StackSize ;
 S->StackSize  = S->StackSize  + INCREMENT;

 }
 *S->top ++  = e;
 return;
  
}

int Pop(PStack S)
{
 if(S->top - S->base ==0)
  return ERROR;
      S->top --;
 return OK;
}

int main()
{
 SqStack S;
 char ch;
 FILE *fp;
 char Array[MAXSIZE];
 int *p;
 int i ;

 InitStack(&S);
 printf("please enter the context:n");
 ch = getchar();
 while(ch != '!')
 {
  while(ch != '!' && ch != 'n')
  {<

时间: 2024-07-29 11:04:18

偶做的简单行编辑程序的相关文章

偶写的一个简单行编辑程序(我的实习题)

/*这是清华大学<数据结构题集>实习题3中的一道题--做一个简单行编辑程序,也是我的实习作业.现已经写出来,如大家有兴趣可以看一看.本人编程水平不高,属于初学者,如有高手看到请不要见笑.程序在VC++6.0中调试通过,题目的具体要求: 打开一个文件 o<行号><文件名><回车> 行插入格式: i<行号><回车><文本><回车> 行删除格式: d<行号1>[<空格><行号2>]

flash动画-求专业人士做个简单的作业,简单点就行,做完发送到ysfdxg@qq.com,谢谢啦

问题描述 求专业人士做个简单的作业,简单点就行,做完发送到ysfdxg@qq.com,谢谢啦 网页设计期末作品要求: 1.最少6个网页. 2.模板最少一个. 3.div(div或ap div)用至少一个. 4.至少一个框架网页. 5.有一个flash动画. 6.有超链接. 7.有行为动作. 8.有菜单. 9.有自己的CSS样式. 10.有表单. 解决方案 做毕设建议你去淘宝找人做 解决方案二: 已经发送,见邮件附件,请采纳.然后我把密码告诉你. 解决方案三: 去猪八戒发布一个任务.

golang 开发gui,还真有gui的框架,就是做个简单的行

1,关于gui golang 还真的有gui的开发框架.在mac上面好像比较简单.直接用就好. 不知道在其他平台上面咋样. github项目地址: https://github.com/andlabs/ui/wiki/Getting-Started 起重核心还是使用了:https://github.com/andlabs/libui 在github上面加星的还是挺多的.非常的活跃的项目. doc文档: https://godoc.org/github.com/andlabs/ui 其他的想好想也

jdbc-用eclipse做一个简单的注册模块,数据传不到数据库中

问题描述 用eclipse做一个简单的注册模块,数据传不到数据库中 用eclipse做一个简单的注册模块,输入用户名和密码,选择性别,按提交,将数据写如数据库,运行时出现的错误: HTTP Status 500 - javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'UserName' cannot be null 有

c#做一个简单的视频播发器 都用什么控件啊

问题描述 我是一个人新手做一个简单的视屏播放器但是我不知道该从什么地方开始下手用什么控件虚心求教 解决方案 解决方案二:视频播放器的com组件,例如windowsmideaplayer解决方案三:支持1楼的呢帮顶解决方案四:windowsmideaplayer记载迅雷看看播放器.参考解决方案五:楼主你需要在项目内引用一个windowsmideaplayer然后在工具箱里拖动出来就可以实现了,windowsmideaplayer内有个URL连接源就可以了哦!解决方案六:看你要播放什么了.如果是播放

mfc-用MFC做一个简单的文件上传的程序 ,上传过程中的暂停和继续怎么实现?

问题描述 用MFC做一个简单的文件上传的程序 ,上传过程中的暂停和继续怎么实现? rt 解决方案 能不能中断和继续取决于服务器怎么实现的,服务器必须具有分块接收上传文件的能力. 解决方案二: 你要把你的主要实现和主界面分开,就是用多线程,一个线程用于处理数据,主界面线程用于显示和接受用户操作,当用户按开始按钮时,开启处理线程,暂停时暂停处理线程,继续时再唤醒处理线程就行了. 解决方案三: java Web && 文件上传--简单实现

防黑从基础做起,简单的ASP木马查杀方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 防黑从基础做起.简单的ASP木马查杀方法: 先下载一个文件查找工具:http://www.skycn.com/soft/17964.html 以下是ASP木马部分代吗:========================================================================================

如何做一个简单的小网站

如何做一个简单的小网站,请注意:拥有域名不代表你就有了网站.做之前要想一下,网站用来干什么?静态的还是动态的,自己至少要懂一点代码知识,不懂程序的话,也要对html多少了解一些. 不然,我建议你还是到各大网站申请个Blog写日志算了:) 如果你: 1.做个简历式的小网站 上面就放些文章,图片或者资料,且文件不多,那么选择静态空间就搞定.你可以自己或者找人来做个网页的模版,自己套内容就 可以. 整体下来只要99元,包括域名和空间.在http://www.nicenic.com/design/?s=

源码-用javaSSH框架做一个简单的登录功能

问题描述 用javaSSH框架做一个简单的登录功能 用SSH框架做一个简单的登录功能,登录成功则跳转到一个页面,登录失败则跳转到一个失败页面,MySQL数据库.求大神指点,最好能提供源码 解决方案 Spring 3.x 企业应用开发实战的第一个例子就符合你的要求了.Mysql+srping3 解决方案二: 告诉我你的扣扣邮箱,我发你邮箱 解决方案三: 主要还是在struts2 里面,处理业务逻辑,再跳转到指定页面,关键在struts,xml配置文件里面