C++实现序列化,简单的讲是将C++里的对象(此处是广义上的对象,内置类型或者用户自定义类型)数据变成char*,即单个字节的数据,这样方便传输等,涉及到的知识点有C++中的函数重载,操作符重写,allcotor,左值和右值,继承,模板等
2024/2/22 4:26:38 6KB C++
1
数据结构,农夫过河。
详细讲述过河#include//0代表在河的这边;1代表在河的对岸structCondition{intfarmer;intwolf;intsheep;intcabbage;};structConditionconditions[100];//结构体条件数组char*action[100];voidtakeWolfOver(inti)//把狼来过去{action[i]="把狼过去.---_-对岸";conditions[i+1].wolf=1;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;}voidtakeWolfBack(inti)/*把狼带回来*/{action[i]="带狼回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=1;conditions[i+1].cabbage=conditions[i].cabbage;}voidtakeSheepBack(inti)/*把羊带回来*/{action[i]="带羊回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=1;}voidtakeCabbageBack(inti)/*把菜带回来*/{action[i]="带菜回来.本岸对岸";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;/*全不动*/}voidgetBackBarely(inti)/*返回时的情况*/{action[i]="空手回来.本岸<---(barely)";conditions[i+1].wolf=conditions[i].wolf;conditions[i+1].sheep=conditions[i].sheep;conditions[i+1].cabbage=conditions[i].cabbage;}voidshowSolution(inti)/*显示解决方法*/{intc;printf("\n");printf("%s\n","解决办法:");for(c=0;c<i;c++){printf("step%d:%s\n",c+1,action[c
2024/2/6 8:04:03 4KB 农夫过河
1
base64forpb11.5(Build4011)纯PB代码,在以前写的base64forpb9版本上略做改动而成(pb9中用char数组做中间变量,现在改为byte数组做为中间变量),可以对任意文件或字符串进行base64加解密操作。
若发现问题请给我留言。
2024/1/31 10:24:42 17KB base64 pb11.5
1
1、输入如下正确的常量说明串:constcount=10,sum=81.5,char1=‘f’,max=169,str1=“h*542..4S!AAsj”,char2=‘@’,str2=“aa!+h”;
输出:count(integer,10)sum(float,81.5)char1(char,‘f’)max(integer,169)str1(string,“h*542..4S!AAsj”)char2(char,‘@’)str2(string,“aa!+h”)int_num=2;char_num=2;string_num=2;float_num=1.2、输入类似如下的保留字const错误的常量说明串:Aconsttcount=10,sum=81.5,char1=‘f’;输出类似下面的错误提示信息:Itisnotaconstantdeclarationstatement!Pleaseinputastringagain!3、输入类似如下含常量名或常量值错误的常量说明串:constcount=10,12sum=81.5,char1=‘ff’,max=0016;
输出类似下面的错误提示信息:count(integer,10)12sum(Wrong!Itisnotaidentifier!)char1(Wrong!Therearemorethanonecharin‘’.)max(Wrong!Theintegercan’tbestartedwith‘0’.)int_num=1;char_num=0;string_num=0;float_num=0.
2024/1/27 0:49:23 3KB 编译原理
1
第1章 声明和初始化基本类型1.1 我该如何决定使用哪种整数类型?1.2 为什么不精确定义标准类型的大小?1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。
然后根据实际的机器环境把它们定义为int、short、long等类型。
这样看来,所有的问题都解决了,是吗?1.4 新的64位机上的64位类型是什么样的?指针声明1.5 这样的声明有什么问题?char*p1,p2;我在使用p2的时候报错了。
1.6 我想声明一个指针,并为它分配一些空间,但却不行。
这样的代码有什么问题?char*p;*p=malloc(10);声明风格1.7 怎样声明和定义全局变量和函数最好?1.8 如何在C中实现不透明(抽象)数据类型?1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量?存储类型1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗?1.11 extern在函数声明中是什么意思?1.12 关键字auto到底有什么用途?类型定义(typedef)1.13 对于用户定义类型,typedef和#define有什么区别?1.14 我似乎不能成功定义一个链表。
我试过typedefstruct{char*item;NODEPTRnext;}*NODEPTR;但是编译器报了错误信息。
难道在C语言中结构不能包含指向自己的指针吗?1.15 如何定义一对相互引用的结构?1.16 Struct{ }x1;和typedefstruct{ }x2;这两个声明有什么区别?1.17 “typedefint(*funcptr)();”是什么意思?const限定词1.18 我有这样一组声明:typedefchar*charp;constcharpp;为什么是p而不是它指向的字符为const?1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n];1.20 constchar*p、charconst*p和char*constp有什么区别?复杂的声明1.21 怎样建立和理解非常复杂的声明?例如定义一个包含N个指向返回指向字符的指针的函数的指针的数组?1.22 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。
可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以至无穷。
数组大小1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组?1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小?声明问题1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。
*1.26 main的正确定义是什么?voidmain正确吗?1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。
这是为什么?1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。
这是为什么?1.29 为什么我的编译器不允许我定义大数组,如doublearray[256][256]?命名空间1.30如何判断哪些标识符可以使用,哪些被保留了?初始化1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零?1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";}*1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。
char*p=malloc(10);1.34 chara[]="stringliteral";和char*p="stringliteral";初始化有什么区别?当我向p[i]赋值的时候,我的程序崩溃了。
1.35 chara{[3]}="abc";是否合法?1.36 我总算弄清楚函数指针的声明方法了,但怎样才能初始化呢?1.37 能够初始化联合吗?第2章 结构、联合和枚举结构声明2.1 structx1{ };和typedefstruct{ }x2;有什么不同?2.2 这样的代码为什么不对?structx{ };xthestruct;2.3 结构可以包含指向自己的指针吗?2.4 在C语言中用什么方法实现抽象数据类型最好?*2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法?2.6 为什么声明externf(structx*p);给我报了一个晦涩
2024/1/19 18:27:15 18.8MB c语言
1
ntmain(intargc,char*argv[]){inte;SqStackl1;Linkstl2;Queuel3;LinkQueuel4;coutle;couta;coute;Push(l1,e);}while(le--){Pop(l1,e);coute;push(l2,e);}while(le--){pop(l2,e);coute;Push1(l3,e);}while(le--){Pop1(l3,e);coute;push1(l4,e);}while(le--){pop1(l4,e);cout<<e<<"";}break;}system("PAUSE");return0;}
2024/1/12 17:07:23 826B 入栈、出栈
1
C语言教程(原书第4版)《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansic语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。
《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。
  《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。
