C函数调用(2)
1 //函数调用
2
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <math.h>
6 //根据传入的半径,返回圆的面积
7 double calcCircle(double);
8
9 //要对用户输入进行非负的判断
10 int validate(double); //验证输入double 的数值 是否为正数
11
12 //double input(); //输入正确的值,如果不符合,重新输入
13 //矩形
14 double calcRectangle(double,double);
15 //三角形
16 double calcTriangle(double,double);
17
18 int main()
19 {
20
21 double radius;
22 double width,height;
23 double base,heigh;
24 double s;
25 int choice;
26
27 printf("1.圆\n");
28 printf("2.矩形\n");
29 printf("3.三角形\n");
30 printf("本系统只支持计算三种图形的面积,请选择:\n");
31 scanf("%d",&choice);
32
33
34 switch(choice)
35 {
36 case 1:
37
38 printf("请输入圆的半径,我来计算面积:");
39
40 //要对用户输入进行非负的判断
41 do
42 {
43 scanf("%lf",&radius); //录入
44 if(!validate(radius)) // 取反 不是正确的整数,就会有提示!!!
45 {
46 printf("您录入的是负数,请录入整数");
47 }
48
49 }
50 while(!validate(radius)); //当验证不通过的时候,从新录入
51
52 s=calcCircle( radius);//调用
53 break;
54 case 2:
55
56 printf("请输入矩形的长和宽,我来计算面积:");
57 do
58 {
59 scanf("%lf%lf",&width,&height);
60 if(!validate(width) || !validate(height))
61 {
62 printf("您录入的是负数,请录入整数");
63
64 }
65 }
66 while(!validate(width) || !validate(height));
67 //验证通过 ,在调用,计算
68 s = calcRectangle(width, height);
69 break;
70
71 case 3:
72 printf("请输入三角形的底和高,我来计算面积:");
73 do
74 {
75 scanf("%lf%lf",&base,&heigh);
76 if(!validate(base) || !validate(heigh))
77 {
78 printf("您录入的是负数,请录入整数");
79 }
80 }
81
82 while(!validate(base) || !validate(heigh));
83 s = calcTriangle(base,heigh);
84
85
86 break;
87
88 default:
89 printf("本系统只支持3种图形,请在1-3之间选择!!!");
90 }
91
92
93 printf("图形的面积为:%.2lf\n",s);
94 // printf("矩形的面积为:%.2lf\n",s);
95 // printf("三角形的面积为:%.2lf\n",s);
96
97 return 0;
98 }
99
100
101 double calcCircle(double radius)
102 {
103
104 double s = 3.14 *pow(radius,2);
105
106 //返回计算好的面积
107 return s;
108 }
109
110
111
112
113 //矩形
114 double calcRectangle(double width,double height)
115 {
116 return width * height;
117
118 }
119
120
121
122 //三角形
123 double calcTriangle(double base,double heigh)
124 {
125 return base * heigh /2;
126
127 }
128
129
130
131 //验证输入double 的数值 是否为正数
132 int validate(double num)
133 {
134 return num > 0 ; //如果num>0,会返回一个非0值,表示真
135
136 }

