[SOLUCIONADO] Problema al introducir caracter en programa de C

Iniciado por rfgaz, Agosto 10, 2017, 05:14:05 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 10, 2017, 05:14:05 AM Ultima modificación: Agosto 12, 2017, 10:28:34 AM por Stiuvert
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:

Código: text
#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

Código: cpp
#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;
}


Mi blog: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si necesitas ayuda, no dudes en mandar MP

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