第七课 变量的键盘输入
【可执行程序】(注:新版webGoC直接编译运行,没有使用devcpp,仅支持少量c++语言)
前面课程中所讲的程序准确的名称叫源程序,更进一步叫C++源程序。计算机里必须安装了DevCpp和GoC指定版本的软件,在规定的目录里打开,并按【F11】键才能运行。
![]() |
按【F11】键是为了调用“编译运行”功能。这里编译就是把C++源程序“翻译”成可以运行的可执行程序;运行就是调用这个可执行程序。
例如:对于下面样例程序7.1,在GoC环境里按【F11】键,会将C++源程序7.1编译为可执行程序,当前目录下会出现:。
这个可执行文件可以拷贝给其他人,只要是使用windows系统机器,不需要有Devcpp和GoC软件就可以运行这个程序。
样例程序7.1 |
图形 |
//prog:射线 //author:teacher //2015.9.30
int main() { pen.speed(4).show(); int N=6; for(int i=0; i<N; i++) { pen.fd(100); pen<< i ; pen.bk(100); pen.rt(360.0/N); } return0; } |
|
【变量的键盘输入】
程序7.1中使用了变量N,程序的阅读性和修改性都提高了很多,只要修改“int N=6;”这句,再编译运行(按F11)就可以得到不同边数的放射图形。
不过这样有个问题:
l 每次修改要重新编译。
l 产生的可执行程序是固定的,只能画相同的图形。把它拷贝给其他用户,只能画固定边数的射线。
程序设计中解决这个问题的方法是:在程序运行阶段,才通过键盘输入变量N的值。
C++的键盘输入可以用一种称为“流”的简单方法,语法格式为:
cin >>变量名;
当程序运行到这句时,就会出现一个输入窗口,等待用户从键盘敲入数据,当按键盘上的回车键(Enter)表示输入结束时,输入窗口的数据就会赋值给这个变量。
![]() |
使用键盘输入语句,程序7.1可修改为:
样例程序7.2 |
图形 |
//prog:射线2 //author:teacher //2015.9.30
int main() { pen.speed(4).show(); int N; cin>> N; //键盘输入N for(int i=0; i<N; i++) { pen.fd(100); pen<< i; pen.bk(100); pen.rt(360.0/N); } return0; } |
GoC中,在输入窗口敲入4,回车后4赋值给变量N:
|
这时编译出来的程序可多次运行(可在GoC里,点击运行按钮),输入不同的值,得到不同的图形。
新知识:
cin >> N;的解释
l cin是“controlinput”的缩写,中文意思“控制台输入”,这里就是指键盘输入。
l >>形象地表示了“输入流”的方向,数据从键盘“流”向变量N。相应的GoC特有的pen<<i;这句中的<<正好方向相反,表示变量i的值“流”向笔,然后笔在当前位置“画”出i的值。
例题7.3:根据键盘输入的长、宽、颜色编号,画矩形。
样例程序7.3 |
图形 |
//prog:样例程序7.3 //author: teacher //2015.9.30
int main() { int h, w, c; //定义长、宽、颜色3个变量 cin>> h>> w>> c; //输入3个变量 pen.color( c ); for(int i=0; i<2; i++) pen.fd(h).rt(90).fd(w).rt(90); return0; }
|
键盘输入: 100 200 3 的运行结果图形。
|
新知识:
l “int h, w, c;”一句同时定义3个变量,等同于“int h;int w;int c;”三句。
l “cin>>h>>w>>c;”一句连续输入3个变量,等同于“cin>> h; cin >> w; cin >> c;”三句。
l 键盘连续输入几个数据时,数据之间要用空格隔开。注:可以是多个空格。
【练习】
一、编写画正多边形的通用程序,边长和边数由键盘输入。
二、编写画边长是100的正三角形,三条边的颜色由键盘输入。
三、研究下面程序和图形,创作出灵活多变的绘图程序。
程序 |
图形 |
//prog:练习程序7.3 //author: teacher //2015.9.30
int main() { pen.speed(9).color( _red ); int ang; cin>> ang; //输入角度 for(int i=1;i<=500;i++) { pen.fd(i*0.3); pen.rt(ang); } return0; }
|
|
【拓展知识】(注:新版webGoC使用pen.rgb(r,g,b)设置第16种颜色)
用颜色编号只能指定16种颜色,RGB格式的颜色几乎无穷种,帮助文件《RGB颜色对照表》列举了一些常见的RGB颜色值。清屏命令pen.cls(颜色 )中,颜色可以是RGB格式的,比如pen.cls(255,0,0)就是用红色清除(涂满)屏幕。下面程序可以让你10次输入三个0到255之间的数,用相应的颜色清屏,来感受RGB颜色的多样性。要进一步了解RGB颜色的原理,请自行百度一下。
程序 |
图形 |
//prog:测试RGB //author: teacher //2015.9.30
int main() { int r,g,b; for(int i=0; i<10; i++) { cin>> r>> g>> b; pen.cls(r, g, b); } return0; } |
输入:130 100 255
|
【学习目标】
(1) 了解源程序、可执行程序的区别。
(2) 理解编译的过程。
(3) 会用cin命令键盘输入整数。
(4) 会cin连续输入几个数据的形式。