Buenas a todos, mi problema es que cuando ejecuto este programa al darle un carácter y presionar enter me sale un mensaje que dice el "programa ha dejado de funcionar", uso Windows 10 con codeblocks y mingw.
Les agradecería que me puedan ayudar con este problema al decirme porque pasa este problema.
El código es el siguiente:
#include <stdio.h>
int main(void){
char letras[10];
int celdas;
int contador;
/*Pedimos caracteres al usuario y lo almacenamos en celdas del array*/
for(celdas=0; celdas<10; celdas++){
printf("Tecle los caracteres deseados\n ");
scanf("%c", letras[celdas]);
fflush(stdin);
}
/*Le damos el valor a contador para encontrar las veces que se repita a o A*/
contador=0;
/*Recorremos el array en busca de los caracteres a o A. Si las encontramos
aumentamos la variable contador, que es la que lleva la cuanta de cuantas hay */
for(celdas=0;celdas<10;celdas++){
if((letras[celdas]=='a') && (letras[celdas]=='A')){
contador++;
}
}
/*Mostramos cuantas veces los caracters a o A fueron encontrados*/
printf("las letras se repiten %i", contador);
return 0;
}
Te dejo la solucion al problema en c++, quizas tenga algun problema, no he probado a compilar
#include <iostream>
#include <string>
using namespace std;
int main() {
int cont = 0;
char car;
do{ //el bucle se rompe al meter 0
cin >> car;
if (car == 'A' || car == 'a')
cont++;
} while (car != 0);
cout << "Las letras se repiten" << cont << "veces" << endl;
return 0;
}
Buenas..
en esta linea scanf("%c", letras[celdas]); deberia de ser scanf("%c", &letras[celdas]); ya que necesita direccion de memoria donde guardar el dato recogido
tienes razón con darle la dirección gracias por los comentarios