Tip:
Highlight text to annotate it
X
>> DAVID J. Malan: Imos comezar a escribir algunhas condicións máis complexas.
En particular, imos escribir un programa que solicita ao usuario a un número enteiro,
dicir, entre 1 e 10, e, a continuación, fai un pouco de análise.
Pero esta vez do informe que número é pequeno ou medio ou grande
tamaño, deseño esas distincións bastante arbitraria.
>> Para iso, eu vou confiar en get int, que a función do CS50
biblioteca que fai exactamente iso.
E eu tamén vou alavancagem de impresión f.
Entón eu vou para comezar incluíndo cs50.h como
así como estándar io.h.
>> E vai, logo declarar principal no forma usual, void main int, rizado aberto
cinta, preto bosquexo.
E eu estou indo, a continuación, para solicitar o usuario a un número enteiro.
Imprimir f, por favor me dea un int entre 1 e 10.
>> Agora imos que int declarando unha variable chamada, digamos, n e atribuíndo
que o valor de retorno de get int.
Imos agora facer un pouco de análise.
>> Se n é maior que ou igual a 0 e n é inferior ou igual a, por exemplo, 3,
entón nós estamos indo a ir adiante e impresión fóra que colleu un pequeno int.
>> Outra cousa, se o usuario escolle, digamos, un valor medio porte, imos
comprobe que as seguintes.
Senón, se non for maior que ou igual a, por exemplo, 4 e n é inferior ou igual a,
digamos, 7, entón eu vou para imprimir fóra que colleu un medio int.
>> Finalmente, eu vou asumir que se o valor sitúase entre 8 e 10, eles
escolleu un gran int.
Así, para expresalo, vou escribir, else if n é maior que ou igual a 8 e n
é menor ou igual a 10, vai adiante e imprimir escolleu un gran int.
>> En caso contrario, hai unha cuarta condición aquí.
O usuario non cooperou e, en vez ingresaran un valor que é menos que
0 ou maior que 10, quero simplemente bronca.
Else imprimir, escolleu un int válido.
>> Imos gardar o ficheiro.
Recompila-lo con facer non switch.
De volta ao meu aviso, vou correr con punto barra non switch.
E imos tratar algúns valores.
>> En primeiro lugar, imos non cooperar e escriba negativo 1.
Afortunadamente, que foi detectado polo noso ramo final en que condición.
Imos tentar de novo con corte de punto non clave, esta vez dándolle 1.
Eu, de feito pegou un pequeno int.
>> Imos facelo de novo co corte de punto non clave, esta vez pegando, digamos, 5.
E iso é un medio de int.
Imos agora facer de novo dot reducir non switch.
E darlle un valor de 10, que é de feito un gran int.
>> Agora paga a pena notar que este programa podería ser aplicado en
calquera número de formas.
En primeiro lugar, foi completamente arbitrario que eu deseño as liñas que eu
fixo entre pequeno, medio e grandes Ints.
Poderiamos ter tirado os límites en calquera lugar.
>> Pero o máis interesante, eu non tiña expresar-me con todos estes
maior que ou igual a ou menos que ou igual a sinais.
Eu podería, por exemplo, reescrito se n é maior que ou igual a 4 e
n é inferior ou igual a 7, como en vez se n é maior que 3 e n
é inferior a 8, a continuación, imprimir escolleu un medio de int.
>> Despois, se a entrada do usuario, por natureza get int, é un enteiro, que
ou pode probar se ese valor é maior a 3 ou maior que ou
igual a 4.
E poderiamos tamén comprobar que aquel valor inferior a 8 ou menos
que ou igual a 7.