当前位置: 首页 > news >正文

网站开发程序是什么wordpress内网外网访问不了

网站开发程序是什么,wordpress内网外网访问不了,宝应县城乡建设局网站,网站建设在哪些做此项目的经历主要的收获是熟悉了状态机这一方法的使用#xff0c;还有就是对每实现一个功能就尽量封装一个函数这一概念把握的更为精到。 状态机#xff1a;关于状态机的一个极度确切的描述是它是一个有向图形#xff0c;由一组节点和一组相应的转移函数组成。状态机通过…做此项目的经历主要的收获是熟悉了状态机这一方法的使用还有就是对每实现一个功能就尽量封装一个函数这一概念把握的更为精到。 状态机关于状态机的一个极度确切的描述是它是一个有向图形由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内其中函数的范围是节点的一个子集。函数返回“下一个”也许是同一个节点。这些节点中至少有一个必须是终态。当到达终态 状态机停止。百度摘抄 首先说明 C语言注释是以斜杠星开始到第一次遇到星斜杠为止的一个字符串 CPP注释是以双斜杠开始直到遇到回车为止的一个字符串 1、放声明的头文件 #ifndef __COMMENTCONVERT_HEADFILE__ //预编译指令 #define __COMMENTCONVERT_HEADFILE__#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h #include stdlib.h #define MAX_NUMBER_OF_CHAR 50typedef enum Convert_state //状态机 {NULL_STATE, //无状态即不做任何处理C_STATE, //C注释状态CPP_STATE, //CPP注释状态STRING_STATE, //字符串状态 END_STATE //结束状态 }Con_state;//void CommentConvert(); //void C_Convert_To_CPP(FILE *fread, FILE* fwrite); //void CPP_Convert_To_C(FILE *fread, FILE* fwrite); //void Null_State_of_C_Con_CPP(FILE *fread, FILE* fwrite); //void C_State_of_C_Con_CPP(FILE *fread, FILE* fwrite); //void Cpp_State_of_C_Con_CPP(FILE *fread, FILE* fwrite); //void Null_State_of_CPP_Con_C(FILE *fread, FILE* fwrite); //void C_State_of_CPP_Con_C(FILE *fread, FILE* fwrite); //void Cpp_State_of_CPP_Con_C(FILE *fread, FILE* fwrite); //void String_Convert(FILE *fread, FILE* fwrite);#endif 2、实现声明的.c文件 #include CommentConvert.hCon_state state NULL_STATE; //声明一个全局的状态机变量void menu() {printf(*******************************************\n);printf( 注释转换 \n);printf( 请选择程序要实现的功能 \n);printf( [1] C-----CPP \n);printf( [2] CPP-----C \n);printf( [0] EXIT \n);printf(*******************************************\n);printf(请选择); }void Null_State_of_C_Con_CPP(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch) //遇到不同的情况进入不同的状态{int next_ch 0;case /:next_ch fgetc(fread);if (next_ch *){fputc(ch, fwrite);fputc(/, fwrite);state C_STATE;}else if (ch /){fputc(ch, fwrite);fputc(next_ch, fwrite);state CPP_STATE;}else{fputc(ch, fwrite);fputc(next_ch, fwrite);}break;case :fputc(ch, fwrite);state STRING_STATE;break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void C_State_of_C_Con_CPP(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){int next_ch 0;case *:next_ch fgetc(fread);if (next_ch /){char frith_ch fgetc(fread);if ((\n ! frith_ch) (EOF ! frith_ch)){fputc(\n, fwrite); //输出回车是因为要是在C语言注释里遇到“*/”说明C语言注释已经结束了后面的数据//不再是注释的一部分而此时本行数据已经被“//”修饰为注释内容要是不换行“*/”//后面的数据也会被当做是注释的一部分,即使“*/”后面仍为注释那么也最好输出回车//因为这是两块相互独立的注释不换行就会被认为是一条注释fseek(fread, -1, SEEK_CUR);}else{fputc(frith_ch, fwrite);}state NULL_STATE;}else if (next_ch *){fputc(ch, fwrite);fseek(fread, -1, SEEK_CUR);//在此需要回退一个自己的指针是因为碰到**之后可能接下来的字符时是/那么会和它的上一个字符*组成一个*/成为C语言注释的结束标志所以需要回退一个字符判断此时连续读取的两个字符会不会是*/}else{fputc(ch, fwrite);fputc(next_ch, fwrite);}break;case EOF:fputc(ch, fwrite);state END_STATE;break;case \n:fputc(ch, fwrite);fputc(/, fwrite);fputc(/, fwrite);break;default:fputc(ch, fwrite);break;} }void Cpp_State_of_C_Con_CPP(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){case \n:fputc(ch, fwrite);state NULL_STATE;break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void Null_State_of_CPP_Con_C(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){int next_ch 0;case /:next_ch fgetc(fread);if (next_ch *){fputc(ch, fwrite);fputc(next_ch, fwrite);state C_STATE;}else if (ch /){fputc(ch, fwrite);fputc(*, fwrite);state CPP_STATE;}else{fputc(ch, fwrite);fputc(next_ch, fwrite);}break;case :fputc(ch, fwrite);state STRING_STATE;break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void C_State_of_CPP_Con_C(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){int next_ch 0;case *:next_ch fgetc(fread);if (next_ch /){fputc(ch, fwrite);fputc(next_ch, fwrite);state NULL_STATE;}else if (next_ch *){fputc(ch, fwrite);fseek(fread, -1, SEEK_CUR);}else{fputc(ch, fwrite);fputc(next_ch, fwrite);}break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void Cpp_State_of_CPP_Con_C(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){case \n:fputc(*, fwrite);fputc(/, fwrite);fputc(ch, fwrite);state NULL_STATE;break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void String_Convert(FILE *fread, FILE* fwrite) {int ch fgetc(fread);switch (ch){case :fputc(ch, fwrite);state NULL_STATE;break;case EOF:fputc(ch, fwrite);state END_STATE;break;default:fputc(ch, fwrite);break;} }void C_Convert_To_CPP(FILE *fread, FILE* fwrite) {while (state ! END_STATE){switch (state) //遇到不同的状态进入不同的函数{case NULL_STATE:Null_State_of_C_Con_CPP(fread, fwrite);break;case C_STATE:C_State_of_C_Con_CPP(fread, fwrite);break;case CPP_STATE:Cpp_State_of_C_Con_CPP(fread, fwrite);break;case STRING_STATE:String_Convert(fread, fwrite);}}fclose(fread);fclose(fwrite); }void CPP_Convert_To_C(FILE *fread, FILE* fwrite) {while (state ! END_STATE){switch (state){case NULL_STATE:Null_State_of_CPP_Con_C(fread, fwrite);break;case C_STATE:C_State_of_CPP_Con_C(fread, fwrite);break;case CPP_STATE:Cpp_State_of_CPP_Con_C(fread, fwrite);break;case STRING_STATE:String_Convert(fread, fwrite);}}fclose(fread);fclose(fwrite); }void CommentConvert() {int input 1;char select y;char input_file[MAX_NUMBER_OF_CHAR] { 0 };char output_file[MAX_NUMBER_OF_CHAR] { 0 };FILE *fread NULL;FILE *fwrite NULL;while (input){menu();scanf(%d, input);switch (input){case 1:printf(请输入转换文件的路径及文件名);scanf(%s, input_file);fread fopen(input_file, r);if (NULL fread){perror(open file for read);exit(EXIT_FAILURE);}printf(请输入输出文件的路径及文件名);scanf(%s, output_file);fwrite fopen(output_file, w);if (NULL fwrite){fclose(fread);perror(open file for write);exit(EXIT_FAILURE);}C_Convert_To_CPP(fread, fwrite);printf(转换成功\n);printf(请选择是否继续转换其他文件输入y --继续转换输入n结束转换\n);printf(请输入);fflush(stdin); //因为scanf()函数是以回车结束的而回车不会被统计到上一次的输入而被读入//而是残留在缓冲区所以此处直接用scanf()函数读取一个字符的话读到的就是\n//因此这里要用fflush()清空缓冲区scanf(%c, select);if (select y){system(cls);}else{input 0;}break;case 2:printf(请输入转换文件的路径及文件名);scanf(%s, input_file);fread fopen(input_file, r);if (NULL fread){perror(open file for read);exit(EXIT_FAILURE);}printf(请输入输出文件的路径及文件名);scanf(%s, output_file);fwrite fopen(output_file, w);if (NULL fwrite){fclose(fread);perror(open file for write);exit(EXIT_FAILURE);}CPP_Convert_To_C(fread, fwrite);printf(转换成功\n);printf(请选择是否继续转换其他文件输入y --继续转换输入n结束转换\n);printf(请输入);fflush(stdin);scanf(%c, select);if (select y){system(cls);}else{input 0;}break;break;case 0:exit(0);break;default:printf(输入有误请重新输入);system(cls);break;}} } 3、用于测试函数功能的测试文件 int main() {CommentConvert();system(pause);return 0; } 程序实现的靠几个主要的函数每个函数的作用几乎都能见名知其义虽然名字起的很丑很丑很丑程序逻辑只要从测试函数一点一点开始看起都能看懂 接下来给出结果 以上就是程序运行及得到的结果图片有些模糊在此只做了C语言注释到CPP注释的转换CPP注释到C语言注释的转换与之相似
http://www.zqtcl.cn/news/45966/

