| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
delfis
Registrado: 19 Nov 2007 Mensajes: 4
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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 | |
 |
|
|