Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de C++ Básico

Curso de C++ Básico

Diana Martínez

Diana Martínez

El condicional if

12/18
Recursos

Aportes 31

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Acá les dejo este valioso recurso para los que están haciendo operaciones entre operadores lógicos, la tabla de la verdad. Es muy útil para saber el posible resultado.

Reto de la clase:

#include <iostream>
using namespace std;
// int variable.
int age;

int main() {
    // The program asks for the user's age.
    cout << "Please, enter your age: ";
    // User's age is saved in the variable.
    cin >> age;

    /* If the user's age is less than 18,
         he can't vote or if the user's age is
         greater than 40, he can't vote neither. */
    if ( age < 18 || age > 40) {
        cout << "You can't vote" << endl;
    }
    else {
        cout << "You can vote!" << endl;    
    }     
}

El código quedaría también usando rangos, usando el ejemplo de la edad quedaría así:

if((edad > 17) &&(edad <48)){
        printf("puede votar y ser votado(a)\n");
    }else{
        printf("NO puede votar y NI ser votado(a)\n");
    }

Creo que hay un error en la definición del operador lógico AND. Ella dice que si alguno de los dos lados es true, sin importar si el otro es false, dará true. No es cierta esta afirmación ya que según la definición general es que solo dará true si los dos operandos son true.

Les dejo mi codigó:

Primera Parte:

#include <iostream>

using namespace std;

int main() {
  const bool andTest = true && true;
  const bool orTest = true || true;
  const bool negation = !true;
  cout << andTest << endl;
}

Segunda Parte:

#include <iostream>

using namespace std;

int main() {
  int age;
  cout << "Enter your age: " << endl;
  cin >> age;
  if (age >= 18 && age <= 60) {
    cout << "You can vote." << endl;
  } else {
    cout << "You can't vote." << endl;
  }
}

Codigo del reto

#include <iostream> // obtener datos de entrada o de salida
using namespace std; //te permite utilizar, en el código, 
                        //nombres estandar de c++, para poder importarlas 
                        //sin necesidad de escribir desde donde la estamos importando
int main() {
    int edad = 0;
    cout << "edad: ";
    cin >> edad;
    if (edad <= 18 || edad >= 40) {
        cout << "No puedes votar";
    }
     else {
        cout << "Puedes votar";
    }
}

Creo que usando solo && también podíamos conseguir algo bueno

#include <iostream>

using namespace std;

int main()
{
    int age;
    cout << "Ingresa tu edad: " << endl;
    cin >> age;

    if (age >= 18 && age <= 40)
    {
        cout << "Puedes votar" << endl;
    }
    else
    {
        cout << "No puedes votar " << endl;
    }
}

mi desafio

<#include <iostream>
using namespace std;

int main()
{   
    int edad = 0; 
    cout << "introduce tu edad";
    cin >> edad; 

    if ( edad >= 18 || edad <= 100)
    {
        cout << "Bienvenido a la votacion";
    }
    
    else {
        cout << "Usted no tiene la edad para votar";
    }
}> 

Yo lo hice con AND (&&)

int age = 0;
    cout << "Ingresa tu Edad: ";
    cin >> age;


    if(age >= 18 && age <= 40){
        cout << "Puedes Votar" <<endl;       
    }
    
    else{
        cout << "No puedes Votar" <<endl;
    }

Mi solución al reto. Vamos con todo, que podremos llegar a realizar los juegos que queremos!!

#include <iostream>

using namespace std;

int main(){
    int edad = 0;
    cout << "edad: ";
    cin >> edad;

    if (edad <18 || edad > 40){
        cout << "No puedes votar";
    }
    else {
        cout << "Puedes votar";
    }
}
    //Using && = and
    if (age > 18 && age < 40) {
        cout << "You can vote";
    }
    else {
        cout << "You can't vote";
    }

    //Using || = or
    if (age < 18 || age > 40) {
        cout << "You can't vote";
    }
    else {
        cout << "You can vote";
    } 

Tambien pueden hacer uso del operador ternario(?) como en C

#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    string name;
    int age;

    cout << "Enter your name: ";
    cin >> name;

    cout << "Hello " << name << ", please enter your age: ";
    cin >> age;

    string enter = age >= 18 ? "you can enter" : "less than 18";
    cout << enter;


    return 0;
}

#include <iostream>

using namespace std;

int main(){
    int age = 0;
    cout << "Age: ";
    cin >> age;
    if (age >= 18 && age < 50){
        cout << "Puedes votas";
    } else if (age < 18 || age >= 50) {
        cout << "No puedes votas";
    } else {
        cout << "Ingresa una edad valida";
    }
}

Aquí el reto de la clase 😃

#include <iostream>

using namespace std;

int main()
{
    int edad;
    cout << "Ingrese edad" << endl;
    cin >> edad;
    if (edad < 18 || edad > 40)
    {
        cout << "Perdon, no puedes votar";
    }
    else
    {
        cout << "Puedes votar" << endl;
    }
}

Les dejo mi solución:

#include <iostream>

using namespace std;