相关文章:

  • 济南制作网站企业上海建设摩托车官网
  • 如何在中国建设银行网站转账网站名称可以更换吗
  • 带登录网站模板网站突然掉排名了
  • 网站开发平台工具仙桃网
  • 网站导航的分类有哪些防控措施有这些优化
  • 西安公司网站如何建设企业网站建设和维护
  • 黄山网站建设国内新闻摘抄
  • 免费做网站的app微信公众号端网站开发
  • 晋江网友交流区网站石景山广州网站建设
  • 长沙高校网站制作公司上上上海网站设计
  • 霍邱网站设计百度快照首页
  • 南京网站制作百家号上海搬家公司价目表
  • html制作企业宣传网站如何建微网站
  • 国外效果超炫网站广告位网站模板
  • 订阅号怎么做网站查企业信息查询平台官网免费
  • 提供企业网站建设方案网站建设赚取流量费
  • 触摸屏互动网站建设案例高端网站建设济南兴田德润简介电话
  • 邵武网站建设大气学校网站模板
  • 影响网站速度的代码北京市建设工程信息网招标
  • 一个人网站运营怎么做wordpress oss官方
  • 响应式网站建设费用html网页开发
  • 怎么做网站策划找设计师的网站
  • 建设企业网站都需要啥网站建设与管理个人职业生涯规划书
  • 网站开发的流行架构wordpress文件下载页面
  • 上海哪里做网站比较好硬件开发语言
  • 如何做网站商铺网站建设与软件开发哪个好赚钱
  • 自适应网站模板建站网站建设技术解决方案
  • 备案期间的网站打开河源和平县建设局网站
  • 万维网网站wordpress首页flash
  • 昆明网站快照优化公司线上卖护肤品营销方法