Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Usuario: Contraseña:

User

  • *Total Members: 12922
  • *Latest: cosiaca

  • *Total Posts: 22090
  • *Total Topics: 3169
  • *Online Today: 65
  • *Most Online: 1246
(Diciembre 03, 2008, 14:45:01 )
  • *Users: 2
  • *Guests: 33
  • *Spiders: 0
  • *Total: 35

Date

Service






Navigator



Lampiweb.com

Autor Tema: Practica 2  (Leído 230 veces)

0 Usuarios y 1 Visitante están viendo este tema.

txomon

  • Colaborador
  • Usuario
  • *****
  • Desconectado Desconectado
  • Mensajes: 71
Practica 2
« en: Enero 15, 2010, 14:13:28 »

Bueno, pues ya empezamos a programar un poquito mas en serio. Hay muchos tipos de variables, que no hemos dado, pero que ya ampliaremos el temario en cuanto sepa controlarlas. Bien, espero que hagais el diagrama de flujo... ANTES de hacer el programa.
Aunque he dicho que no os lo iba a pedir, ahora os lo pido para ver que tal los haceis. en esta, en la practica 5 y en la última. Cuelgo el siguiente tema ok¿?
En línea
[size=18]RECORDAD PONER LEIDO!!! [/size] (para los de el curso de C)

Slye

  • Usuario
  • *
  • Desconectado Desconectado
  • Mensajes: 12
Re:Practica 2
« Respuesta #1 en: Enero 21, 2010, 21:39:01 »

#include <stdio_ext.h>
int main ()
{
   int columnas;
   columnas =19;
   char filas;
   filas= 'j';
   int cc;
   char cf;
   
   printf ("Bienvenidos a hundir la flota\n");
   printf ("El tablero es de 20 columnas X 10 filas\n") ;
   printf ("La columna se indica con un número (1, 2, ...,%d)\n",columnas);
   printf ("la fila se indica con una letra (a,b,...,%c)\n",filas);
   printf ("para salir pulse z0\n");
   printf ("Introduzca las coordenadas\n");
   fflush(stdout);
   __fpurge(stdin);
   scanf("%c%d",&cf,&cc);
   
      {if (cf=='z' & (cc==0))
      
      printf("adios");}
      {if (cf==('z'-32) & (cc==0))
      
      printf("adios");}
      if(cf<('j'+1) & cf>'a'-1)
      cf=cf-32;
      {if (cf>64 & cf< 75)
      {cf=cf;
      if (cc<1)
      printf ("El número escojido no es válido\n");
      if (cc>19)
      printf ("El número escojido no es válido\n");
      printf ("Fila %c Columna %d\n",cf,cc);
      }
      else
      printf ("La letra escojida no es válida\n");}
      
   
return 0;
}
   
Bueno esto es lo que tengo hasta ahora
lo malo es que no se como acabar el programa al pulsar z0 yq que el programa me sigue como si nada :S
   
   
En línea

txomon

  • Colaborador
  • Usuario
  • *****
  • Desconectado Desconectado
  • Mensajes: 71
Re:Practica 2
« Respuesta #2 en: Enero 21, 2010, 22:31:18 »

VEO fallos muy importantes.

para inicializar las variables, puedes hacerlo principio

ejemplo:

Código: [Seleccionar]
char filas='j';

Por cierto, dice expresamente que sea jota MAYUSCULA.
o sea que es

Código: [Seleccionar]
char filas='J'
luego, para usar "if"-s

es asi.

Código: [Seleccionar]
if(cf=='z'&&cc==0)
Por cierto habrás notado que he cambiado algo..
no tienes que abrir llaves antes, sino despues, por ejemplo, si quieres decir if algo then noseque

Código: [Seleccionar]
if(cf=='z'&&cc==0)
{
        printf("Adios");
        salir=1;
}

entonces, si no se cumpliera la condición, se la saltaría. Hasta despues de que se cierren los corchetes.

si quieres que sea una condición o la contraria

Código: [Seleccionar]
if(cf<'A'||cf>'J')
{
        printf("Letra introducida no válida");
}
else
{
        printf("Letra intoducida %c",cf);
}     

que tambien se puede escribir, asi, porque solo es una linea, si fuesen más, habría que usar corchetes, como antes:

Código: [Seleccionar]
if(cf<'A'||cf>'J')
        printf("Letra introducida no válida");
else
        printf("Letra intoducida %c",cf);     
En línea
[size=18]RECORDAD PONER LEIDO!!! [/size] (para los de el curso de C)

maripuri

  • Moderador Global
  • Usuario
  • *****
  • Desconectado Desconectado
  • Mensajes: 2948
  • Mari
Re:Practica 2
« Respuesta #3 en: Enero 22, 2010, 00:17:02 »

Aún estoy estancada en la practica uno.  :-\   Slye, veo que vas en cabeza  ;)
En línea
No preguntes sobre temas del foro por privado, participa en el.

