实现atoi() 测试页面如下

本文详细解读了一个C++源码片段,展示了如何通过自定义函数将字符串转换为整数。重点在于理解字符处理、符号识别及数字识别逻辑。



原文作者链接:http://blog.youkuaiyun.com/sailtoy/article/details/16852149


测试源码:

#include <iostream>
#include <string>
using namespace std;

int isDigit(int s);
int my_atoi(const char* str);

int isDigit(int s)//判断是否是数字
{
	if(s >= '0' && s <= '9')
		return 1;
	else
		return 0;
}
int my_atoi(const char* str)
{
	int c;
	int sum = 0;
	int sign;
	if((*str)==' ' || (*str) == '\n' || (*str) == '\r' || (*str) == '\t')//判断是否是空格换行之类的空字符,有则跳过
		str++;

	sign = *str; //符号
	if(sign == '-' || sign == '+')//若有符号则跳过
		str++;
	c = (int)*str++;
	while(isDigit(c))
	{
		sum = 10 * sum + (c - '0');
		c = (int)*str++;
	}
	if(sign == '-')
		return -sum;
	else
		return sum;
}
void main()
{
	char str[512];
	while (1)
	{
		cout<<"请输入字符串:"<<endl;
		cin>>str;
		cout<<"字符串转换后:"<<endl;
		cout<<my_atoi(str)<<endl;;
	}
	
	system("pause");
}

标题基于SpringBoot的马术俱乐部管理系统设计与实现AI更换标题第1章引言介绍马术俱乐部管理系统的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义阐述马术俱乐部管理系统对提升俱乐部管理效率的重要性。1.2国内外研究现状分析国内外马术俱乐部管理系统的发展现状及存在的问题。1.3研究方法以及创新点概述本文采用的研究方法,包括SpringBoot框架的应用,以及系统的创新点。第2章相关理论总结和评述与马术俱乐部管理系统相关的现有理论。2.1SpringBoot框架理论介绍SpringBoot框架的基本原理、特点及其在Web开发中的应用。2.2数据库设计理论阐述数据库设计的基本原则、方法以及在管理系统中的应用。2.3马术俱乐部管理理论概述马术俱乐部管理的基本理论,包括会员管理、课程安排等。第3章系统设计详细描述马术俱乐部管理系统的设计方案,包括架构设计、功能模块设计等。3.1系统架构设计给出系统的整体架构,包括前端、后端和数据库的交互方式。3.2功能模块设计详细介绍系统的各个功能模块,如会员管理、课程管理、预约管理等。3.3数据库设计阐述数据库的设计方案,包括表结构、字段设计以及数据关系。第4章系统实现介绍马术俱乐部管理系统的实现过程,包括开发环境、编码实现等。4.1开发环境搭建介绍系统开发所需的环境,包括操作系统、开发工具等。4.2编码实现详细介绍系统各个功能模块的编码实现过程。4.3系统测试与调试阐述系统的测试方法、测试用例以及调试过程。第5章系统应用与分析呈现马术俱乐部管理系统的应用效果,并进行性能分析。5.1系统应用情况介绍系统在马术俱乐部中的实际应用情况。5.2系统性能分析从响应时间、并发处理能力等方面对系统性能进行分析。5.3用户反馈与改进收集用户反馈,提出系统改进建议。第6章结论与展望总结马术俱乐部管理系统的设计与实现成果,并展望未来的研究
1、基于OpenWrt开发,编写一个ARP扫描的服务程序arpsd,用于定时扫描指定网段的主机。ARP扫描需要通过socket编程收发ARP包来实现。 2、arpsd使用uci保存配置,配置参数包括:扫描周期(秒)、有效期(秒)、发包间隔(毫秒)、起始IP、结束IP。 例如可以指定192.168.1.100-192.168.1.200,每格60秒扫描一遍,发包间隔100毫秒,如果网络中有192.168.1.101和192.168.1.102两台主机,则扫描结果就是这两个IP地址及对应的MAC地址。 扫描的结果需要在内存中管理维护,一个ARP条目如果超过有效期时间都未被再次扫描到则删除掉该条目。 3、arpsd需要提供ubus服务接口,至少提供以下接口: reload_config(重载配置)、start_scan(开始一次扫描)、stop_scan(停止扫描)、get_scan_status(扫描状态)、get_scan_result(获取最近一次的扫描结果)、clear_result(清楚历史结果)。 4、每次发现一台新的主机(之前扫描时未发现的),通过ubus事件把相关信息发送出来。 5、写一个测试程序test_arpsd,通过C代码调用ubus/uci库API的方式(不能直接调用ubus和uci命令),对各部分功能和接口进行测试。 6、在Network标签下添加一个子页面,标题为ARP Scanner。可以在该web页面上进行以下操作: 修改上述配置参数并生效、执行或终止一次扫描、获取并显示上一次扫描结果。 7、编写为Openwrt的一个软件包,包含所有的c、shell、lua、html代码及Makefile文件。
07-02
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值