Hola con int se podría hacer de forma similar:
#include <iostream>
#include <string>
using namespace std;
int main() {
//char codigo [8];
int a,b,c,d,e,f,g,h;
string codigo("");
int largoCodigo =0;
string nombre("");
string apellido("");
string telefono("");
string celular("");
string correo("");
string ciudad("");
string pais("");
int unos(0);
int ceros(0);
bool codigoCorrecto(false);
cout << "Ingrese el codigo de seguridad:\ncodigo = ";
cin >> codigo;
largoCodigo = 8;
a=codigo[0]; b=codigo[1];c=codigo[2]; d=codigo[3]; e=codigo[4]; f=codigo[5]; g=codigo[6]; h=codigo[7];
const bool sonOchoCifras(largoCodigo == 8);
const bool esNumBinario((a == '1' || a == '0') &&
(b == '1' || b == '0') &&
(c == '1' || c == '0') &&
(d == '1' || d == '0') &&
(e == '1' || e == '0') &&
(f == '1' || f == '0') &&
(g == '1' || g == '0') &&
(h == '1' || h == '0'));
if (sonOchoCifras && esNumBinario) {
if (a == '1') unos++;
if (b == '1') unos++;
if (c == '1') unos++;
if (d == '1') unos++;
if (e == '0') ceros++;
if (f == '0') ceros++;
if (g == '0') ceros++;
if (h == '0') ceros++;
cout << "Unos = " << unos;
cout << "Ceros = " << ceros;
if (unos == ceros) codigoCorrecto = true;
}
if (codigoCorrecto) {
cout << "\nIngrese los datos del contacto:\n";
cout << "Nombre = ";
cin >> nombre;
cout << "Apellido = ";
cin >> apellido;
cout << "Telefono = ";
cin >> telefono;
cout << "Celular = ";
cin >> celular;
cout << "Correo = ";
cin >> correo;
cout << "Ciudad = ";
cin >> ciudad;
cout << "Pais = ";
cin >> pais;
if (pais != "Venezuela") {
cout << "\nSolo se admiten contactos de Venezuela";
}
} else {
cout << "\nEl codigo de verificacion es incorrecto";
}
}
Salu2