永发信息网

C语言-课程设计-【行文本编辑器】求高手编一个!要能运行的!非常感谢~!要求:概述:编写一个行文本编

答案:2  悬赏:70  手机版
解决时间 2021-12-22 01:20
  • 提问者网友:藍了天白赴美
  • 2021-12-21 15:27
C语言-课程设计-【行文本编辑器】
求高手编一个!要能运行的!非常感谢~!
概述:
编写一个行文本编辑器程序,实现行编辑功能主要包括文件保存,文件内容修改,建立新文件等功能。
主要功能
1.建立文件
2.修改文件
3.保存文件
4.编辑文件

非常感谢 下星期就要交作业了····不会 哦··感觉好难!
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-12-21 16:57
#include "stdio.h"wnpdfqeqk
#include "stdlib.h"wnpdfqeqk
#define OK 1wnpdfqeqk
#define ERROR 0wnpdfqeqk
#define OVERFLOW -1wnpdfqeqk
//#define EOF -1wnpdfqeqk
#define STACK_INIT_SIZE 10wnpdfqeqk
#define STACKINCREMENT 1000wnpdfqeqk
#define MAXQSIZE 10wnpdfqeqk
static int i=0;wnpdfqeqk
typedef char ElemType;wnpdfqeqk
typedef struct StackNode//构造栈wnpdfqeqk
{wnpdfqeqk
ElemType *base;wnpdfqeqk
ElemType *top;wnpdfqeqk
int stacksize;wnpdfqeqk
}SqStack;wnpdfqeqk
ElemType InitStack(SqStack *S)//初始化栈wnpdfqeqk
{wnpdfqeqk
S->base=(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemType));wnpdfqeqk
if(!S->base)wnpdfqeqk
{wnpdfqeqk
exit(OVERFLOW);wnpdfqeqk
}wnpdfqeqk
S->top=S->base;wnpdfqeqk
S->stacksize=STACK_INIT_SIZE;wnpdfqeqk
return OK;wnpdfqeqk
}wnpdfqeqk
ElemType StackEmpty(SqStack *S)//判断栈是否为空wnpdfqeqk
{wnpdfqeqk
if(S->top==S->base)wnpdfqeqk
return OK;wnpdfqeqk
elsewnpdfqeqk
return ERROR;wnpdfqeqk
}wnpdfqeqk
ElemType Push(SqStack *S,ElemType e)//进栈操作wnpdfqeqk
{wnpdfqeqk
if(S->top-S->base>=S->stacksize)wnpdfqeqk
{wnpdfqeqk
S->base = (ElemType *)realloc(S->base,(S->stacksize+STACKINCREMENT)*sizeof(ElemType));wnpdfqeqk
if(!S->base)wnpdfqeqk
{wnpdfqeqk
exit(OVERFLOW);wnpdfqeqk
}wnpdfqeqk
S->top = S->base+S->stacksize;wnpdfqeqk
S->stacksize+=STACKINCREMENT;wnpdfqeqk
}wnpdfqeqk
*S->top++=e;wnpdfqeqk
return OK;wnpdfqeqk
}wnpdfqeqk
ElemType Pop(SqStack *S,ElemType *e)//出栈操作wnpdfqeqk
{wnpdfqeqk
wnpdfqeqk
if(S->top==S->base)wnpdfqeqk
{wnpdfqeqk
return ERROR;wnpdfqeqk
}wnpdfqeqk
*e=*--S->top;wnpdfqeqk
//printf("%d\n",e);wnpdfqeqk
// return e;wnpdfqeqk
return 0;wnpdfqeqk
}wnpdfqeqk
void ClearStack(SqStack *S)//清空栈wnpdfqeqk
{wnpdfqeqk
S->top=S->base;wnpdfqeqk
}wnpdfqeqk
ElemType LineEdit(SqStack *S )//文本编译wnpdfqeqk
{wnpdfqeqk
char ch, e, a[30];wnpdfqeqk
int i ;wnpdfqeqk
ch = getchar();wnpdfqeqk
wnpdfqeqk
while(1)wnpdfqeqk
{wnpdfqeqk
while (ch!='\n')wnpdfqeqk
{wnpdfqeqk
switch(ch)wnpdfqeqk
{wnpdfqeqk
case '#':wnpdfqeqk
Pop(S,&e);wnpdfqeqk
break;wnpdfqeqk
case [email=]'@'[/email]:wnpdfqeqk
ClearStack(S);wnpdfqeqk
break;wnpdfqeqk
default:wnpdfqeqk
Push(S,ch);wnpdfqeqk
break;wnpdfqeqk
}wnpdfqeqk
ch = getchar();wnpdfqeqk
}wnpdfqeqk
i = 0;wnpdfqeqk
while (!StackEmpty(S))wnpdfqeqk
{wnpdfqeqk
Pop(S,&e);wnpdfqeqk
a[i++]=e;wnpdfqeqk
}wnpdfqeqk
for(--i; i>= 0; i--)wnpdfqeqk
{wnpdfqeqk
printf("%c",a);wnpdfqeqk
}wnpdfqeqk
printf("\n");wnpdfqeqk
ClearStack(S);wnpdfqeqk
ch = getchar();wnpdfqeqk
}wnpdfqeqk
return 0;wnpdfqeqk
}wnpdfqeqk
int main(void)wnpdfqeqk
{wnpdfqeqk
SqStack S;wnpdfqeqk
InitStack(&S);wnpdfqeqk
LineEdit(&S);wnpdfqeqk
system("pause");wnpdfqeqk
return 0;wnpdfqeqk
}wnpdfqeqk
全部回答
  • 1楼网友:患得患失的劫
  • 2021-12-21 17:21
wqwerxser 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