前言第0章从零开始0.1为什么要用c0.2ansic标准0.3从c到c++0.4从c和c++到java第1章c语言概述1.1编程和预备知识1.2程序输出1.3变量、表达式和赋值1.4使用#define和#include1.5使用printf()和scanf()1.6控制流1.7函数1.8数组、字符串和指针1.8.1数组1.8.2字符串1.8.3指针1.9文件1.10与操作系统有关的内容1.10.1编写和运行c程序1.10.2中断程序1.10.3输入文件尾标志1.10.4输入和输出的重定向1.11总结1.12练习第2章词法元素、操作符和c系统2.1字符和词法元素2.2语法规则2.3注释2.4关键字2.5标识符2.6常量2.7字符串常量2.8操作符和标点符号2.9操作符的优先级和结合性2.10增值操作符和减值操作符2.11赋值操作符2.12例子:计算2的乘方2.13c系统2.13.1预处理器2.13.2标准函数库2.14总结2.15练习第3章基本数据类型3.1声明、表达式和赋值3.2基本数据类型3.3字符和char数据类型3.4int数据类型3.5整数类型short、long和unsigned3.6浮点类型3.7typedef的用法3.8sizeof操作符3.9使用getchar()和putchar()3.10数学函数3.10.1使用abs()和fabs()3.10.2unix和数学函数库3.11隐式类型转换和强制类型转换3.11.1整型提升3.11.2寻常算术转换3.11.3强制类型转换3.12十六进制和八进制常量3.13总结3.14练习第4章控制流4.1关系操作符、相等操作符和逻辑操作符4.2关系操作符和表达式4.3相等操作符和表达式4.4逻辑操作符和表达式4.5复合语句4.6表达式和空语句4.7if和if-else语句4.8while语句4.9for语句4.10例子:布尔变量4.11逗号操作符4.12do语句4.13例子:斐波那契数4.14goto语句4.15break和continue语句4.16switch语句4.17条件操作符4.18总结4.19练习第5章函数5.1函数定义5.2return语句5.3函数原型5.4例子:创建乘方表5.5从编译器的角度观察函数原型5.6函数定义顺序的另一种风格5.7函数调用和传值调用5.8开发大型程序5.9使用断言5.10作用域规则5.10.1平行和嵌套代码块5.10.2以调试为目的使用代码块5.11存储类型5.11.1auto存储类型5.11.2extern存储类型5.11.3register存储类型5.11.4static存储类型5.12静态外部变量5.13默认初始化5.14递归5.15例子:汉诺塔5.16总结5.17练习第6章数组、指针和字符串6.1一维数组6.1.1初始化6.1.2下标6.2指针6.3传引用调用6.4数组和指针之间的关系6.5指针运算和元素的大小6.6数组作为函数的实参6.7例子:冒泡排序6.8用calloc()和malloc()进行动态内存分配6.9例子:归并和归并排序6.10字符串6.11标准函数库中的字符串处理函数6.12多维数组6.12.1二维数组6.12.2存储映射函数6.12.3形式参数声明6.12.4三维数组6.12.5初始化6.12.6使用typedef6.13指针数组6.14main()函数的参数6.15不规则数组6.16函数作为参数6.17例子:使用二分法寻找函数的根6.18函数指针数组6.19类型限定符const和v
2024/1/4 10:17:32 16.68MB C语言 教程 pdf
1
医院病房管理系统需求分析报告一、系统需求描述本系统的业务描述如下:整个系统从总体上分为用户登录功能、病房床位管理功能、病人与医生信息管理功能、病房床位分配管理功能四大部分。
每个部分实现功能如下:(1)用户登录:可以添加用户、删除用户、修改密码和修改用户权限;
(2)病房床位管理:对床位信息查询功能:根据区号、楼号、病房人数、楼层管理员、主治医生进行多条件组合查询,显示相应的查询记录;
(3)病人与医生信息管理:对医生和病人的信息查询功能:根据主治医生、科室、病人信息进行基本查询;
(4)病房床位分配管理:对病人住宿床位的分配和对住院情况查询功能:根据区号、楼号、住院时间、主治医生、科室进行多条件组合查询;
(5)互联网访问及联机帮助功能。
二系统功能结构图三、系统ER图证件实体属性图如图1所示。
图1医院病房信息实体属性图图2用户信息实体属性图图3病房信息实体属性图图4医生、病人信息实体属性图图5床位信息实体属性图四、系统数据库表结构设计本系统数据库中包含的表结构设计如表1~7所示。
表7用户表字段名称 数据类型 长度 是否为空 备注用户帐号 varchar 50 否 主键用户名 文本 50 否 用户密码 文本 50 否 表2医生信息表字段名称 数据类型 长度 是否为空 备注医生编号 Int 20 否 主键病人编号 Int 20 否 外键医生姓名 Char 10 否 医生性别 Bool 1 否 科室 Varchar 20 否 表3病人信息表字段名称 数据类型 长度 是否为空 备注病人编号 int 10 否 主键病人姓名 varchar 15 否 病人性别 bool 1 否 病人电话 int 8 否 病人房号 int 10 否 表4床位信息表字段名称 数据类型 长度 是否为空 备注床号 int 10 否 主键医生编号 int 20 否 外键床位信息 varchar 20 否
2023/12/4 2:37:02 1.3MB C#医院病房管理系统
1
文件列表:LordPE.EXE.............增强版(英文版)LordPE_hh.EXE.............增强版(cao_cong汉化版)\原版\LordPE.EXE.............原版LordPlug.dll.............kanxue制作的功能插件LordPeFix.dll.............SnowFox修正(原来是freecat制作的功能插件,修正LordPE只显示60个进程的bug)更新历史:2008.5.31资源名溢出漏洞。
缓冲区长度检测是char,但是拷贝的时候是wchar,所以溢出了。
标题:测试你的LordPE作者:somuch时间:2008-05-16,16:28链接:http://bbs.pediy.com/showthread.php?t=649352007.9.9SnowFox主页提供的LordPE增加版中所带Lordpefix.dll发现并不能解除60进程限制,原来是其中的偏移地址与所带LordPE主程序不匹配修改了偏移地址后,可以用了2006.11.30freecat制作的功能插件LordPeFix.dll,修正LordPE只显示60个进程的bug2005.10.15(1)为LordPE查看输入表部分加上搜索功能(2)为LordPE查看输入表部分加右键菜单(仅复制ThunkRVA/FirstThunk列).(3)当点击LordPE查看输入表部分中"ViewalwaysFirstThunk",保持光条在原来位置.(LordPE默认会将光条置到0行)(4)修改FLC(FileLocationCalulator)窗口中各个文本框(VA,RVA,Offset)为只读属性,此时可以用鼠标复制里面的文本.(LordPE原来是将文本框禁止变灰,此时不可复制)
2023/9/12 10:39:37 356KB LordPE汉化增强版
1
前段时间自己业余抽空花了三个月编了一个c语言编译器,将c语言编译成masm32。
总共4个文件,2000多行的代码,其中sca.c是词法,p.c生成语法树,table.c是符号表,g.c是转化成具体masm32代码,只支持char,short,int,double四种类型数据,其他的有兴趣的可以自己修改增加,由于masm32限制,目前该编译器只支持局部变量在函数开头定义,全局变量不能和局部变量同名。
不支持变量强制转变,也不支持switch语句,个人感觉swich没用,#include不支持,只支持“”,现在打包给大家分享,包括源代码(感兴趣的可以自己修改或者转发学习,不允许商业用途),里面还有一些例子,想学习编译原理或者masm32的同志可以看看(特别是学习masm32的,可以把写好的c语言直接编译成masm32代码)!遇到问题可以跟我联系,尽量跟你们回复!
2023/9/9 7:57:32 55KB c yuyan masm32 assamble
1
共 57 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