Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: EASV95 en 20 Abril 2015, 19:56 PM

Título: problemas con programa en c
Publicado por: EASV95 en 20 Abril 2015, 19:56 PM
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
Título: Re: problemas con programa en c
Publicado por: MeCraniDOS en 20 Abril 2015, 21:00 PM
#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
Título: Re: problemas con programa en c
Publicado por: EASV95 en 20 Abril 2015, 21:34 PM
Ok, ok, MeCraniDos, creo que ya me quedo claro que estaba haciendo mal, Gracias.