C函数调用(2)的更多相关文章
- idapython实现动态函数调用批量注释
部门小伙伴遇到一个样本需要对动态函数调用就行批量注释还原的问题,通过idapython可以大大的减少工作量,其实这一问题也是很多样本分析中最耗时间的一块,下面来看看如何解决这个问题(好吧这才是今年最后 ...
- [汇编与C语言关系]1.函数调用
对于以下程序: int bar(int c, int d) { int e = c + d; return e; } int foo(int a, int b) { return bar(a, b); ...
- javascript函数调用的各种方法!!
在JavaScript中一共有下面4种调用方式: (1) 基本函数调用 (2)方法调用 (3)构造器调用 (4)通过call()和apply()进行调用 1. 基本函数调用 普通函数调用模式,如: J ...
- jsContext全局函数调用与对象函数调用、evaluateScript
evaluateScript:兼具js加载(生成具体的上下文)(函数与通用变量的加载),与函数执行的功能: 函数调用的方式有两种: 1)获取函数(对象),然后执行调用: [context[@" ...
- 用 Graphviz+pvtrace 可视化函数调用
最近在想怎么把一个程序的函数调用关系快速的用流程图的方式画出来,之后看到了这个一篇文章“用 Graphviz 可视化函数调用”(http://www.ibm.com/developerworks/cn ...
- 行内js函数调用
<ul> <li onclick=abc(this);><a href="javascript:void(0);">12234588</a ...
- ObReferenceObjectByName函数调用WIN7下的解决
<寒江独钓 Windows内核安全编程>第4章键盘的过滤ctrl2cap代码中,ObReferenceObjectByName函数调用: [1]extern POBJECT_TYPE Io ...
- c语言函数, 函数调用及函数递归
1. 函数的定义: 返回值类型 函数名(形参列表) {函数体(函数的实现内容)}, 注意: 如果没有参数, 小括号也是必不可少的. 函数与函数之间可以嵌套调用(也就是在一个函数内部可以调用另外一个函 ...
- C/C++函数调用的几种方式及函数名修饰规则以及c++为什么不允许重载仅返回类型不同的函数
我们知道,调用函数时,计算机常用栈来存放函数执行需要的参数,由于栈的空间大小是有限的,在windows下栈是向低地址扩展的数据结构,是一块连续的内存区域.这句话的意思是栈顶的地址和栈的最大容量是系统预 ...
- 深入理解 C 语言的函数调用过程
来源: wjlkoorey 链接:http://blog.chinaunix.net/uid-23069658-id-3981406.html 本文主要从进程栈空间的层面复习一下C语言中函数调用的具体 ...
随机推荐
- Redis i/o timeout
1.背景 公司项目使用国外ucloud云,发现公司业务服务器时常连接redis服务,发生i/o timeout的问题.研发以及服务器侧查看没有异常,反馈给ucolud解决问题.所以这里做一个记录. 2 ...
- Redis之集群
Redis Cluster是 Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求.当遇到单机内存.并发.流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的 ...
- Linux中ls的用法
在linux系统中,可以说一切皆文件.文件类型包含:普通文件,目录,字符设备文件,块设备文件,符号链接文件等 我们可以用file这个命令来查看文件的属性: 这里可以看到1.sh是个脚本文件 下面开始介 ...
- Vue 消除Token过期时刷新页面的重复提示
1.问题现象 页面长时间未操作,再刷新页面时,第一次弹出"token失效,请重新登录!"提示,然后跳转到登录页面,接下来又弹出了n个"Token已过期"的后 ...
- 谁知道百会CRM跟Zoho是一家公司吗?
说到ZohoCRM,无论是搜索引擎还是信息网站,总会有无数的身影.很多人不知道这两家公司的关系,甚至认为百会和Zoho是一家公司.那么,百会CRM和Zoho属于同一类公司吗?它们之间有什么关系?今天小 ...
- 解决spring boot中文乱码问题
在开发或学习当中,我们不可避免的会碰到中文乱码的问题(好想哭,但还是要保持微笑!) 今天,在学习spring boot中碰到了中文乱码问题. 首先,看了一下workspace是不是设置utf-8默认字 ...
- Springboot quartz集群(3) — 多节点发送邮件
本期将提供quartz集群能力 集群案例分析: 上一期的邮件发送功能,若在服务需要部署多节点,但定时任务不支持集群,因此,多节点定时任务势必会同时运行, 若向用户发送邮件通知,这种情况下会向用户发送两 ...
- 创建者模式 -- 单例模式(反射&序列化)
看的视频:https://www.bilibili.com/video/av43896218/?p=286 实现方式:(构造器私有,提供一个外部可以访问的方法(可以提供实例)) 1.饿汉式:线程安全, ...
- hdu 2093 成绩排名
思路: 没啥思路,就是定义结构体,跟题目,走,当时没想到对那个括号的处理,后面看了题解,才知道用个getchar直接判断 算是一个值得思考的点. 代码: #include<bits/stdc++ ...
- 74cms v5.0.1 前台sql注⼊复现
漏洞简介 74cms 5.0.1 前台AjaxPersonalController.class.php存在SQL注⼊ 复现过程 具体信息 文件位置 74cms\upload\Application\H ...