problemas con programa en c

Iniciado por EASV95, 20 Abril 2015, 19:56 PM

0 Miembros y 1 Visitante están viendo este tema.

EASV95

Saludos
tengo problemas con el codigo de abajo, cuando lo hago correr al momento de preguntar si deseo repetirlo al seleccionar la letra correspondiente 's' el programa solo repite la orden de solicitarme una letra parar repetirlo

#include <stdio.h>

int i=0,n=0;
char cadena [256];
char seguir;

main()
{
   do
   {
   printf ("Escriba la frase: ");
   fgets (cadena,256,stdin);
   while (cadena[i++]!='\0')
       if (cadena[i]==' ') n++;

   printf ("\n%d",n);

   printf ("\n\nPara repetir el programa presiona s\n\n");
   scanf ("%s",&seguir);
   system ("cls");

   }while (seguir=='s');
}


Mod: Los códigos deben ir en etiquetas GeSHi

MeCraniDOS

#1
#include <stdio.h>

int main()
{
   int i = 0, n = 0;
   char cadena [256] = {'\0'};
   char seguir;

   do
   {
        i = 0; //Cada iteracion i = 0 para iniciar desde 0
        n = 0; //Cada iteracion n = 0 para reiniciar el contador

       printf ("Escriba la frase: ");
       fgets (cadena,256,stdin);

       while (cadena[i] != '\0')
       {
   if (cadena[i] == ' ')
   {
       n++;
   }
   i++;
       }

       printf ("\n%d", n);

       printf ("\n\nPara repetir el programa presiona s\n\n");
       scanf ("%c", &seguir);
       getchar(); //Nos comemos el intro

   }while (seguir == 's');
   
   return 0;
}


Deberías evitar las variables globales,

int main,

En el scanf, tienes un error, pones %s, eso es para strings, %c es para caracter

Un saludo
"La física es el sistema operativo del Universo"
     -- Steven R Garman

EASV95

Ok, ok, MeCraniDos, creo que ya me quedo claro que estaba haciendo mal, Gracias.