AYUDA POR FAVOR :(

Iniciado por Inter-ard, 26 Junio 2013, 06:09 AM

0 Miembros y 2 Visitantes están viendo este tema.

Inter-ard

HOLA, NECESITO AYUDA EN UN PROYECTO DE PROGRAMACION ACERCA DE LAS ELIMINATORIAS DE LA CONCAFAC PARA BRASIL 2014, EL PROYECTO CONSISTE EN GENERAR UN MENU OPCION 1: REGISTRAR USUARIOS (MAXIMO DE TRES Y NO VALE REPETIRSE),OPCION DOS 2:  CARGAR LA TABLA (JUEGOS GANADOS JUEGOS PERDIDOS JUEGOS EMPATES PUNTOS GOLES A FAVOR Y GOLES EN CONTRA) OPCION 3: IMPRIMIR LA TABLA DE RESULTADO (DE ACUERDO AL ORDEN, DEL MEJOR AL PEOR), OPCION 4 SALIR DEL MENU.

ESPERO ME AYUDEN POR FAVOR! SE LOS AGRADECERIA INFINITAMENTE, DE ESO DEPENDE MI FUTURO :( :-[ :-[ :-[ :-[

engel lex

1- que problema tienes en que parte de tu código? (muestra el pedazo de código y problema)
2- no escribas en mayúsculas

3- "de eso depende mi futuro" que drama -.- sin querer se demasiado ácido, si de eso depende espero que seas muy bueno en lo que haces, porque uno no pone su futuro a depende d algo que no sabe -.-
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Inter-ard

hola, gracias por contestarme, el problema que tengo es que no se como hacer para que una vez aparezca el menu, y la persona seleccione opcion 1 que es registrar usuario, se registre un maximo de tres veces, (con contraseña distinta y usuario distinto), lo que no se es como hacer que el programa recnozoca si se introduce un usuario ya registrado.
y el otro dolor de cabeza es generar el arreglo de las tablas de posiciones.
espero me ayudes por favor.
gracias!

engel lex

como estás guardando los usuarios y contraseñas? que db usas?

Citares registrar usuario, se registre un maximo de tres veces, (con contraseña distinta y usuario distinto)

como puedes saber que es el mismo usuario si es user y pass diferente?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Inter-ard

MIRA ESTE ES EL CPP HASTA DONDE HE LLEGADO, DE AHI NO HE PODIDO AVANZAR.

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <string.h>

main(){
textbackground(RED);
textcolor(WHITE);
clrscr();
int X;

//Presentación
gotoxy(5,15);
cprintf("   dBBBBb   dBP dBBBP  dBBBBb dBP dP  dBBBP  dBBBBb  dBP dBBBBb  dBBBBP");
gotoxy(5,16);
cprintf("      dBP                 dBP                   dBP         dB' dB'.BP");
gotoxy(5,17);
cprintf("  dBBBK'  dBP dBBP   dBP dBP dB .BP dBBP   dBP dBP dBP dBP dB' dB'.BP");
gotoxy(5,18);
cprintf(" dB' db  dBP dBP    dBP dBP  BB.BP dBP    dBP dBP dBP dBP dB' dB'.BP");
gotoxy(5,19);
cprintf("dBBBBP' dBP dBBBBP dBP dBP   BBBP dBBBBP dBP dBP dBP dBBBBB' dBBBBP");
sleep(1);
clrscr();

textbackground(BLUE);
clrscr();

gotoxy(3,5);
cprintf("@@@@@@@   @@@@@@   @@@  @@@   @@@@@@@   @@@@@@    @@@@@@@   @@@@@@   @@@@@@@@ ");
gotoxy(3,6);
cprintf("@@@@@@@@  @@@@@@@@  @@@@ @@@  @@@@@@@@  @@@@@@@@  @@@@@@@@  @@@@@@@@  @@@@@@@@ ");
gotoxy(3,7);
cprintf("!@@       @@!  @@@  @@!@!@@@  !@@       @@!  @@@  !@@       @@!  @@@  @@! ");
gotoxy(3,8);
cprintf("!@!       !@!  @!@  !@!!@!@!  !@!       !@!  @!@  !@!       !@!  @!@  !@!   ");
gotoxy(3,9);
cprintf("!@!       @!@  !@!  @!@ !!@!  !@!       @!@!@!@!  !@!       @!@!@!@!  @!!!:!   ");
gotoxy(3,10);
cprintf("!!!       !@!  !!!  !@!  !!!  !!!       !!!@!!!!  !!!       !!!@!!!!  !!!!!: ");
gotoxy(3,11);
cprintf(":!!       !!:  !!!  !!:  !!!  :!!       !!:  !!!  :!!       !!:  !!!  !!:    ");
gotoxy(3,12);
cprintf("!:        :!:  !:!  :!:  !:!  :!:       :!:  !:!  :!:       :!:  !:!  :!:     ");
gotoxy(3,13);
cprintf(":::       :::  :::  ::   ::   ::: :::   ::   :::   ::: :::  ::   :::   ::     ");
gotoxy(3,14);
cprintf("::::::::  : :::: :  ::   ::   ::: :: :   :   : :   :: :: :   :   : :   :    ");

gotoxy(25,25);
cprintf("Eliminatorias de la hexagonal");
gotoxy(25,26);
cprintf(" para el Mundial Brasil 2014");
sleep(1);
j:
clrscr();

clrscr();
gotoxy(45,2);
cprintf("      -----s/:-----");
gotoxy(45,3);
cprintf("   .:-    .o`     `/s.");
gotoxy(45,4);
cprintf(" `+o.../sdmmmho-----MMs`");
gotoxy(45,5);
cprintf("`hs````dMMMMMMM:    /NMd`");
gotoxy(45,6);
cprintf("ss     .NNNMMM+      -mMs");
gotoxy(45,7);
cprintf("y-     -/---:/-       +-o");
gotoxy(45,8);
cprintf("+/`   :-      ./     +-.o");
gotoxy(45,9);
cprintf("+ hmdd+       `.hhhhd:..+");
gotoxy(45,10);
cprintf("`+oMMMM+......:mMMMMM+.o`");
gotoxy(45,11);
cprintf(" `oyNMMMo/////mMMMMNyo+`");
gotoxy(45,12);
cprintf("   .:sho.......+mh+//.");
gotoxy(45,13);
cprintf("      -/o:::::/o/:-");

gotoxy(20,4);
cprintf("Menu Principal");
gotoxy(15,6);
cprintf("1. Registrar Usuario");
gotoxy(15,7);
cprintf("2. Introducir datos");
gotoxy(15,8);
cprintf("3. Tabla de posiciones");
gotoxy(15,9);
cprintf("4. Equipos clasificados");
gotoxy(15,10);
cprintf("5. Salir");

gotoxy(15,14);
cprintf("Introduzca una opcion:");
cscanf("%d",&X);

if (X==1){
clrscr();

//Registrar Usuario
gotoxy(15,6);
cprintf("Registrar Usuario");

char Usuario[20],pass[7];
gotoxy(10,10);
cprintf("Introduzca el nombre de usuario:");
cscanf("%s",Usuario);
getch();
gotoxy(10,12);
cprintf("Introduzca una clave:");


int m=0;
while(m<=6){
pass[m]= getch();
cprintf ("*");
m= m+1;
}

getch();


gotoxy(10,14);
cprintf("Su nombre de usuario es:%s",Usuario);

gotoxy(10,16);
cprintf("Su clave de acceso es:%c%c%c%c%c%c%c",pass[0],pass[1],pass[2],pass[3],pass[4],pass[5],pass[6]);

char A[3][20];int I;
strcpy(A[0],Usuario);
getch();


gotoxy(15,18);
cprintf("Usuarios");

gotoxy(15,20);
cprintf("%s",A[0]);
getch();

gotoxy(40, 15);
cprintf("1.Registrar otro usuario:");
gotoxy(40,16);
cprintf("2.Volver a menu principal");

gotoxy(40,18);
cprintf("Elija una opcion:");

int Y;

cscanf("%d",&Y);
if (Y==2){
goto j;
}

if (Y==1){
clrscr();

gotoxy(15,6);
cprintf("Registrar Usuario");

char Usuarioo[20],passs[7];
gotoxy(10,10);
cprintf("Introduzca el nombre de usuario:");
cscanf("%s",Usuarioo);
getch();
gotoxy(10,12);
cprintf("Introduzca una clave:");


int m=0;
while(m<=6){
passs[m]= getch();
cprintf ("*");
m= m+1;
}

getch();

gotoxy(10,14);
cprintf("Su nombre de usuario es:%s",Usuarioo);

gotoxy(10,16);
cprintf("Su clave de acceso es:%c%c%c%c%c%c%c",passs[0],passs[1],passs[2],passs[3],passs[4],passs[5],passs[6]);

char A[3][20];int I;

strcpy(A[1],Usuarioo);
getch();

gotoxy(15,18);
cprintf("Usuarios");
gotoxy(15,20);
cprintf("%s",&A[0]);
gotoxy(15,21);
cprintf("%s",&A[1]);
getch();
}


gotoxy(40, 15);
cprintf("1.Registrar otro usuario:");
gotoxy(40,16);
cprintf("2.Volver a menu principal");

gotoxy(40,18);
cprintf("Elija una opcion:");
cscanf("%d",&Y);
if (Y==2){
goto j;
}

if (Y==1){
clrscr();

gotoxy(15,6);
cprintf("Registrar Usuario");

char Usuuarioo[20],paasss[7];
gotoxy(10,10);
cprintf("Introduzca el nombre de usuario:");
cscanf("%s",Usuuarioo);
getch();
gotoxy(10,12);
cprintf("Introduzca una clave:");

int m=0;
while(m<=6){
paasss[m]= getch();
cprintf ("*");
m= m+1;
}

getch();

gotoxy(10,14);
cprintf("Su nombre de usuario es:%s",Usuuarioo);

gotoxy(10,16);
cprintf("Su clave de acceso es:%c%c%c%c%c%c%c",paasss[0],paasss[1],paasss[2],paasss[3],paasss[4],paasss[5],paasss[6]);

char A[3][20];int I;

strcpy(A[2],Usuuarioo);
getch();

gotoxy(15,18);
cprintf("Usuarios");
gotoxy(15,20);
cprintf("%s",&A[0]);
gotoxy(15,21);
cprintf("%s",&A[1]);
gotoxy(15,22);
cprintf("%s",&A[2]);
getch();

gotoxy(40, 15);
cprintf("Llego al limite de usuario:");
gotoxy(40,16);
cprintf("Volver a menu principal");

gotoxy(40,18);
cprintf("Elija una opcion:");

cscanf("%d",&Y);
if (Y==2){
goto j;
}


}
}
getch();
}


GRACIAS POR TU AYUDA, LA VALORO MUCHO.


eferion

Deberías ir pensando en dividir un poco el código... sepáralo en funciones.

Será más sencillo para ti añadir nueva funcionalidad y corregir los errores que tengas... y evitarás código repetido.

Por ejemplo:

Código (cpp) [Seleccionar]

void NuevoUsuario( char* usuario, char* pass )
{
  gotoxy(10,10);
  cprintf("Introduzca el nombre de usuario:");
  cscanf("%s",usuario);
  getch();
  gotoxy(10,12);
  cprintf("Introduzca una clave:");

  int m=0;
  while(m<=6)
  {
    pass[m]= getch();
    cprintf ("*");
    m= m+1;
  }
}


Así cada vez que quieres crear un nuevo usuario simplemente llamas a esta función y te ahorras tener que duplicar las líneas una y otra vez.

Esto es extensible al resto del código... otro ejemplo... podrías poner las instrucciones que "decoran" la pantalla en una función.

Es algo que aporta bastante claridad al código.

En cuanto a saber si un usuario ya existe... deberías plantearte tener una lista de usuarios que puedas consultar para saber si un nick introducido ya se encuentra registrado o no.

Aprovechando esa lógica lo suyo sería que almacenases tanto el usuario como la contraseña juntos para tener la información agrupada.

Si no sabes como hacerlo te doy una pista:

Código (cpp) [Seleccionar]

struct Usr
{
  char[20] Usuario;
  char[6] pass;
};


* Consejo final... si la contraseña va a tener forzosamente 6 caracteres deberías plantearte ampliar el array de la contraseña en un caracter... este séptimo caracter lo dejas con un nulo y a partir de ese momento puedes manejar la contraseña como si fuese una cadena de caracteres normal. Esto te permitiría hacer cosas como...

Código (cpp) [Seleccionar]

// Imprimir la clave:
cprintf( "%s", pass );

// Comparar la clave con otra introducida:
if ( strcpy( pass, otrapass ) == 0 )
{
...
}

Inter-ard

GRACIAS POR TU AYUDA!!, me podrias ayudar a realizar una tabla de posiciones en vector por favor??

eferion

Si necesitas ayuda la puedes tener... pero el curro lo tienes que poner tú... al menos si quieres aprender.

Con lo que te he puesto piensa en cómo podrías hacerlo, haz tus conjeturas y cuando te atasques pregunta... pero el esfuerzo inicial lo tienes que poner tu.

Inter-ard