[ Foro de C ]

array de tipo char

08-Sep-2020 22:24
gonzalez ariel
5 Respuestas



#include <stdio.h>
#include <stdlib.h>

void carga(){
	
	char arrayGenero[5];
	int i=0;
	char femenino='f', masculino='m';
	

		while(i<5){
		printf("ingresa la cantidad de femeninos y masculinos F/M \n");
		scanf("%s",&arrayGenero[i]);
		
		if(femenino==arrayGenero[i]){
			
			i++;
			
		}else if(masculino==arrayGenero[i]){
		
			i++;	
			
		}else{
			printf("a ingresado mal el genero ingreselo nuevamente\n");
		}	
		
	  }	
	for(i=0;i<5;i++){
		printf("%s",arrayGenero[i]);
	}

}		
		

int main() {
	
	carga();
	
}


tengo esta funcion que debe cargar un arreglo solo con datos de f o m pero al momento de ejetuar me doy cuenta que no esta guardando los datos ingresados por el usuario


08-Sep-2020 22:32
Nacho Cabanes (+65)

Si lees letras, tu formato de lectura no debería ser %s sino %c, a no ser que emplees una cadena temporal en la que guardar los datos para luego volcarlos a tu array


08-Sep-2020 22:36
gonzalez ariel

como deberia armarlo para poder luego arrastrar el contenido que aparece en el array ? por que cuando intento crear una variable de tipo char para darle temporalmente asignacion a la letra que entrega el usuario el valor como q no esta en el rango


08-Sep-2020 22:39
Nacho Cabanes (+65)

Créate una cadena temporal de al menos dos letras (porque las cadenas terminan en un carácter nulo) y luego tomas la letra que hay en su posición 0.

Aun así, tienes más fallos. Si la letra es incorrecta, avisas pero no la vuelves a pedir.


08-Sep-2020 23:01
gonzalez ariel

#include <stdio.h>
#include <stdlib.h>

void carga(){
char temporal[2];
char arrayGenero[5];
int i=0;
char femenino[2]={"f"}, masculino[2]={"m"};


while(i<5){
printf("ingresa la cantidad de femeninos y masculinos F/M \n");
scanf("%s",&temporal[2]);

if(femenino==temporal)){

i++;
}else if((masculino==temporal)){

i++;

}else{
printf("a ingresado mal el genero ingreselo nuevamente\n");
}

}



}

meda error de esa forma


08-Sep-2020 23:22
gonzalez ariel

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void carga(){
char genero;
char arrayGenero[5];
int i=0;



while(i<5){
printf("ingresa la cantidad de femeninos y masculinos F/M \n");
scanf("%s",&genero);

if(genero!='f' && genero!='m'){
printf("ingrese otro numero\n");
}else{
i++;
}

}
}

int main() {

carga();

}

ahi me el bucle del while no termina nunca






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...