El programa preguntará al usuario si desea finalizar o no, en caso que diga que si deberá terminar la ejecución no se como hacer para que funcione bien, básicamente lo probé de mil formas pero cuando lo ejecuto me dice si deseo continuar pero no hace nada, solo empieza a preguntar lo mismo una y otra vez y no puede parar hasta que cierro la ventana, éste es el código que debo implementar.
Este es el código que uso para tratar de salir de la ejecución del programa, pero no me funciona. En el código completo se muestra bien donde está ubicada esta sección de código.
do
{ printf("Desea salir del programa (s/n)?:");
scanf("%c", &salir);
} while((salir != 's') || (salir != 'S'));
Este es el código completo:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
void Imprimir(int azt1, int espacio, int azt2)
{
for(int i = 1; i<= azt1; i++)
{
printf("*");
}
for(int i = 1; i<=espacio;i++)
{
printf(" ");
}
for(int i = 1; i<=azt2; i++)
{
printf("*");
}
printf("\n");
}
int main()
{
char salir;
int n, opcion = 0, N1, N2, N3, num, i;
do
{
system("cls");
printf("1. Mayor de 3 numeros ");
printf("\n2. Multiplos");
printf("\n3. Mostrar el mensaje seguir ");
printf("\n4. impresion del numero 8 ");
printf("\n5. Salir ");
printf("\n -Para volver al menu pulse Enter-");
printf("\n\n introduzca un numero de 1 - 5: ");
scanf("%d", & opcion);
switch (opcion)
case 1:
{
printf("Ingrese el primer numero: ");
scanf("%d", &N1 );
printf("ingrese el segundo numero: ");
scanf("%d", & N2);
printf ("Ingrese el tercer numero: ");
scanf("%d", &N3);
if (N1 > N2 && N1 > N3){
printf ("el numero mayor es: %d ");
}
else if ( N2 > N1 && N2 >N3){
printf ("el numero mayor es: %d");
}
else if ( N3 > N1 && N3 > N2){
printf( "el mayor numero es: %d");
}
else if ( N1 > N3 && N1 == N2){
printf("El numero mayor es: %d" );
}
else if ( N1 > N2 && N2 == N3){
printf (" el numero mayor es: %d" );
}
else if ( N2 > N1 && N2 ==N3){
printf("el mayor numero es: %d");
}
else{
printf (" Los tres numeros son iguales ");
}
getch ();
break;
case 2:
printf("Este programa te permite calcular los multiplos de un numero");
printf("\n ingrese un numero: ");
scanf("%d", &num);
printf("su multiplo es: \n");
for (i=0; i<=1000; i=num+i)
{
printf("%d \n",i);
}
break;
case 3:
char seguir;
int contador, acumulador;
acumulador =0;
contador =-1;
{
printf("este es un programa que cuenta cuantas veces se imprime una palabra, si pregunta seguir? usted pone un Si, de lo contrario introduzca un -1 \n");
}
char salir;
do
{
printf(" seguir?");
scanf("%d", & seguir);
acumulador +=seguir;
acumulador += seguir;
contador++;
fflush(stdin);
}while ( seguir!=-1);
printf("\n ha introducido %d impresiones", contador);
{ printf("Desea salir del programa (s/n)?:");
fflush(stdin);
scanf("%c", &salir);
} while((salir < 's') || (salir > 'S'));
getch ();
return 0;
break;
case 4:
{
for(int i = 1; i<=2;i++)
{
Imprimir(12,0,0);
Imprimir(12,0,0);
Imprimir(3,6,3);
Imprimir(3,6,3);
}
Imprimir(12,0,0);
Imprimir(12,0,0);
}
do
{ printf("Desea salir del programa (s/n)?:");
fflush(stdin);
scanf("%c", &salir);
} while((salir < 's') || (salir > 'S'));
getch();
}
} while (opcion !=5);
system ("pause");
return 0;
}
Éste es el código que cree el cual debo introducir esa condición.