Hola a todos ya se que hay muchos que estan haciendo esto mismo y que ya hay tutoriales para hacer esto pero yo tengo una duda en particular con mi programacion y me gustaria que me ayudaran. Este es mi proyecto y al correrlo te da opciones para ver que deseas hacer, de hecho si funciona bien, pero un problema es que cuando le das a una opcion te imprime 2 veces las opciones de nuevo, pondre imagenes para ser mas explicito
Asi inicia mi programa:
Y asi se desarrolla mi programa:
Les agradeceria que me ayudaran a corregir mi programacion para que no se imprima 2 veces y tambien me gustaria que me dijeran si hay alguna manera para que no tenga que presionar Enter osea que solo con presionar la W o la D o la opcion que quiera y funciona, solo con presionar la tecla y sin presionar el Enter.
Esta es mi programacion les agradeceria mucho su ayuda y si quieren copiarlo para que lo usen
:
Asi inicia mi programa:

Y asi se desarrolla mi programa:

Les agradeceria que me ayudaran a corregir mi programacion para que no se imprima 2 veces y tambien me gustaria que me dijeran si hay alguna manera para que no tenga que presionar Enter osea que solo con presionar la W o la D o la opcion que quiera y funciona, solo con presionar la tecla y sin presionar el Enter.
Esta es mi programacion les agradeceria mucho su ayuda y si quieren copiarlo para que lo usen
PHP:
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
int c='s';
char orden, Avanza = 'W', Retrocede = 'S', Derecha = 'D', Izquierda = 'A', Levanta_brazo = 'T', Baja_brazo = 'G', Abre_pinza = 'Y', Cierra_pinza = 'H', Limpiar = 'C';
while (tolower(c)=='s')
{
printf("\nW = Avanza\n");
printf("S = Retrocede\n");
printf("D = Derecha\n");
printf("A = Izquierda\n");
printf("T = Levanta_brazo\n");
printf("G = Baja_brazo\n");
printf("Y = Abre_pinza\n");
printf("H = Cierra_pinza\n");
printf("C = Limpiar\n");
printf("Elije la accion (Solo mayusculas) (W/S/D/A/T/G/Y/H/C): ");
scanf("%c",&orden);
if (orden==Avanza)
outport(0x378, 0x1);
else if (orden==Retrocede)
outport(0x378, 0x8);
else if (orden==Derecha)
outport(0x378, 0x5);
else if (orden==Izquierda)
outport(0x378, 0x3);
else if (orden==Levanta_brazo)
outport(0x378, 0x10);
else if (orden==Baja_brazo)
outport(0x378, 0x20);
else if (orden==Abre_pinza)
outport(0x378, 0x40);
else if (orden==Cierra_pinza)
outport(0x378, 0x80);
else if (orden==Limpiar)
outport(0x378, 0x00);
}
getch();
return 25;
}