Buenas, estoy con un ejercicio ( voy por partes ahora mismo no estoy atacando el problema como tal), mi idea es controlar lo que el usuario mete, con una condición guardo 8 0 o 1 si introduce algo que no es, lo siguiente que introduzca el usuario quiero macharlo ( con el fin de no guardar cosas que luego tendría que quitar), y si el usuario introduce un negativo corte pero la cosa es que no consigo que la función mía imprima para ver si lo tengo bien mi vector alguien me podría decir por que?
// Implemente un programa que lea desde teclado valores de bits ( ceros y unos como enteros)
// ,ignorando el resto de números positivos. El programa terminará cuando se lea un valor
// negativo. Cada 8 bits leídos, el programa calculará el número entero que representa
// y lo transformará en el carácter(char) correspondiente. El primer bit leído es el más
// significativo. Si el carácter corresponde a una letra mayúscula o minúscula, lo
// mostrará por pantalla. En caso contrario, lo sumará a un contador OTROS. Al final, el
// programa debe mostrar el porcentaje de letras y OTROS símbolos leídos.
// Si al terminar no se ha leído un bloque entero de 8 bits, no se imprimira el carácter
#include <iostream>
using namespace std;
int const MAX_VECTOR = 30;
void imprimir(char _vector[MAX_VECTOR]);
int main() {
// Variables y constantes
int num_introducido = 0;
char vector[30] = {0};
int contador = 0;
int contador_vector = 0;
// Desarrollo del programa
do{
cout << "Introduce un bit: " << endl;
cin >> num_introducido;
if(num_introducido >= 0 && num_introducido <= 1){
vector[contador] += num_introducido;
contador_vector++;
}
if(contador_vector < 8){
contador++;
}
}while(num_introducido >= 0);
imprimir(vector);
return 0;
}
void imprimir(char _vector[MAX_VECTOR]){
for(int i = 0; i < MAX_VECTOR; i++){
cout << _vector << endl;
}
}
// Implemente un programa que lea desde teclado valores de bits ( ceros y unos como enteros)
// ,ignorando el resto de números positivos. El programa terminará cuando se lea un valor
// negativo. Cada 8 bits leídos, el programa calculará el número entero que representa
// y lo transformará en el carácter(char) correspondiente. El primer bit leído es el más
// significativo. Si el carácter corresponde a una letra mayúscula o minúscula, lo
// mostrará por pantalla. En caso contrario, lo sumará a un contador OTROS. Al final, el
// programa debe mostrar el porcentaje de letras y OTROS símbolos leídos.
// Si al terminar no se ha leído un bloque entero de 8 bits, no se imprimira el carácter
#include <iostream>
using namespace std;
int const MAX_VECTOR = 30;
void imprimir(char _vector[MAX_VECTOR]);
int main() {
// Variables y constantes
int num_introducido = 0;
char vector[30] = {0};
int contador = 0;
int contador_vector = 0;
// Desarrollo del programa
do{
cout << "Introduce un bit: " << endl;
cin >> num_introducido;
if(num_introducido >= 0 && num_introducido <= 1){
vector[contador] += num_introducido;
contador_vector++;
}
if(contador_vector < 8){
contador++;
}
}while(num_introducido >= 0);
imprimir(vector);
return 0;
}
void imprimir(char _vector[MAX_VECTOR]){
for(int i = 0; i < MAX_VECTOR; i++){
cout << _vector << endl;
}
}