[c/c++] programming之路(11)、顺序分支
一、模块化设计
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void openbaidu(){
ShellExecuteA(,"open","https://www.baidu.com",,,);
}
void closebaidu(){
system("taskkill /f /im 360se.exe");
}
void clickbaidu(){
/*SetWindowPos
MOUSE_EVENT*/
SetCursorPos(,);//设置鼠标位置
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,,,,);//鼠标左键抬起
//mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//鼠标左键按下
//mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//鼠标左键抬起
} //模块化设计:1.打开浏览器(百度) 2.打开网页 3.关闭浏览器
void main(){
while(){
openbaidu();
Sleep();//休眠5秒钟
clickbaidu();
Sleep();
closebaidu();
Sleep();
}
}
二、顺序结构
打开屏幕左上角的计算器,等待2秒,关闭计算器
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void main(){
SetCursorPos(,);
Sleep();
//双击左键
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);//鼠标左键按下
mouse_event(MOUSEEVENTF_LEFTUP,,,,);//鼠标左键抬起
mouse_event(MOUSEEVENTF_LEFTDOWN,,,,);
mouse_event(MOUSEEVENTF_LEFTUP,,,,);
Sleep();
system("taskkill /f /im calc.exe");
system("pause");
}
三、分支结构
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> void main0(){
if(-){//0不执行,非0执行块语句
//0隐藏 1正常 3最大化 6最小化
ShellExecuteA(,"open","http://www.taobao.com",,,);
}
printf("hello taobao");
system("pause");
} void main1(){
int i=;
//每7秒打开百度,每11秒打开淘宝
while(){
if(i%==){
ShellExecuteA(,"open","http://www.baidu.com",,,);
}
if(i%==){
ShellExecuteA(,"open","http://www.taobao.com",,,);
}
if(i%==){
system("taskkill /f /im 360se.exe");
} Sleep();
i++;
printf("第%d秒\n",i);
}
} void main(){
int num;
scanf("%d",&num);
if(num){//判断num是否为0
printf("gogogogo");
}
system("pause");
}
三个数,按从大到小排列
#include<stdio.h>
#include<stdlib.h> void main(){
//从大到小,a最大,c最小
double a,b,c,temp;
//scanf("%f%f%f",&a,&b,&c);
scanf("%lf%lf%lf",&a,&b,&c);//double类型数据,需要用 %lf 格式符
printf("a=%f,b=%f,c=%f",a,b,c);
if(a<b){
temp=a;
a=b;
b=temp;
}
if(a<c){
temp=a;
a=c;
c=temp;
}
if(b<c){
temp=b;
b=c;
c=temp;
}
printf("\n%f,%f,%f",a,b,c);
system("pause");
}
输出绝对值大的数
#include<stdio.h>
#include<stdlib.h> void main(){
int x,y;
unsigned int x1,y1;
scanf("%d%d",&x,&y);
if(x>=){
x1=x;
}else
{
x1=-*x;
}
if(y>=) y1=y;
else
{
y1=-*y;
}
printf("%d",x1>y1?x:y); system("pause");
}
四、逻辑嵌套(求解一元二次方程)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main(){
int a,b,c;
double delt;
printf("请输入a,b,c的值:");
scanf("%d%d%d",&a,&b,&c);
printf("%d*x*x+%d*x+%d=0\n",a,b,c);
//逻辑嵌套
if(a==){
if(b==){
if(c==){
printf("x为任意解");
}else
{
printf("无解");
}
}else{
printf("x= %f",-1.0*c/b);//一元一次方程
}
}else{
delt=b*b-*a*c;
if(delt<){
printf("方程只有两个虚根:x1=%f+%fi,x2=%f-%fi",-1.0*b//a,sqrt(-delt)//a,-1.0*b//a,sqrt(-delt)//a);
}else{
printf("方程有两个实根:x1=%f,x2=%f",(-b+sqrt(delt))//a,(-b-sqrt(delt))//a);
}
}
system("pause");
}
四、switch语句
#include<stdio.h>
#include<stdlib.h>
void main(){
int num;
scanf("%d",&num);
printf("%d",num);
switch (num)
{
case ://几个case分支没有顺序区别
printf("司令");
break;
case :
printf("军长");
break;
case :
printf("师长");
break;
case :
printf("旅长");
break;
case :
printf("团长");
break;
case :
printf("营长");
break;
case :
printf("连长");
break;
case :
printf("排长");
break;
case :
printf("班长");
break;
case :
printf("小组长");
break;
case :
case -://共用语句
printf("大兵阿飞");
break;
default://switch语句中可以不含default分支
printf("输入错误");
break;
}
system("pause");
}
[c/c++] programming之路(11)、顺序分支的更多相关文章
- Introduction to 3D Game Programming with DirectX 11 翻译--开篇
Direct3D 11简介 Direct3D 11是一个渲染库,用于在Windows平台上使用现代图形硬件编写高性能3D图形应用程序.Direct3D是一个windows底层库,因为它的应用程序编程接 ...
- 11.Git分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- 小白的python之路11/14
视频69 固定命令的方式 1 vim /etc/profile 2 vim /etc/bashrc 3 vim /root/.bashrc 4 vim /root/.bash_profile 5 cd ...
- Emu8086三种格式的代码-(顺序,分支,循环)
这个学期准备考研,于是就没有怎么听别的课,现在临近期末,汇编成了个难题.下面是我学校的实验报告 做一个复习的记录吧,下面的代码都是在Emu8086上运行出来的代码 下面先介绍一下,汇编里面的格式问题 ...
- Python学习之路11☞异常处理
一 错误和异常 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 de ...
- [ASP.NET MVC 小牛之路]11 - Filter
Filter(筛选器)是基于AOP(面向方面编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑,以非常简单优美的方式实现横切关注点(Cross-cutting Concerns).横切关 ...
- python学习之路-11 多线程、多进程、协程
python内置队列模块 queue queue的四种队列 q = queue.Queue() # 先进先出队列 q = queue.LifoQueue() # 后进先出队列 q = queue.Pr ...
- python成长之路11
一.线程: 创建线程有两种方式(本质是一样的,创建好线程之后,cpu调度创建好的线程时执行的其实是Thread的run()方法): import threading def f1(args):prin ...
- 【python之路11】集合数据类型(set)
集合数据类型(set):集合是不重复的无需序列 1.集合数据类型的创建 a = {11,22,33} #或 a = set() #创建空集合,不能用a={},这样创建的是字典类型 2.集合转换(将可迭 ...
随机推荐
- Golang package
今天,灵感一现:不能一个文件干到底吧,那要是工程大了怎么办? 答案很简单,“包”啊 GO里的包,看起来很简单,但又不简单 一开始,我想当然的以为就是include 路径一样的问题 事实是,GO以GOP ...
- (已解决)在linux的虚拟机上安装vmware tools(实现windows与虚拟机之间的文件交互复制粘贴)
Linux下需要安装VMware Tools工具来实现主机和虚拟机直接文件复制粘贴功能,安装方法如下: ①点击虚拟机VM菜单栏--虚拟机--安装VMware Tools. ②然后RedHat系统中弹出 ...
- 文档设计也需要坚持DRY原则--支付中心应用部署结构图完善
今天上午,我拿着支付中心的设计文档,给入职不久的同事讲解目前支付中心系统的应用部署情况.当时同事嗯嗯地点头反应. 下午呢,发现自己设计的有问题,赶紧给予完善. 代码重构方面讲究DRY编程原则.我们在设 ...
- filename
package com.enjoyor.soa.traffic.server.tms.controller; import java.io.BufferedReader;import java.io. ...
- composer----------composer初体验,如何安装,如何下载
最近PHP里面比较火的一款框架laravel,想学一下看下这个框架到底哪里好.这款框架的中文官网激励推荐composer,没办法就去学了一些composer.结果整了半天,还不如看一段短视频学的容易. ...
- 进入Linux单用户模式
1. 在启动系统出现如下画面时按Enter键进入系统设置页面: 2. 系统设置页面: 3. 按下e键进入: 4. 选择第二项,按e键进入 5. ...
- git起步
关于版本控制 什么是版本控制?为什么要版本控制? 版本控制是记录文件内容变化,以便在将来查阅特定版本的系统.有了版本控制,我们就可以将某个文件或是整个项目回退到之前的某个时间段,查看现在和之前相比项目 ...
- 取n的第k位
实例二:取n的第k位 方法:a>> k & 1 某值a右移K位后与整数“1”进行与运算.即把需要第几位就右移几位. 例子: 0000 1000 ------8右移3位 0000 0 ...
- Object-C-自定义类型归档
对自定义类型的对象进行本地化保存,那么该类型必须实现NSCoding协议! NSCoding 协议中只有两个方法,都是require的方法,一个是把本身的类型进行编码,一个是解码成类对象,返回一个对象 ...
- request.getServletPath(),request.getContextPath()
2018-11-24 16:34:33 1. getServletPath():获取能够与“url-pattern”中匹配的路径,注意是完全匹配的部分,*的部分不包括. 2. getPageInfo ...