Cita de: engel lex en 9 Julio 2014, 08:04 AM
sorry... copie y pegué el codigo... lo tienes como deberia ser?Código [Seleccionar]while (M<'0' || M>'1');
sigue imprimiendome dos veces.
PD2: QUÉ FUNCION PUEDE REEMPLAZAR A GOTO ?
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: engel lex en 9 Julio 2014, 08:04 AM
sorry... copie y pegué el codigo... lo tienes como deberia ser?while (M<'0' || M>'1');
while (M<0 || M>1);
RETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR:
RETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ____ y recién para ingresar el valor y si el valor no es ni 1 ni 0, vuelve a imprimirse dos veces más y así...pero la validación si está correcta solo faltaría anular una impresión
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
int main()
{
menu:
int OP;
char M; // VARIABLES DE MENU
int N,A,SN,MN=1; //VARIABLES DE LA FUNCION 1
int primero = 1, segundo = 0, tercero = 1, i=0, cant; // VARIABLES DE LA FUNCION 2
// INICIO DE LA FUNCION MENU-----------------------------------------------------------------------------------------------
do
{
printf("-------------------------------------------------------------------------------\n\n");
printf("\t\t\t\tMenu");
printf("\n\n");
printf("\t1. Suma de los cuadrados de los impares.\n\n");
printf("\t2. Mostrar la serie de Fibonacci.\n\n");
printf("\t3. Mover un movil.\n\n");
printf("\t4. Terminar.\n\n");
printf("\n\n");
printf("-------------------------------------------------------------------------------\n\n\t");
printf("Elija la funcion, segun su numero de orden: ");
scanf("%d",&OP);
printf("\n\n");
}
while (OP<1 || OP>4); //OP>=1 && OP<=4);
// FIN DE LA FUNCION MENU-----------------------------------------------------------------------------------------------
// INICIO DE LA FUNCION 1-----------------------------------------------------------------------------------------------
if (OP==1) //CONDICION PARA QUE DIRECCIONE A LA PRIMERA FUNCION
{
printf("\tIngrese la cantidad N de numeros impares ,al cuadrado, a sumar: ");
scanf("%d",&N); // scanf LEE EL ENTERO QUE SE INGRESARA EN LA VARIABLE N
printf("\n");
SN=(((N*2)+1)*(N*2)*((N*2)-1))/6; // OPERACION PARA ENCONTRAR LA SUMA DE "N" NUMEROS IMPARES AL CUADRADO
printf("\tLa suma de los N numeros, impares al cuadrado es: %d",SN); // IMPRIME EL RESULTADO DE LA FORMULA
//*********************************************************************************************
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%c",&M); //
if(M == '1') //
{
printf("\n\n");
goto menu; //
}
else if(M == '0')
{
return 0;
}
}while (M=='0' || M=='1');
}
_getch();
return 0;
}
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
char M;
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%c",&M); //
if(M == 1) //
{
printf("\n\n");
goto menu; //
}
else if(M == 0)
{
return 0;
}
}while (M<0 || M>1);
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%d",&M); //
if(M == 1) //
{
printf("\n\n");
goto menu; //
}
else if(M == 0)
{
return 0;
}
}while (M<0 || M>1);