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

网站开发如何学习医疗器械管理软件

网站开发如何学习,医疗器械管理软件,4399小游戏在线玩网页版,电商平台系统开发方案1.定义 假设以一维数组heap #xff3b;MAXSIZE#xff3d; 表示可供字符串进行动态分配的存储空间#xff0c;并设 int start 指向heap 中未分配区域的开始地址(初始化时start 0) 。在程序执行过程中#xff0c;当生成一个新串时#xff0c;就从start指示的位置起#…1.定义 假设以一维数组heap MAXSIZE 表示可供字符串进行动态分配的存储空间并设 int start 指向heap 中未分配区域的开始地址(初始化时start 0) 。在程序执行过程中当生成一个新串时就从start指示的位置起为新串分配一个所需大小的存储空间同时建立该串的描述。这种存储结构称为堆结构。 此时堆串可定义如下 typedef struct {int len int start } HeapString 其中len域指示串的长度 start域指示串的起始位置。借助此结构可以在串名和串值之间建立一个对应关系称为串名的存储映象。系统中所有串名的存储映象构成一个符号表。  在C语言中已经有一个称为“堆”的自由存储空间并可用malloc和free函数完成动态存储管理。因此我们可以直接利用C语言中的“堆”实现堆串。此时堆串可定义如下 typedef struct { char * ch int len } HString 2.基本操作 1.初始化 //初始化 HString * Init_HString( ) { HString *s; s (HString *) malloc ( sizeof( HString ) );s-len0;s-chNULL;printf(初始化成功。\n);return s; } 2.录入 //录入 int Enter_SStrin(HString *s) {char x; int len; printf(请输入字符串长度和元素); scanf(%d %c,len,x); s-ch(char *) malloc ( len ); while(x!#) {s-ch[s-len] x; s-lens-len1; scanf( %c,x); } printf(录入完成。\n);return 1; /*入队成功函数返回1*/ } 3.插入 //插入 int StrInsert(HString *s,HString t) /* 在串s中序号为pos的字符之前插入串t */ { int i,pos; char *temp; printf(请输入插入位置); scanf(%d,pos); if (pos0 || poss-len || s-len0) return(0); temp(char *)malloc(s-len t.len); if (tempNULL) return(0); for (i0;ipos;i) temp[i]s-ch[i]; for (i0;it.len;i) temp[ipos]t.ch[i]; for (ipos;is-len;i) temp[i t.len]s-ch[i]; s-lent.len; free(s-ch);s-chtemp; printf(插入成功\n); return(1); } 4.删除 //串删除函数 int StrDelete(HString *s) /* 在串s中删除从序号pos起的len个字符 */ { int i,pos,len; char *temp; printf(请输入删除位置和个数); scanf(%d %d,pos,len); if (pos0 || pos(s-len - len)) return(0); temp(char *)malloc(s-len - len); if (tempNULL) return(0); for (i0;ipos;i) temp[i]s-ch[i]; for (ipos;is-len - len;i) temp[i]s-ch[ilen]; s-lens-len-len; free(s-ch);s-chtemp; printf(删除成功\n); return(1); } 5.遍历 //遍历 void Printf(HString *s) {int i; for(i0;is-len;i) {printf(%c,s-ch[i]); } printf(\n); } 6.复制 //串复制函数 int StrCopy(HString *s,HString t) /* 将串t的值复制到串s中 */ { int i; s-ch(char *)malloc(t.len); if (s-chNULL) return(0); for (i0;it.len;i) s-ch[i]t.ch[i]; s-lent.len; printf(复制完成。\n); return(1); } 7.判空 //判空函数 int StrEmpty(HString s) /* 若串s为空(即串长为0)则返回1否则返回0 */ { if (s.len0) {printf(堆串为空。\n);return(1); } else printf(堆串不为空。\n); return(0); } 8.比较 //串比较函数 int StrCompare(HString s,HString t) /* 若串s和t相等 则返回0 若st 则返回1 若st 则返回-1 */ { int i; for (i0;is.lenit.len;i) if (s.ch[i]!t.ch[i]) {if(s.ch[i]- t.ch[i]0)printf(串s和t相等。\n);if(s.ch[i]- t.ch[i]0)printf(串s大于t。\n);if(s.ch[i]- t.ch[i]0)printf(串s小于t。\n);return(s.ch[i] - t.ch[i]);}if(s.len - t.len0) printf(串s和t相等。\n); if(s.len - t.len0) printf(串s大于t。\n); if(s.len - t.len0) printf(串s小于t。\n); return(s.len - t.len); } 9.求串长 //求串长函数 int StrLength(HString s) /* 返回串s的长度 */ {printf(串长为%d\n,s.len); return(s.len); } 10.清空 //清空函数 int StrClear(HString *s) /* 将串s置为空串 */ { if (s-ch!NULL) free(s-ch); s-chNULL; s-len0; printf(清空完成。\n); return(1); } 11.连接 //连接函数 int StrCat(HString *s,HString t) /* 将串t连接在串s的后面 */ { int i; char *temp; temp(char *)malloc(s-len t.len); if (tempNULL) return(0); for (i0;is-len;i)temp[i]s-ch[i]; for (is-len;is-len t.len;i) temp[i]t.ch[i-s-len]; s-lent.len; free(s-ch);s-chtemp; printf(连接完成。\n); return(1); } 12.求子串 //求子串函数 HString *SubString(HString s) /* 将串s中序号pos起的len个字符复制到sub中 */ { int i,pos,len; HString *sub; sub (HString *) malloc ( sizeof( HString ) );sub-len0;sub-chNULL; printf(请输入子串起始位置和子串长度); scanf(%d %d,pos,len); if (sub-ch!NULL) free(sub-ch); if (pos0 || poss.len || len1 || lens.len-pos) { sub-chNULL;sub-len0;printf(子串位置不合法。\n);return(0);} else { sub-ch(char *)malloc(len); if (sub-chNULL) return(0); for (i0;ilen;i) sub-ch[i]s.ch[ipos]; sub-lenlen; printf(截取子串成功。\n);return(sub); } } 13.定位 //定位函数 int StrIndex(HString s,HString t) /* 求串t在串s中的位置 */ { int i, j,pos; printf(请输入在第几个元素之后进行查找); scanf(%d,pos); if (s.len0 || t.len0) {printf(s或t不存在。\n);return(0); } ipos;j0; while (is.len jt.len){ if (s.ch[i]t.ch[j]) {i;j;} else {ii-j1;j0;}} if (jt.len) {printf(串t首在s中的位置为%d\n,i-j);return(i-j); } else printf(未在s中找到t。\n); return(0); } 3.代码 #includestdio.h #includemalloc.htypedef struct { char * ch; int len; } HString; //初始化 HString * Init_HString( ) { HString *s; s (HString *) malloc ( sizeof( HString ) );s-len0;s-chNULL;printf(初始化成功。\n);return s; }//录入 int Enter_SStrin(HString *s) {char x; int len; printf(请输入字符串长度和元素); scanf(%d %c,len,x); s-ch(char *) malloc ( len ); while(x!#) {s-ch[s-len] x; s-lens-len1; scanf( %c,x); } printf(录入完成。\n);return 1; /*入队成功函数返回1*/ }//遍历 void Printf(HString *s) {int i; for(i0;is-len;i) {printf(%c,s-ch[i]); } printf(\n); }//插入 int StrInsert(HString *s,HString t) /* 在串s中序号为pos的字符之前插入串t */ { int i,pos; char *temp; printf(请输入插入位置); scanf(%d,pos); if (pos0 || poss-len || s-len0) return(0); temp(char *)malloc(s-len t.len); if (tempNULL) return(0); for (i0;ipos;i) temp[i]s-ch[i]; for (i0;it.len;i) temp[ipos]t.ch[i]; for (ipos;is-len;i) temp[i t.len]s-ch[i]; s-lent.len; free(s-ch);s-chtemp; printf(插入成功\n); return(1); } //串删除函数 int StrDelete(HString *s) /* 在串s中删除从序号pos起的len个字符 */ { int i,pos,len; char *temp; printf(请输入删除位置和个数); scanf(%d %d,pos,len); if (pos0 || pos(s-len - len)) return(0); temp(char *)malloc(s-len - len); if (tempNULL) return(0); for (i0;ipos;i) temp[i]s-ch[i]; for (ipos;is-len - len;i) temp[i]s-ch[ilen]; s-lens-len-len; free(s-ch);s-chtemp; printf(删除成功\n); return(1); } //串复制函数 int StrCopy(HString *s,HString t) /* 将串t的值复制到串s中 */ { int i; s-ch(char *)malloc(t.len); if (s-chNULL) return(0); for (i0;it.len;i) s-ch[i]t.ch[i]; s-lent.len; printf(复制完成。\n); return(1); } //判空函数 int StrEmpty(HString s) /* 若串s为空(即串长为0)则返回1否则返回0 */ { if (s.len0) {printf(堆串为空。\n);return(1); } else printf(堆串不为空。\n); return(0); } //串比较函数 int StrCompare(HString s,HString t) /* 若串s和t相等 则返回0 若st 则返回1 若st 则返回-1 */ { int i; for (i0;is.lenit.len;i) if (s.ch[i]!t.ch[i]) {if(s.ch[i]- t.ch[i]0)printf(串s和t相等。\n);if(s.ch[i]- t.ch[i]0)printf(串s大于t。\n);if(s.ch[i]- t.ch[i]0)printf(串s小于t。\n);return(s.ch[i] - t.ch[i]);}if(s.len - t.len0) printf(串s和t相等。\n); if(s.len - t.len0) printf(串s大于t。\n); if(s.len - t.len0) printf(串s小于t。\n); return(s.len - t.len); } //求串长函数 int StrLength(HString s) /* 返回串s的长度 */ {printf(串长为%d\n,s.len); return(s.len); } //清空函数 int StrClear(HString *s) /* 将串s置为空串 */ { if (s-ch!NULL) free(s-ch); s-chNULL; s-len0; printf(清空完成。\n); return(1); } //连接函数 int StrCat(HString *s,HString t) /* 将串t连接在串s的后面 */ { int i; char *temp; temp(char *)malloc(s-len t.len); if (tempNULL) return(0); for (i0;is-len;i)temp[i]s-ch[i]; for (is-len;is-len t.len;i) temp[i]t.ch[i-s-len]; s-lent.len; free(s-ch);s-chtemp; printf(连接完成。\n); return(1); } //求子串函数 HString *SubString(HString s) /* 将串s中序号pos起的len个字符复制到sub中 */ { int i,pos,len; HString *sub; sub (HString *) malloc ( sizeof( HString ) );sub-len0;sub-chNULL; printf(请输入子串起始位置和子串长度); scanf(%d %d,pos,len); if (sub-ch!NULL) free(sub-ch); if (pos0 || poss.len || len1 || lens.len-pos) { sub-chNULL;sub-len0;printf(子串位置不合法。\n);return(0);} else { sub-ch(char *)malloc(len); if (sub-chNULL) return(0); for (i0;ilen;i) sub-ch[i]s.ch[ipos]; sub-lenlen; printf(截取子串成功。\n);return(sub); } } //定位函数 int StrIndex(HString s,HString t) /* 求串t在串s中的位置 */ { int i, j,pos; printf(请输入在第几个元素之后进行查找); scanf(%d,pos); if (s.len0 || t.len0) {printf(s或t不存在。\n);return(0); } ipos;j0; while (is.len jt.len){ if (s.ch[i]t.ch[j]) {i;j;} else {ii-j1;j0;}} if (jt.len) {printf(串t首在s中的位置为%d\n,i-j);return(i-j); } else printf(未在s中找到t。\n); return(0); } void menu() { printf(--------1.初始化s------\n); printf(--------2.初始化t------\n); printf(--------3.录入s--------\n); printf(--------4.录入t--------\n); printf(--------5.插入---------\n); printf(--------6.删除---------\n); printf(--------7.判空---------\n); printf(--------8.复制---------\n); printf(--------9.比较---------\n); printf(--------10.求长度------\n); printf(--------11.清空--------\n); printf(--------12.连接--------\n); printf(--------13.求子串sub---\n); printf(--------14.定位-------\n); printf(--------15.遍历s-------\n); printf(--------16.遍历t-------\n); printf(--------17.遍历sub-----\n); printf(--------18.退出程序----\n); }int main() {HString *s,*t,*sub; int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,a,quit0; menu(); while(1) { scanf(%d,a); switch(a) { case 1:sInit_HString( );break; case 2:tInit_HString( );break; case 3:n1Enter_SStrin(s);break; case 4:n2Enter_SStrin(t);break; case 5:n3StrInsert(s,*t);break; case 6:n4StrDelete(s);break; case 7:n5StrEmpty(*s);break; case 8:n6StrCopy(s,*t);break; case 9:n7StrCompare(*s,*t) ;break; case 10:n8StrLength(*s);break; case 11:n9StrClear(s);break; case 12:n10StrCat(s,*t);break; case 13:subSubString(*s);break; case 14:n11StrIndex(*s,*t);break; case 15:Printf(s);break; case 16:Printf(t);break; case 17:Printf(sub);break; case 18:quit1;break; default:printf(输入1~18之间的数字\n);break; } if(quit1) {break; } } return 0;}
http://www.hkea.cn/news/14361885/

