Hola, soy nuevo en C++ y estoy haciendo este ejercicio.
Leer un número entero de dos dígitos y determinar si es primo y además si es negativo.
El problema es que me da error al momento de arrancarlo y no se por qué ya que es mi primer programa en C++.
Espero puedan ayudarme.
Código:
#include <iostream>
using namespace std;
/*
Tema: P2 - Algoritmos Decisiones
2. Leer un número entero de dos dígitos y determinar si es primo y además si es negativo.
*/
int main()
{
//Declaración de variables
int liNumero, liContador, liContadora = 0;
//Entrada de datos
cout << "Ingrese un n\243mero entero de dos d\241gitos: " << endl;
cin >> liNumero;
//Procesamiento
if (liNumero < 10 || liNumero > 99)
cout << "\n\tError!, el n\243mero debe tener dos d\241gitos." << endl;
else
{
for(liContador = 1; liContador <= liNumero; liContador++)
{
if (liNumero % liContador == 0)
liContadora++; //Variable contadora
}
//Si tiene dos divisores
if (liContadora == 2)
{
cout << "El n\243mero es primo." << endl;
//Determinamos si es negativo
if (liNumero < 0)
cout << "El n\243mero es negativo." << endl;
}
//Si no tiene dos divisores
else if
{
cout << "El n\243mero no es primo." << endl;
//Determinamos si es negativo
if (liNumero < 0)
cout << "El n\243mero es negativo." << endl;
}
}
return 0;
}
Tambien cuando ingreso -11, me muestra error y no se por qué si es 11 primo y deberia mostrarme: es negativo.
Qué tengo mal en los IF?..