软件测试代码1

#include <iostream>
using namespace std;




int getWeekDay(int year, int month, int day)
{


int weekday;


for(;month<=0||month>12;)
{
if(month<=0)
{
year-=1;
month+=12;
}
else if(month>12)
{
year+=1;
month-=12;
}
}
weekday=year>0?(5+(year+1)+(year-1)/4-(year-1)/100+(year-1)/400)%7: (5+year+year/4-year/100+year/400)%7;
weekday=month>2?(weekday+2*(month+1)+3*(month+1)/5)%7: (weekday+2*(month+2)+3*(month+2)/5)%7;
if(((year%4==0&&year%100!=0)||year%400==0)&&month>2)
{
weekday=(weekday+1)%7;
}
weekday=(weekday+day)%7;


return weekday;
}


int main(){
int sy,smonth,sd,sh,sm,ss;
int ey,emonth,ed,eh,em,es;
float totalsecond;
float totalminiute;
float cost;
int day;
while(true){
cout<<"请输入开始年月日时分秒,每个元素以回车结束"<<endl;
cin>>sy>>smonth>>sd>>sh>>sm>>ss;
if(sy<1912||sy>2112){
cout<<"输入年份错误,范围为1912<=year<=2112,请重输入年份"<<endl;
cin>>sy;
}
if(smonth<1||smonth>12){
cout<<"输入月份错误,范围为1<=month<=12,请重输入月份"<<endl;
cin>>smonth;
}
if(sd<1||sd>31){
cout<<"输入日错误,范围为1<=day<=31,请重输入日"<<endl;
cin>>sd;
}
if(sh<0||sh>24){
cout<<"输入小时错误,范围为0<=hour<=24,请重输入小时"<<endl;
cin>>sh;
}
if(sm<0||sm>60){
cout<<"输入分钟错误,范围为0<=minute<=60,请重输入分钟"<<endl;
cin>>sm;
}


cout<<"请输入结束年月日时分秒,每个元素以回车结束"<<endl;
cin>>ey>>emonth>>ed>>eh>>em>>es;
if(ey<1912||ey>2112){
cout<<"输入年份错误,范围为1912<=year<=2112,请重输入年份"<<endl;
cin>>ey;
}
if(emonth<1||emonth>12){
cout<<"输入月份错误,范围为1<=month<=12,请重输入月份"<<endl;
cin>>emonth;
}
if(ed<1||ed>31){
cout<<"输入日错误,范围为1<=day<=31,请重输入日"<<endl;
cin>>ed;
}
if(eh<0||eh>24){
cout<<"输入小时错误,范围为0<=hour<=24,请重输入小时"<<endl;
cin>>eh;
}
if(em<0||em>60){
cout<<"输入分钟错误,范围为0<=minute<=60,请重输入分钟"<<endl;
cin>>em;
}


/*
*计算三月末四月初的周日
*
*/
int i;
for(i = 0; i < 10; i++){
  if(getWeekDay(sy,3,26+i)==0){
if(i == 0 || i == 1)
continue;
else break;
  }
}


int j;
for(j = 7; j > 0; j --){
  if(getWeekDay(sy,10,31-j)==0)
break;
}
if(ed > sd)
  totalsecond = 24*60*60-(sh*60*60+sm*60+ss)+eh*60*60+em*60+es;
else totalsecond = (eh*60*60+em*60+es)-(sh*60*60+sm*60+ss);
totalminiute = totalsecond/60;
if(smonth == 3 && sd == 26 + i && sh < 2 && eh >= 3)
  totalminiute -= 60;
if(smonth == 10 && sd == 31 - j && sh < 3)
  totalminiute += 60;
if(totalminiute <= 20)
  cost = 0.05 * totalminiute;
else
  cost = 1 + (totalminiute-20)*0.1;


cout <<"总花费为"<<cost<<endl;
}


}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能车主控芯片采用STM32F103ZET6,该处理器为32 位ARM Cortex-M3 处理器,工作频率为72MHz,64K SRAM,512K Flash,12 位ADC,12 位DAC,12 通道DMA,11 个多功能定时器,多达13 个通信接口:2 个I2C 接口(支持SMBus/PMBus),5 个USART 接口(支持ISO7816、LIN、IrDA 接口和调制解调控制),3 个SPI 接口,CAN 接口,USB 2.0 全速接口,SDIO 接口。 目录 智能车简介 4 主控芯片简介 4 传感器模块 4 第一章 STM32基础实验 5 实验一 Keil uVision4安装以及软件介绍 6 实验二 LED流水灯基础实验 10 引脚分配 10 实验原理 10 函数简介 11 实验步骤 11 实验三 精确延时(SysTick) 12 引脚分配 12 实验原理 12 函数简介 12 实验步骤 13 实验四 串口打印实验 14 引脚分配 14 实验原理 14 函数简介 14 实验步骤 14 实验五 定时器控制 16 引脚分配 16 实验原理 16 函数简介 17 实验步骤 17 实验六 AD转化实验 18 引脚分配 18 实验原理 18 函数简介 18 实验步骤 18 第二章 智能车实验 20 实验一 液晶显示实验 21 引脚分配 21 实验原理 21 函数简介 22 实验步骤 23 实验二 按键检测实验 24 引脚分配 24 实验原理 24 函数简介 26 实验步骤 26 实验三 电机控制实验 28 引脚分配 28 实验原理 28 函数简介 29 实验步骤 29 实验四 转速检测实验 31 引脚分配 31 实验原理 31 函数简介 31 实验步骤 32 实验五 黑线寻迹实验 33 引脚分配 33 实验原理 33 函数简介 34 实验步骤 34 实验六 电池电量检测实验 36 引脚分配 36 实验原理 36 实验步骤 36 实验七 自动避障实验 37 引脚分配 37 实验原理 37 函数简介 37 实验步骤 37 实验八 RFID卡片读取实验 38 引脚分配 38 实验原理 38 函数简介 38 实验步骤 39 实验九 语音播报实验 40 引脚分配 40 实验原理 40 实验步骤 40 实验十 Zigbee数据传输实验 41 引脚分配 41 实验原理 41 函数简介 43 实验步骤 43

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值