相关文章:

  • 简单手机网站源码下载宁波网站建设 华企立方
  • 备案的域名做电影网站吗搜讯网站开发
  • 个人成立公司怎么做企业网站公司的网站建设费用入什么科目
  • 石家庄设计网站公司安徽网站线上开发公司
  • 创新的企业网站制作网络营销推广网站
  • canvas做的手机网站做淘宝需要的网站
  • php网站建设外国参考文献昆明app制作的公司
  • python做互金网站制作网页的基本步骤
  • 中企动力是怎么建设网站的北京网站建设公司动感
  • 秦皇岛城乡建设局网站wordpress改页脚
  • 济南网站建设公司按需定制速递物流系网站建设与维护
  • 兰州市生态建设管理局网站北京市住房城乡建设部网站首页
  • 网站页脚需要放什么用开发一个相亲软件需要多少钱
  • 怎样设计网站主页长春网站建设技术外包
  • 找别人做网站注意什么百度招聘网最新招聘信息
  • 滕州做网站五年级下册数学优化设计答案
  • 济南网站建设网站登录页做多大尺寸的
  • 刚学完网站开发wordpress如何制作网页
  • 佛山网站建设公司有哪些wordpress restfulapi
  • 网站建设600元包做a暧小视频在线观看网站
  • ftp网站地图怎么做网站开发与技术
  • 腾讯做的电子商务网站网站规划与建设策划书
  • 妇联网站建设背景海口网站建设q.479185700惠
  • 阿里巴巴做网站申请佛山专业建设网站平台
  • 网站推广方法的费用wordpress时间不对
  • 个性化网站建设多少钱建设局的全称
  • 个人网站如何做流量百度搜索关键词优化方法
  • 国内网页设计网站合肥建设网站哪家好
  • 做音乐头像网站新闻头条最新消息摘抄
  • 网站建设有哪些基本流程湖南中高风险地区