Bueno tengo un problema tengo que hacer un menu con diferentes opciones y estructuras, el asunto lo tengo claro y puedo hacerlo solo que me esta rompiendo la cabeza el uso de:
scanf("%d",&opt)
opt=getch();
opt=getche();
opt=getchar();
por que lo digo???? porque cuando me muestra el menu no me respeta la opcion deseada o se la brinca o no hace nada
a ver si me echan una mano
este es mi codigo (parcial) solo necesito que me digan como le hago para que me valga las opciones con esa base del cogido qu.e tengo, no me gustaria cambiar mucho codigo, creo que no esta TAN TAN mal
#include<stdio.h>
#include<conio.h>
struct cliente {
char rfc[15];
char nom [30];
char dir[60];
char tel[11];
};
struct cliente c1;
struct maquinaria {
int num_maq;
char mod[15];
char desc [60];
char fecha_com [15];
char tipo[15];
};
struct maquinaria m1;
struct renta {
int num_rent;
char fecha_rent[15];
char period[20];
char rfc [15];
int num_maq;
float total_rent;
};
struct renta r1;
int opt,opt2;
void main (void)
{
do
{
clrscr();
printf("Bienvenido al sistema de registro\n\n");
printf("1.- Manejo de datos del cliente\n2.- Manejo de datos de la maquinaria\n3.- Control de rentas\n4.- Salida\n\nOpcion: ");
[color=red][b] scanf("%d",&opt);
switch(opt)[/b][/color]
case 1:
{
do
{
clrscr();
printf("MANEJO DE DATOS DEL CLIENTE\n\n");
printf("1.- Altas de clientes\n2.- Bajas de clientes\n3.- Cambio de datos de clientes\n4.- Consulta de todo los clientes\n5.- Regresar al menu principal\n\nOpcion: ");
[color=red][b]opt2=get();
switch(opt2)[/b][/color]
case 1:
{
clrscr();
printf("ALTA DE CLIENTES\n\n");
printf("RFC del cliente: ");
gets(c1.rfc);
printf("Nombre del cliente: ");
gets(c1.nom);
printf("Direccion: ");
gets(c1.dir);
printf("Telefono: ");
gets(c1.tel);
}
break;
case 2:
clrscr();
printf("BAJAS DE CLIENTES\n\n");
break;
case 3:
clrscr();
printf("CAMBIO DE DATOS DE CLIENTES");
break;
case 4:
clrscr();
printf("CONSULTA DE TODOS LOS CLIENTES");
break;
case 5:
clrscr();
break;
}
while(opt != 5) ;
}
break;
}
while (opt != 4);
getch();
}
que tengo mal???