Domingo 15 de Diciembre de 2024, 20:43
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Se me cierra.
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Se me cierra. (Leído 1319 veces)
badyalberto
Miembro activo
Mensajes: 77
Se me cierra.
«
en:
Viernes 2 de Enero de 2009, 17:04 »
0
Código: Text
#include<stdio.h>
int calcul_rombo(int alcada);
int calcul_rectangle(int alcada);
int main()
{
int alcada,r,re;
printf("Programa que dibuxa un rectangle, un rombo i una flecha, depenent de l'alcada que fiqui l'usuario n");
printf("n");
printf("n");
printf("Introdueix l'alcada: n");
scanf("%c",&alcada);
r=calcul_rombo(alcada);
re=calcul_rectangle(alcada);
getchar();
getchar();
}
int calcul_rombo(int alcada)
{
int files,simbols,espai,meitat,result,r;
meitat= alcada/2;
meitat = meitat-1;
for (files = 1; files<=meitat; files++)
{
for (espai=1; espai<=meitat-files+1; espai++)
{
printf(" ");
}
printf("*");
if(files>1){
for (simbols = 1; simbols<(files-1)*2; simbols++)
{
printf(" ");
}
printf("*");
}
printf("n");
}
for (;files>=1; files--)
{
for (espai=1; espai<=meitat-files+1; espai++)
{
printf(" ");
}
printf("*");
if(files>1){
for (simbols = 1; simbols<(files-1)*2; simbols++)
{
printf(" ");
}
printf("*");
}
printf("n");
}
return r;
}
int calcul_rectangle(int alcada)
{
int files,colum,espai,re;
printf("*********");
printf("n");
for (files = 1; files<=alcada-2; files++)
{
printf("*");
for (espai=1; espai<=7; espai++)
{
printf(" ");
}
for (colum = 1; colum<=(alcada -(alcada-1)); colum++)
{
printf("*");
}
printf ("n");
}
printf("*********");
return re;
}
Alguien sabe pq se me cierra solo, si tengo puestos los getchar.
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Se me cierra.
«
Respuesta #1 en:
Viernes 2 de Enero de 2009, 17:44 »
0
Yo veo un bucle infinito y al compilar dos warnings, lineas 72 y 99.
DEPURALO
, asi sabras en que punto se termina el programa.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
badyalberto
Miembro activo
Mensajes: 77
Re: Se me cierra.
«
Respuesta #2 en:
Viernes 2 de Enero de 2009, 18:48 »
0
Ami no me da ningun warning, y no se q tengo q hacer para depurarlo xDDD
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Se me cierra.
«
Respuesta #3 en:
Viernes 2 de Enero de 2009, 18:51 »
0
En ambas lineas estas usando variables locales sin inicializar con lo cual su valor es totalmente indefinido; no se que IDE (y compilador) estaras usando pero deberia tener una opcion para depurar, si estas bajo Windows podes usar el
WinDbg
.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
tyrell
Nuevo Miembro
Mensajes: 7
Re: Se me cierra.
«
Respuesta #4 en:
Viernes 2 de Enero de 2009, 22:56 »
0
Cambia la linea 16:
scanf("%c",&alcada);
por esto:
scanf("%d",&alcada);
Al usar %c estas leyendo caracter en una variable de tipo entero por lo que no almacena correctamente el valor que introduces por teclado.
badyalberto
Miembro activo
Mensajes: 77
Re: Se me cierra.
«
Respuesta #5 en:
Viernes 2 de Enero de 2009, 23:27 »
0
Ah muchas gracias por eso de la d, una cosa no se si me podreis explicar, para que una figura salga al lado de la otra y no debajo que hay q utilizar, no se si es una cosa dificl de explicar :S
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Se me cierra.