Slye

  • Usuario
  • *
  • Desconectado Desconectado
  • Mensajes: 12
Re:Practica 2
« Respuesta #4 en: Enero 23, 2010, 13:51:00 »

#include <stdio_ext.h>
int main ()
{
   int columnas=19;

   char filas='J';
   int salir=2;
   int cc;
   char cf;
   
   printf ("Bienvenidos a hundir la flota\n");
   printf ("El tablero es de 20 columnas X 10 filas\n") ;
   printf ("La columna se indica con un número (1, 2, ...,%d)\n",columnas);
   printf ("la fila se indica con una letra (a,b,...,%c)\n",filas);
   printf ("para salir pulse z0\n");
   printf ("Introduzca las coordenadas\n");
   fflush(stdout);
   __fpurge(stdin);
   scanf("%c%d",&cf,&cc);
   
      if (cf=='z' && (cc==0))
      {
      printf("Adiós");
      salir=1;}
      if (cf==('z'-32) && (cc==0))
      {
      printf("Adiós");
      salir=1;}
      if ((salir==2))
      {
         if (cc<1)
      printf ("El número escojido no es válido\n");
      if (cc>19)
      printf ("El número escojido no es válido\n");
      if (cf>64 && cf< 75)
      {cf=cf;
      printf ("Fila %c Columna %d\n",cf,cc);
      }
      
      
      
      if(cf<('j'+1) && cf>'a'-1)
      {cf=cf-32;
      printf ("Fila %c Columna %d\n",cf,cc);
      }
      else
      if (cf<=64 && cf>=75)
      printf ("La letra escojida no es válida");
      
   
      
      }
   
return 0;

buenos pues esta es la versión de mi practica 2.0 ya es capaz de terminar y todo xD

pD:  Ánimo Maripuri que ue puedes con la 1!!! ;)
En línea

txomon

  • Colaborador
  • Usuario
  • *****
  • Desconectado Desconectado
  • Mensajes: 71
Re:Practica 2
« Respuesta #5 en: Enero 23, 2010, 15:02:21 »


Código: [Seleccionar]
#include <stdio_ext.h>
int main ()
{
int columnas=19;

char filas='J';
int salir=2;
int cc;
char cf;

printf ("Bienvenidos a hundir la flota\n");
printf ("El tablero es de 20 columnas X 10 filas\n") ;
printf ("La columna se indica con un número (1, 2, ...,%d)\n",columnas);
printf ("la fila se indica con una letra (a,b,...,%c)\n",filas);
printf ("para salir pulse z0\n");
printf ("Introduzca las coordenadas\n");
fflush(stdout);
__fpurge(stdin);
scanf("%c%d",&cf,&cc);

if (cf=='z' && (cc==0))
{
printf("Adiós");
salir=1;}
if (cf==('z'-32) && (cc==0))
{
printf("Adiós");
salir=1;}
if ((salir==2))
{
if (cc<1)
printf ("El número escojido no es válido\n");
if (cc>19)
printf ("El número escojido no es válido\n");
if (cf>64 && cf< 75)
{cf=cf;
printf ("Fila %c Columna %d\n",cf,cc);
}



if(cf<('j'+1) && cf>'a'-1)
{cf=cf-32;
printf ("Fila %c Columna %d\n",cf,cc);
}
else
if (cf<=64 && cf>=75)
printf ("La letra escojida no es válida");



}

return 0;
}
buenos pues esta es la versión de mi practica 2.0 ya es capaz de terminar y todo xD

pD:  Ánimo Maripuri que ue puedes con la 1!!! ;)



Bien los fallos:
1º en el enunciado pones
Código: [Seleccionar]
printf ("la fila se indica con una letra (a,b,...,%c)\n",filas); y empieza en minuscula, y acaba en mayúscula.

2º Bueno esto no es un fallo, pero intenta poner un poquito de presentación,... Ej:
Código: [Seleccionar]
if(cf<('j'+1) && cf>'a'-1)
{cf=cf-32;
printf ("Fila %c Columna %d\n",cf,cc);
}


a

Código: [Seleccionar]
if(cf<('j'+1) && cf>'a'-1)
{
cf=cf-32;
printf ("Fila %c Columna %d\n",cf,cc);
}

3º Haces algo muuuy raro con las condiciones... Debuguea, por ejemplo, prueba con poner A0, que es válido, y no deja, compruebalo:
Por ejemplo, esta condicion... porque te complicas la vida?

Código: [Seleccionar]
if(cf<('j'+1) && cf>'a'-1)
poner eso es lo mismo que poner

Código: [Seleccionar]
if(cf<='j' && cf>='a')

4º Para declarar las variables, basta con que esten separadas con comas, en vez de:

Código: [Seleccionar]
int columnas=19;
char filas='J';
int salir=2;
int cc;
char cf;

seria:

Código: [Seleccionar]
int columnas=19,salir=2,cc;
char filas='J', cf;

5º Te dirira para que le pusieses salir=0 para no salir, y salir=1 para salir,...

