已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计任务书学生姓名: 孙晓晨 专业班级: 信息0804 指导教师: 杜谦 工作单位: 信息工程学院 题 目: IP地址的合法性及子网判断 初始条件:Windows XPC+,SOCKET要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1 编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网;2 判断掩码的合法性;3 在IP地址合法的前提下,判断ip_addr是否属于子网subnet;4 撰写课程设计说明书。装订后的课程设计说明书不少于10面(含封面、任务书、目录、正文、参考文献、成绩评定表、封底)。 时间安排: 6月12日 查阅资料、方案论证 6月13日 6月15日 总体规划, 方案设计、调试6月16日 撰写课程设计说明书6月17日 答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日#include#include#include#includeusing namespace std;int a4=0,0,0,0; /分段存放子网char Ip_addr15; /ip地址char sub_net15; /子网int ip4=0,0,0,0;int subnet4=0,0,0,0; /分段存放ip地址int address4=0,0,0,0;int num; /子网掩码/判断IP是否合法void aa(char c15) /判断IP地址不能超过15 if(strlen(c)15) coutendlIP地址总长度不能超过15!endl; return; int dotnum=0; /判断IP地址中是否存在非法字符 for(int i=0;istrlen(c);i+) if(isdigit(ci)=0 & ci!=.) coutendlIP地址中含有非法字符!endl; return ; if(ci=.) dotnum+; /判断IP地址中只能存在3个分隔符 if(dotnum!=3) coutendlIP地址中分隔符只能为3个!endl; return; /判断IP地址中是否存在连续分隔符 for(i=0;istrlen(c)-1;i+) if(ci=. & ci+1=.) coutendlIP地址中出现连续的分隔符!endl; return; /分割IP地址void bb(char c15) /判断IP地址中最后不能为分隔符 for(int m=0;m4;m+) ipm=0; int len; len=strlen(c); if(clen-1=.) coutendlIP地址最后们不能为分隔符!endl; return; char temp415; for(int i=0;i4;i+) for(int j=0;j15;j+) tempij=0; int j=0; i=0; for(int k=0;kstrlen(c);k+) if(ck!=.) tempij=ck; j+; else i+; j=0; for(i=0;i3) coutendlIP地址每位长度不能超过3!endl; return; switch(len) case 3: while(len!=0) ipi+=(tempilen-1-48)*pow(10,3-len); len-; break; case 2: while(len!=0) ipi+=(tempilen-1-48)*pow(10,2-len); len-; break; default: while(len!=0) ipi+=(tempilen-1-48)*pow(10,1-len); len-; long int num=0; for(i=0;i255) coutendlIP地址数字不能超过255!endl; return; /分割网络地址void ee(char c15) /判断网络地址中最后不能为分隔符 for(int m=0;m4;m+) subnetm=0; int len; len=strlen(c); if(clen-1=.) coutendl子网号最后们不能为分隔符!endl; return; char temp415; for(int i=0;i4;i+) for(int j=0;j15;j+) tempij=0; int j=0; i=0; for(int k=0;kstrlen(c);k+) if(ck!=.) tempij=ck; j+; else i+; j=0; for(i=0;i3) coutendl子网号每位长度不能超过3!endl; return; switch(len) case 3: while(len!=0) subneti+=(tempilen-1-48)*pow(10,3-len); len-; break; case 2: while(len!=0) subneti+=(tempilen-1-48)*pow(10,2-len); len-; break; default: while(len!=0) subneti+=(tempilen-1-48)*pow(10,1-len); len-; long int num=0; for(i=0;i255) coutendl子网号数字长度不能超过255!endl; return; /生成子网掩码void cc() cout子网掩码为:; int r32; for(int i=0;inum;i+) ri=1; for(int j=0;j32-num;j+) ri+=0; int p=0; int w8; int k=0; for(int m=0;m4;m+) int sum=0; for (int n=0;n8;n+) wp=rk; sum=sum+wp*pow(2,7-n); p+; k+; p=0; am=sum; for(int n=0;n4;n+) coutan; if(n!=3) cout.; coutendl;/判断是否和子网相等void dd() string s=; for(int i=0;i4;i+) if(ai&ipi)=subneti) s=s+a; /如果存在4个a cout结果:; if(s=aaaa) cout属于同一子网!endl; else cout不属于同一子网!endl; void main() cout *IP地址的合法性及子网的判断*endl; char jj=y; while(jj!=n) coutIp_addr; coutnum; coutsub_net; coutIP地址为:; for(int i=0;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Openai搜索优化:跨境AI搜索适配与全球化品牌可见度突破深度评测
- 小儿耳廓再造术护理查房
- 烧烤啤酒供应合同
- 塔吊附墙施工方案
- 2025年嘉峪关市事业单位招聘考试真题
- 2025年邵阳市消防救援局政府专职消防员招聘考试真题
- 2025年河北衡水开放大学选聘工作人员真题
- 2026年东营市农业机械系统事业单位人员招聘考试备考试题及答案详解
- 2026年巴彦淖尔市殡葬管理服务系统事业单位人员招聘考试备考试题及答案详解
- 2026年杭州西湖区古荡街道办事处招聘编外合同工2人笔试备考试题及答案解析
- 北京市2026年高中学业水平等级考化学试卷(含答案详解)
- 槽车安全知识理论培训课件
- 2025年pcr上岗证培训试题及答案
- 生成式人工智能应用实战课件 第6章 AIGC视频创作
- 1000道100以内加减法每日打卡口算练习题
- 鲁迅《孤独者》解读大纲
- 预防患者交叉感染措施
- DB45∕T 2362-2021 城镇排水管渠运行维护技术规程
- 呼吸机相关肺炎院感防控体系构建
- 大健康连锁店商业计划书
- 2024广西金融职业技术学院辅导员招聘笔试真题
评论
0/150
提交评论