sigue imprimiendome dos veces.
.........................................
El problema de imprimir dos veces es indicativo que hay que realizar una limpieza del bufffer, cosa que puedes conseguir con:
while (getchar() !='\n' );
.......................................
PD2: QUÉ FUNCION PUEDE REEMPLAZAR A GOTO ?
Como te comentó
engel lex es usar una función que bien podría ser menu(),. Te indico como podría ser y además como vas a tener 4 casos, si no más, sería aconsejable el uso de un switch para no liarla con un porrón de if eslse:
#include <stdio.h>
#include <stdlib.h>
void menu();
int main(){
menu ();
system("pause");
return 0;
}
void menu(){
char OP;
char M; // VARIABLES DE MENU
.............................................
// INICIO DE LA FUNCION MENU
....................................................
do
{
.....................................................
scanf("%c",&OP);
while (getchar() !='\n' ); /* <== !!!!!!!!!!!!!!!!!!!!!!!!*/
printf("\n\n");
}
while (OP<'1' || OP>'4');
........................................................
switch (OP){ //CONDICION PARA QUE DIRECCIONE A LA PRIMERA FUNCION
case '1':
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
while (getchar() !='\n' );
.............................................................................
do
{
printf("\n\n\n\tRETORNAR AL MENU: 1 = SI o 0 = NO , PARA FINALIZAR: ");
scanf("%c",&M); //
if(M == '1') //
{
printf("\n\n");
while (getchar() !='\n' ); /* <== !!!!!!!!!!!!!!!!!!!!!!!!*/
menu(); /* <== !!!!!!!!!!!!!!!!!!!!!!!!*/
}
else if(M == '0')
...............................................................
}while (M<'0' || M>'1');
}
}
¡¡¡¡ Saluditos! ..... !!!!