Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: rfgaz en Agosto 10, 2017, 05:14:05 AM

Título: [SOLUCIONADO] Problema al introducir caracter en programa de C
Publicado por: rfgaz en Agosto 10, 2017, 05:14:05 AM
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;
}
Título: Re:Problema al introducir caracter en programa de C
Publicado por: sadfud en Agosto 10, 2017, 06:47:40 AM
Te dejo la solucion al problema en c++, quizas tenga algun problema, no he probado a compilar

Código (cpp) [Seleccionar]
#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;
}


Título: Re:Problema al introducir caracter en programa de C
Publicado por: salteadorNeo en Agosto 10, 2017, 08:10:22 AM
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
Título: Re:Problema al introducir caracter en programa de C
Publicado por: rfgaz en Agosto 10, 2017, 12:55:44 PM
tienes razón con darle la dirección gracias por los comentarios