| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
davidmaidana
Registrado: 04 Jun 2012 Mensajes: 27
| Publicado: 30/06/2012 3:06 pm | | | Título: ayuda |
| alguien me puede decir por que al compilarlo y ejec, me salen un monton de "printf"
# include <stdio.h> # include <conio.h> int main() { int i; char sexo, estado; for(i=0; i<5; i++) printf("ing el estado civil:\ns para soltero\nc para casado\nv para viudo\nd para divorciado\t"); scanf("%s",&estado); printf("ingrese el sexo\nf para femenino\nm para masculino"); scanf("%s",&sexo);
getch(); } |
|
| Volver arriba | |
 |
davidmaidana
Registrado: 04 Jun 2012 Mensajes: 27
| Publicado: 30/06/2012 3:08 pm | | | Título: Re: ayuda |
| | jajaj me faltaba abrir el for |
|
| Volver arriba | |
 |
davidmaidana
Registrado: 04 Jun 2012 Mensajes: 27
| Publicado: 30/06/2012 3:23 pm | | | Título: Re: ayuda |
| | davidmaidana escribió: | por favor alguien me puede decir por que no me da el resultado esperado"
# include <stdio.h> # include <conio.h> int main() { int i, contc=0, contf=0; char sexo, estado; for(i=0; i<3; i++) { printf("ing el estado civil:\ns para soltero\nc para casado\nv para viudo\nd para divorciado\t"); scanf("%s",&estado); printf("ingrese el sexo\nf para femenino\nm para masculino\t"); scanf("%s",&sexo); } if (estado=='c') { contc++; } if(sexo=='f') { contf++; }
printf("la cantidad de personas femeninas son: %s",sexo); printf("la cantidad de personas casadas son: %s",estado); getch(); } |
|
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 7517 Ubicación: Mexico
| Publicado: 01/07/2012 10:54 am | | | Título: |
| El problema principal en tu programa esta en las llamadas a scanf, para leer un carácter debes utilizar "%c" y para descartar el carácter siguiente (el avance de linea) utilizas "%*c".
Salvo la llamada a "getch" al final de la función principal no se requiere del uso de conio de Borland.
Las verificaciones de estado y sexo las debes colocar dentro del bucle y para imprimir el resultado correcto debes imprimir el valor de los contadores.
El programa con las correcciones es:
| Código: | #include <stdio.h> #include <stdlib.h>
int main(void) { int i; int casadas = 0; int sexo_femenino = 0; char sexo, estado; for (i = 0; i < 3; i++) { printf("Estado civil:\ns soltero\nc casado\nv viudo\nd divorciado:\n"); scanf("%c%*c", &estado); printf("Sexo:\nf femenino\nm masculino\n"); scanf("%c%*c", &sexo); if (estado == 'c') casadas++; if (sexo == 'f') sexo_femenino++; } printf("Sexo femenino: %d\n", sexo_femenino); printf("Personas casadas: %d\n", casadas); return EXIT_SUCCESS; } |
Si no tienes un curso o libro de calidad sobre C consigue uno, sobre los primeros puedes consultar la sección "Cursos" de este sitio y sobre los segundos puedes leer recomendaciones vía el motor de búsqueda de los foros.
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
|
| Volver arriba | |
 |
davidmaidana
Registrado: 04 Jun 2012 Mensajes: 27
| Publicado: 02/07/2012 4:24 pm | | | Título: |
| | muchas gracias por todo. |
|
| Volver arriba | |
 |
|
|