/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problema con programa que obtiene multiplos

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
delfis



Registrado: 19 Nov 2007
Mensajes: 4

MensajePublicado: 30/11/2007 3:51 am
Título: Problema con programa que obtiene multiplos

Hola,

he hecho el siguiente programa y no sé porque no me imprime ningún multiplo de 6. El objetivo del programa era utilzar por primera vez la sentencia break para salir del bucle pero he comprobado que no me escribe ni los multiplos de 6.

Si me podéis ayudar, os lo agradecería.

PD: Supongo que el problema está con el if pero no lo veo. Si alguien me pudiera decir como escribir por pantalla los multiplos de un número me bastaría o eso creo.

Código:

/*Uso de la sentencia break para parar un bucle en un momento dado*/

#include "stdio.h"
#include "windows.h"
#include "conio.h"
main ()
{
     int i,resto6;
     char ch;
     
     /*Muestra todos los números multiplos de 6*/
     
     for (i=1;i<100;i++)
      {
                       
      /*Esto sólo era para comprobar que hacía lo que yo quería*/
     
      resto6=i%6;
      printf("%d \t %d\n",resto6,i);
     
      /*A partir de aquí es donde no entiendo pq no me escribe por pantalla cada vez q encuentra un resto igual a 0*/
     
      if(resto6=0)
         {
         printf ("%d es multiplo de 6, quieres mas? (S/N) \n",i);
         ch = getche();
         if (ch ='N') break;
         printf ("\n");     
         }
         }
     system ("pause");
     }

Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 377
Ubicación: Cono Sur

MensajePublicado: 30/11/2007 5:31 am
Título:

La condición de igualdad entre dos operadores se denota como "==" y no "=" que es una asignación.
if(resto6==0){...}
if (ch =='N') break;


También deberías reemplazar main(){...} por int main(void){...} y colocar al final (se aconseja) la sentencia return 0; o mejor aun return EXIT_SUCCESS;.
Como no utilizas funciones propias del header "windows.h", puedes reemplazarla por el archivo de cabecera "stdlib.h".

Un saludo


Ultima edición por digies el 30/11/2007 6:12 am; editado 1 vez
Volver arriba
mamntc02



Registrado: 30 Abr 2007
Mensajes: 277

MensajePublicado: 30/11/2007 5:33 am
Título:

Hola,

Las comparaciones de tipos primitivos en C ó C++ ó Java (y otros lenguajes) se hacen mediante el operador ==, dos iguales. Si sólo usas uno, lo q haces es asignar.

Saludos.
Volver arriba
delfis



Registrado: 19 Nov 2007
Mensajes: 4

MensajePublicado: 30/11/2007 6:23 am
Título:

Diosss hay que ser tonto, perdón y mil perdones por la molestia, hará cosa de 4 o 5 días escribí mi primer post y resulta q el problema también era básicamente el mismo, aunque en ese me di cuenta nada más mandarlo. A ver si se me queda ya que lo del igual es ==.

Bueno muchas gracias por todo.
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com