Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: rafa_rdj en 26 Septiembre 2015, 02:21 am



Título: [C] Ayuda con Grafico de Tortuga
Publicado por: rafa_rdj en 26 Septiembre 2015, 02:21 am
Me podrían ayudar, ya casi tengo terminado el código, lo que pasa el arreglo que estoy haciendo me acepta números negativos y positivos y quisiera ver la manera de como hacerle que me acepte solo números positivos y cuando se ingrese un numero negativo aparezca un mensaje por ejemplo


Código:
printf("SOLO SE ACEPTA NUMEROS POSITIVOS ");

no le busco la forma que me apoyen porfas

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4.  
  5. #define M_PI 3.1416
  6. #define F 50
  7. #define C 50
  8. int floor[F][C];
  9. float postor[3];
  10.  
  11. void inicializa(){
  12. for (int i=0; i<F; i++){
  13. for(int j=0;j<C; j++){
  14. floor[i][j]=0;
  15. }
  16. }
  17. }
  18.  
  19. void imprime(){
  20. int op;
  21. int pasos;
  22. int pluma= false;
  23. int dir= 0;
  24. do{
  25. scanf("%d",&op);
  26. switch (op){
  27. case 1: pluma= false;break;
  28. case 2: pluma= true;break;
  29. case 3: dir= M_PI/2;break;
  30. case 4: dir= -M_PI/2;break;
  31. case 5: scanf("%d",&pasos);
  32. postor[2]+=dir;
  33. float x= postor[0];
  34. float y= postor[1];
  35. postor[0] += sin(postor[2])*pasos;
  36. postor[1] += cos(postor[2])*pasos;
  37. if (pluma == true){
  38. for (int i=x; i<postor[0]; i++){
  39. floor[i][(int) postor[1]]=1; // Pudo Imprimir
  40. }
  41. for (int i=y; i<postor[1]; i++){
  42. floor[(int)postor[0]][i] = 1;
  43. }
  44. }
  45. case 6: for (int i=0; i<F; i++){
  46. for(int j=0; j<C; j++){
  47. if(floor[i][j]==1){
  48. printf("*");floor[i][j]=0;
  49. } else{
  50. printf("#");
  51. }
  52. }
  53. }
  54. }
  55. }while (op!=9);
  56. }


Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: [C] Ayuda con Grafico de Tortuga
Publicado por: 0xFer en 27 Septiembre 2015, 19:42 pm
En donde sea que pidas ese número:

Código
  1.  
  2. int numero;
  3.  
  4. do{
  5.  
  6.  scanf("%d",&numero);
  7.  
  8.  if(numero < 0)
  9.     printf("SOLO SE ACEPTA NUMEROS POSITIVOS ");
  10.  
  11. }while(numero < 0);
  12.  
  13.  

El código a partir de do{ se repite siempre y cuando numero sea menor que 0.