int main()
{
    int edad = 0;
    cout << "¿Que edad tienes?";
    cin >> edad;
    if (edad < 18 || edad > 40)
    {
        cout << "No puedes votar";
    }
    else
    {
        cout << "Puedes votar";
    }
}
#include <iostream>
using namespace std;

int main()
{
    int edad = 0;
    cout << "Cuál es tu edad: ";
    cin >> edad;
    if (edad < 18 || edad > 40) {
        cout << "No puedes votar :/";
    } else {
        cout << "Puedes votar :)";
    }
}

#include <iostream>

using namespace std;

int main() {
int edad = 0;
cout << "edad : ";
cin >> edad;
if (edad >= 18 && edad <= 40) {
cout << “puedes votar”;

}
else {
	cout << "no puedes votar";
}

}
#include <iostream>
using namespace std;

int main () {
	int edad = 0;
	cout << "Ingresa tu edad: ";
	cin >> edad;
	cout << "Tu edad es: " << edad << endl;

	if (edad >= 18 && edad <= 40) {
cout << "Adelante! Puedes votar";
	} else {
		cout << "No puedes votar! ";
	}
}

&& en las tablas de verdad solo es verdadero si ambos valores son verdaderos, quede algo confuso.

Reto:
Escriban la siguiente linea de código en su ejercicio dentro de VS Code 💻 (o el editor/IDE que estén utilizando) y comenten el resultado. ¿Pueden explicar el por qué del resultado? 🤔

// ...
bool notNot = !(!true);
bool algunValor = true;
cout << "Comparacion: " << (notNot == algunValor) << endl;
// ...

Espero que hagan el ejercicio y les parezca interesante. A seguir adelante 👉🏼

Mi código:

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
	
	int edad;
	int respuesta;
	
	do{
	cout<<"\nDigite su edad"<<endl;
	cin>>edad;
	
	if (edad >= 18 && edad<=40){
		cout<<"\nPuedes botar"<<endl;
	}
	else{
		if (edad > 40){
			cout<<"\nNo puedes botar porque es muy mayor"<<endl;
		}
		else if (edad < 18){
			cout<<"\nEres muy menor para botar"<<endl;
			
		}
	}
	cout<<"\nQuieres volver a escribir a escribir tu edad 1 para si y 2 no"<<endl;
	cin>>respuesta;
	}while(respuesta == 1);
	return 0;
 }

Para no realizar un if anidado, o un else if, se puede realizar la comparación del rango de edad.

#include <iostream>
using namespace std;

int main ()
{
        int edad;
        cout << "Ingresa tu edad\n";
        cin >> edad;

        if (edad >= 18 && edad <= 40)
                cout << "Puedes votar, estas dentro del rango permitido\n";
        else
                cout << "No puedes votar, no estas dentreo del rango permitido\n";

        return 0;
}
~          
 if (edad >= 18 && edad <= 40)  
  {
    cout << "Puedes Votar";
  }else
  {
    cout << "No puedes Votar";
  }

#include <iostream>

using namespace std;

int main()
{
  int age;
  cout << "Introduce your age: " << endl;
  cin >> age;
  switch (age)
  {
  case 0 ... 18:
    cout << "You are a child" << endl;
    break;
  case 19 ... 42:
    cout << "You are an adult" << endl;
    break;
  case 43 ... 65:
    cout << "You are a senior" << endl;
    break;
  case 66 ... 125:
    cout << "You are a venerable" << endl;
    break;
  default:
    break;
  }
}

Reto

#include <iostream>

using namespace std;
int main() {
    int edad = 0;
    cout << "Edad: ";
    cin >> edad;
    if (edad < 18 || edad > 40) {
        cout << "No puedes votar";
    } else {
        cout << "Puedes votar";
    }
}
#include <iostream>

using namespace std;

int main()
{
    int edad = 0;
    cout << "Edad: ";
    cin >> edad;
    if (edad < 18 || edad > 40)
    {
        cout << "NO puedes votar \n";          
    }
    else{
        cout << "Puedes votar \n";
    }
    
}

#include<iostream>
using namespace std;
int main() {
int age;
cout<<“enter your name”;
cin>>age;/*
if(age<18){
cout<<"you can´t vote ";
}else if(age>40){

        cout<<"you cant vote ";
    }else{
        cout<<"you cant vote";

    }*/
    if(age>=18 || age<50){
        cout<<"your cant vote";

    }else{
        cout<<"your can vote";


    }

}

if (age >= 18 && age <= 40) {
    cout << "You can vote";
}
else {
    cout << "You can't vote";
}
#include <iostream> int main(){ int edad; cout<<"que edad tiene?"; cin>>edad; if (edad < 18 || edad > 40){ cout<<"no puedes votar"; } else{ cout<<"puedes votar"; } }
int main() {
	//Evaluar si puede votar
	int edad = 0;
	cout << "Edad: " << endl;
	cin >> edad;
	
	if (edad >= 18 && edad <= 40) {
		cout << "Puedes votar" << endl;
	}
	else {
		cout << "No puedes votar" << endl;
	}
}