me podrian ayudar con un programa en c porfavor?

#1
bueno estoy comenzando a programar en lenguaje c.Voy hacer un programa muy simple, que me diga la cancion tipica del elefante, esto es asi.
1 elefante se columpiaba en la tela de una araña
2 elefantes se columpiaban en la te la de una araña
y asi sucesivamente.
El programa tiene que cantar las veces que el usuario le diga.
cuando el usuario ingrese un digito menor a cero o cero mande un mensaje
diciendo que no es valido. Bueno eso es todo espero que me puedan ayudar
aqui les dejo lo que yo he escrito del programa, tambien diganme mis errores porfavor soy principiante muy principiante gracias.
# include <stdio.h>
# include <conio2.h>
int main ()

{

int elefante , inicio = 0;


printf ("Cuantos elefantes quieres que cuente:\n");
scanf("%i", &elefante);

for (inicio=1;inicio=elefante;inicio++)



if (inicio==elefante)




if (elefante == 0)

{

printf("\nDame un numero mayor a cero\n");
}



else if (elefante < 0 )


{

printf("\nDame un numero positivo\n");

}



else if (elefante == 1)

{

printf("\n%i elefante se columpiaba en la tela de una arana\n", elefante);

}


else


printf ("\n%i elefantes se columpiaban en la tela de una arana\n", elefante);





getch();
return 0;
}

el problema lo tengo en el for
 

GeorgeSouthy

Bovino adolescente
#2
No te lo tomes a mal, pero está mul mal tu forma de programar, esta sería una opcion:


int main(){

int cont;
int i;
printf("Dame el numero de veces para cantar la canción: ");
scanf("%d",&cont);
while(cont<1){
printf("\nError, dame un número mayor a 0 ");
scanf("%d",&cont);
}
for(i=1;i<=cont;i++)
printf("\n%d. Aqui va lo que va a cantar ",cont);
return (0);
}


Si no me entendiste en algo, solo dime, el %d es una etiqueta para enteros, \n es salto de línea, por si no los conocias, saludos.
 

elboru

Bovino maduro
#3
Bueno ya George te resolvio el problema, mira, te recomiendo una cosa, qe te va a ayudar para toda la vida si lo sigues, siempre has un diagrama de flujo o un pseudocodigo (no importa qe solo le entiendas tu), pero es bueno tener MUUY CLARA la idea de lo que uno va a programar, si haces qe funcione el pseudocodigo o diagrama de flujo en el papel, entonces lo de menos sera pasarlo a cualquier lenguaje... De esta manera no importa qe lenguaje utilices, siempre podras resolver el problema rapidamente. Saludos y Suerte!!!
 

nukerkun

Bovino maduro
#4
Bueno ya George te resolvio el problema, mira, te recomiendo una cosa, qe te va a ayudar para toda la vida si lo sigues, siempre has un diagrama de flujo o un pseudocodigo (no importa qe solo le entiendas tu), pero es bueno tener MUUY CLARA la idea de lo que uno va a programar, si haces qe funcione el pseudocodigo o diagrama de flujo en el papel, entonces lo de menos sera pasarlo a cualquier lenguaje... De esta manera no importa qe lenguaje utilices, siempre podras resolver el problema rapidamente. Saludos y Suerte!!!
:D... así es... 10% de la programación es el código en el lenguaje seleccionado...
 

trino_tec

Bovino adolescente
#5
Esta casi perfecto lo que escribio George solo que le fallo una cosa:

for(i=1;i<=cont;i++)
printf("\n%d. Aqui va lo que va a cantar ",cont); <---justo aki!!!
return (0);
}

se supone que deve ir la cancion asi
1 elefante...
2 elefante...
3 elefabte...
al poner a cont como la variable a imprimir, entonces la cancion diria, suponiendo que cont valga 5
5 elefante...
5 elefante...
5 elefante...

Por lo tanto opino que el codigo correcto seria algo asi:
----------------------------------------------------------------------------------------------------
int main(){

int cont, i;
printf("Dame el numero de veces para cantar la canción: ");
scanf("%d",&cont);
while(cont<1){
printf("\nError, dame un número mayor a 0 ");
scanf("%d",&cont);
}
for(i=1;i<=cont;i++)
printf("\n%d Aqui va lo que va a cantar ",i);
return (0);
}
 

elboru

Bovino maduro
#6
Esta casi perfecto lo que escribio George solo que le fallo una cosa:

for(i=1;i<=cont;i++)
printf("\n%d. Aqui va lo que va a cantar ",cont); <---justo aki!!!
return (0);
}

se supone que deve ir la cancion asi
1 elefante...
2 elefante...
3 elefabte...
al poner a cont como la variable a imprimir, entonces la cancion diria, suponiendo que cont valga 5
5 elefante...
5 elefante...
5 elefante...

Por lo tanto opino que el codigo correcto seria algo asi:
----------------------------------------------------------------------------------------------------
int main(){

int cont, i;
printf("Dame el numero de veces para cantar la canción: ");
scanf("%d",&cont);
while(cont<1){
printf("\nError, dame un número mayor a 0 ");
scanf("%d",&cont);
}
for(i=1;i<=cont;i++)
printf("\n%d Aqui va lo que va a cantar ",i);
return (0);
}
Buena observacion no lo note....
 

pacrosoft

Bovino adolescente
#7
Solucionado de manera correcta por el amigo george

No te lo tomes a mal, pero está mul mal tu forma de programar, esta sería una opcion:


int main(){

int cont;
int i;
printf("Dame el numero de veces para cantar la canción: ");
scanf("%d",&cont);
while(cont<1){
printf("\nError, dame un número mayor a 0 ");
scanf("%d",&cont);
}
for(i=1;i<=cont;i++)
printf("\n%d. Aqui va lo que va a cantar ",cont);
return (0);
}


Si no me entendiste en algo, solo dime, el %d es una etiqueta para enteros, \n es salto de línea, por si no los conocias, saludos.

Mejor que lo que hizo el amigo george no creo , esta muy bien programado sigue su ejemplo
 
Arriba