Salida del bucle cuando escribo -FIN- por teclado

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
joshema
Mensajes: 1
Registrado: 13/01/2019 2:29 am

Salida del bucle cuando escribo -FIN- por teclado

#1 Mensaje por joshema » 13/01/2019 3:51 am

Pues que llevo un rato intentando que salte a la siguiente instruccion cuando escriba -FIN- por teclado y no se que tengo mal.
No se si lo de comparar cadenas esta bien o no
Codigo:

Código: Seleccionar todo

#include <stdio.h>
#include <string.h>
#include "listaSimple.h"
#define MAXLON    10

int main()
{
  NODO * paux    = NULL;  
  NODO * primero = NULL;
  char tabla[MAXLON];
  char final[] = "-FIN-";
  int    i       = 0;
  int tam = 0;
  int c = 0;
  /* Bucle para la creacion de una tabla de MAXLON elementos */
  do{
  for ( i = 0; i < MAXLON; i++)
    {
      printf("Introduzca un valor: ");
      scanf("%s", tabla);
      if (strcmp (tabla,final)==0)  
	c=1;
    }
  /*Introducimos valores hasta escribir -FIN- por teclado*/
} while (c != 1);

mollok
Mensajes: 452
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Salida del bucle cuando escribo -FIN- por teclado

#2 Mensaje por mollok » 13/01/2019 4:33 pm

El for te impide terminar pues hasta que no se hayan realizado MAXLON iteraciones se seguirá repitiendo. Cuando el bucle termine devolverá el control al do-while quien sí mirará si c1 es diferente a 1 para repetirse.

En verdad no necesitas for y el do-while puede ser sólo while:

En vez de

Código: Seleccionar todo

do{
  for ( i = 0; i < MAXLON; i++)
    {
      printf("Introduzca un valor: ");
      scanf("%s", tabla);
      if (strcmp (tabla,final)==0)  
	c=1;
    }
  /*Introducimos valores hasta escribir -FIN- por teclado*/
} while (c != 1);
sea

Código: Seleccionar todo

while (c != 1) {
    printf("Introduzca un valor: ");
    scanf("%s", tabla);
    if (strcmp (tabla,final)==0)
        c=1;
  /*Introducimos valores hasta escribir -FIN- por teclado*/
}
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 6 invitados