6º Utilizas números para comparar chars, y eso es incorrecto (porque deberias usar chars), para ello deberias hacer por ejemplo, si quieres un if que este entre la A y la J:

Código: [Seleccionar]
if(x>='A'&&x<='J')
7º Te han dicho cual es la diferencia, pero si no la supieses, como saber cual es la de entre minusculas y mayusculas?

Código: [Seleccionar]
if(!(x>='A'&&x<='J')&&(x>='a'&&x<='j'))/*Esta condicion es un poco larga, se podria poner con la segunda parte solo, pero es para que veais las utilidades del NOT, a lo largo
de vuestra programación, os dareis cuenta que a veces es más facil la condicion complemetaria negada*/
{
x=x-('a'-'A');
}

8º Este codigo es nulo, fijate:

Código: [Seleccionar]
if (cf<=64 && cf>=75)
printf ("La letra escojida no es válida");
      

ese if dice que cf sea menor o igual que 64 Y mayor o igual que 75,--- es imposible. un numero, deberia tener dos a la vez para cumplir la condicion,... lo que tu pretendias, supongo era poner


Código: [Seleccionar]
if (cf<=64 || cf>=75)
printf ("La letra escojida no es válida");


con OR para que sea menor o igual que 64 O mayor o igual que 75.

9º No entiendo a que viene esto
Código: [Seleccionar]
cf=cf;
10º Tu codigo fuente no cumple bastantes condiciones:

   1º dice que NADA MÁS LEER, mire si son mayúsculas, y que si son minusculas, las haga mayúsculas.
   2º No comprueba (o si pero no lo muestra), el rango válido de las letras. En el enunciado pone que las compruebe y que si no, saque el rango valido de Letras. He probado tu codigo con L2 y no me ha dicho nada
   3º Si introduces un numero incorrecto (yo b23), tiene que marcar el numero valido de filas, y no lo marca, y aun asi, lo muestra por pantalla.

11º El rango valido es de 0 a 19, no de 1 a 19... por lo que deberias cambiar esta condicion

Código: [Seleccionar]
if (cc<1)

a

Código: [Seleccionar]
if (cc<0)



Y bueno, no corrijo mas de momento, corrigelo, y vuelve a postearlo, no modifiques el mensaje, pon uno nuevo, que muy seguramente, ayude a otros.
 
« última modificación: Enero 24, 2010, 09:01:01 por txomon »
En línea
[size=18]RECORDAD PONER LEIDO!!! [/size] (para los de el curso de C)

alex_bm91

  • Nuevo
  • Desconectado Desconectado
  • Mensajes: 3
Re:Practica 2
« Respuesta #6 en: Febrero 08, 2010, 00:04:32 »

bueno, aquí esta mi codigo fuente
Código: [Seleccionar]
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


int main()

{
int UC=19;
char UF='J';
int columna;
char fila;
printf("BIENVENIDO A HUNDIR LA FLOTA!\n");
printf("La columna se indica con un numero: 1,2,3...%d\n",UC);
printf("La fila se indica con una letra: A,B,C...%c\n",UF);
printf("introduce una coordenada, por ejemplo: B12\n");
fflush(stdout);
scanf("%c%d",&fila,&columna);
if(fila>='a'&& fila<='z')
fila=fila-32;

if(fila=='Z'&& columna==0)
{
printf("se acabo el juego\n");
return 1;
}
if(fila>'J'||columna>19||columna<0||fila<'A')
printf("La coordenada no es valida, fila maxima %c, y columna maxima %d\n",UF,UC);
printf("La coordenada escrita es:fila %c, columna %d,\n",fila,columna);

return 0;




}
 
En línea

txomon

  • Colaborador
  • Usuario
  • *****
  • Desconectado Desconectado
  • Mensajes: 71
Re:Practica 2
« Respuesta #7 en: Febrero 08, 2010, 14:11:04 »

bien, esta bien!!
En línea
[size=18]RECORDAD PONER LEIDO!!! [/size] (para los de el curso de C)
 

Links



Manuales Wireless, Inyeccion de Aireplay en Windows con el ERW
ERW Manual/Opciones - Tarjetas soportadas Aireplay/Windows - Manual de Inyeccion ERW - Opciones Suite Aircrack-NG
ReInyeccion de paquetes - Ataque de Fragmentacion - La WPA facil con ERW - Cambiar la MAC con Etherchange
Problemas con el antivirus y el ERW - Cambio de drivers + Asociacion

Firmwares y Utilidades Virtuales
Tomato RAF - Poligon - Tomato - DD-wrt - Emule Web Server

Me linkas en tu sitio y no apareces aqui, contacta con el administrador.




Hosted
GrandBytes

Creative Commons License
http://lampiweb.com © 2005-2010



Todos los derechos reservados.
Todos los logos y marcas en este sitio son propiedad de sus respectivos autores.
Los comentarios son propiedad y responsabilidad de sus correspondientes remitentes.


free counters