elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  duda en un bucle, programa que me ayude a gestionar un negocio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda en un bucle, programa que me ayude a gestionar un negocio  (Leído 198 veces)
Kenji-chan

Desconectado Desconectado

Mensajes: 41


Ver Perfil
duda en un bucle, programa que me ayude a gestionar un negocio
« en: 19 Marzo 2017, 23:59 »

Hola a todos, me estoy creando un programa que me ayude a gestionar un negocio y tengo una duda con la implementacion en la que he creado un bucle while que se repite unas 10000 para hacer una pequeña pausa en la ejecucion del programa mi pregunta es si esta bien hacer esto o ay otra forma de hacerlo??

este es la parte del codigo donde se implementa este codigo en la funcion void password() de la linea 77 el bucle while(!kbhit() && j < 10000) se encuentra en la linea 99

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <conio.h>
  4.  
  5. void gotoxy(int x,int y);
  6. void marcos(int x1, int y1, int x2, int y2);
  7. void texto(char* txt, int x, int y);
  8. int largoCadena(char* cadena);
  9. void titulo(char* titulo, int x, int y);
  10. void username(int x, int y, char** user);
  11. void password(int x, int y, char pass[]);
  12.  
  13. int main(){
  14.    char* user;
  15.    char pass[11];
  16.    marcos(20, 7, 60, 17);
  17.    titulo("Logger", 80, 6);
  18.    texto("Username:", 22, 12);
  19.    texto("Password:", 22, 13);
  20.    username(32, 12, &user);
  21.    password(32, 13, pass);
  22.    texto(user, 22, 19);
  23.    texto(pass, 22, 20);
  24.  
  25.    return 0;
  26. }
  27.  
  28. void gotoxy(int x,int y){
  29.    HANDLE hcon;
  30.    hcon = GetStdHandle(STD_OUTPUT_HANDLE);
  31.    COORD dwPos;
  32.    dwPos.X = x;
  33.    dwPos.Y= y;
  34.    SetConsoleCursorPosition(hcon,dwPos);
  35. }
  36.  
  37. void marcos(int x1, int y1, int x2, int y2){
  38.    int i, j;
  39.    for(i=y1; i<=y2; i++){
  40.        for(j=x1; j<=x2; j++){
  41.            gotoxy(j,i);
  42.            if(i==y1 && j==x1) printf("%c",201);
  43.            else if(i==y2 && j==x1) printf("%c",200);
  44.            else if(i==y1 && j==x2) printf("%c",187);
  45.            else if(i==y2 && j==x2) printf("%c",188);
  46.            else if(i==y1 || i==y2) printf("%c",205);
  47.            else if(j==x1 || j==x2) printf("%c",186);
  48.        }
  49.    }
  50. }
  51.  
  52. void texto(char* txt, int x, int y){
  53.    gotoxy(x,y);
  54.    printf("%s", txt);
  55. }
  56.  
  57. int largoCadena(char* cadena){
  58.    int i = 0;
  59.    while(cadena[i] != '\0')
  60.        i++;
  61.    return i;
  62. }
  63.  
  64. void titulo(char* titulo, int x, int y){
  65.    x = x/2;
  66.    x -= largoCadena(&(*titulo))/2;
  67.    gotoxy(x,y);
  68.    printf("%s", titulo);
  69. }
  70.  
  71. void username(int x, int y, char** user){
  72.    *user = malloc(sizeof(char)*20);
  73.    gotoxy(x, y);
  74.    fgets(*user, 20, stdin);
  75. }
  76.  
  77. void password(int x, int y, char pass[]){
  78.  
  79.    char tecla;
  80.    int i = 0;
  81.    gotoxy(x, y);
  82.  
  83.    do{
  84.        int j = 0;
  85.        fflush(stdin);
  86.        tecla = getch();
  87.        pass[i] = '\0';
  88.  
  89.        if(tecla == 8 && x > 32){
  90.            x--;
  91.            i--;
  92.            gotoxy(x, y);
  93.            printf(" ");
  94.            gotoxy(x, y);
  95.        }else if(tecla != 13 && tecla != 8 && i < 10){
  96.            pass[i] = tecla;
  97.            //gotoxy(x, y);
  98.            printf("%c", tecla);
  99.            while(!kbhit() && j < 10000)
  100.                j++;
  101.            gotoxy(x, y);
  102.            printf("*");
  103.            x++;
  104.            i++;
  105.        }
  106.    }while(tecla != 13);
  107. }
  108.  
  109.  



· Corregida la etiqueta de codigo para hacerla más legible (con GeSHi)
· Los titulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex


« Última modificación: 20 Marzo 2017, 00:03 por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa para gestionar redes wifi en linux « 1 2 3 »
Hacking Wireless
eljosemari 23 4,133 Último mensaje 5 Abril 2006, 00:49
por o2T7f6j2
Programa para gestionar wifis
Hacking Wireless
Melans 6 1,271 Último mensaje 8 Abril 2007, 13:50
por franciscojav
Algun programa para gestionar redes
Redes
Pistako 0 446 Último mensaje 9 Mayo 2008, 21:22
por Pistako
Duda (Parar bucle con dato boolean) [bucle while]
Java
Dem0ny 5 9,854 Último mensaje 17 Diciembre 2008, 17:43
por Dem0ny
Alguien que me ayude con este programa en C++
Programación General
andreampere 2 569 Último mensaje 6 Septiembre 2014, 20:23
por andreampere
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines