Programación General > C/C++

 Ayuda Urgente

(1/3) > >>

powers:
Hola
el siguiente programa es para asignar una de cinco PCs a un usuario q ingresa su matricula (EJ.:  20920)

he tratado de corregir un error q creo q esta el parte de LOGIN
si alguien puede ayudarme corrigiendo el error si es posible q me lo haga saber . se lo agradeceria bastante

#include<stdio.h>
#include<conio.h>
void main (void)
{
int mat,p[4],cont;
char q;

ini:
printf("\n\nQué desea hacer? log(i)n, log(o)ff, (e)stado: ");
scanf("%s",&q);
if(q=='i')goto login;
if(q=='o')goto logoff;
if(q=='e')goto estado;

login:                      //esta parte asigna una pc a la matricula
printf("Matricula: ");
scanf("%d",&mat);
for(cont=0;cont<=5;cont++)
if(p[0]==0)p[cont]=mat;
goto ini;

                             //esta parte saca una matricula del sistema
logoff:
printf("Matricula: ");
scanf("%d",&mat);
for(cont=0;cont<=5;cont++)
{
if(mat==p[cont])p[cont]=0;
}
goto ini;

                              //esta parte muestra las PCs vacias y las ocupadas
estado:
for(cont=0;cont<=5;cont++)
{if(p[cont]==0)printf("\nPc %d desocupada",cont);else printf("\nPc %d ocupada por %d",cont,p[cont]);}
goto ini;


}

QliX=D!:
PERO ES QUE ACASO ESTAS USANDO GOTO EN C? QUE TE PENSAS QUE ES VB????....
De raiz te diria que reewscribas el codigo y saques esos HORRIBLES goto y todo va a ser mas facil de resolver.

Goto malo! :(

slds.

JuanK:
me uno.

desorden:
goto malo según para qué.

Desde luego en este caso su uso no está justificado.

Un saludo...

JuanK:
el goto es una instruccion muy utilizada en los tiempos de la programacion no estructurada ('spagetti'), esta instruccion se caracteriza por producir un codigo desordenado y dificil de entender, su existencia actualmente es mas por compatibilkidad con las viejas aplicaciones , ya que su uso hoy en dia esta abolido.
todo lo que se puede hacer con un goto se puede hacer con un while o con un for.

revisa este link de una discucion en el foro el año pasado.
sobre goto y una ayudita

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa