[Curso] Introducción a la programación en C (VIII)
Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06
- Bright Julen
- Experto
- Mensajes: 843
- Registrado: 03 Sep 2009, 11:34
- PSN ID: BrightJulen
- Contactar:
Re: [Curso] Introducción a la programación en C (VIII)
Por qué a veces me da problemas el else if? Me pone syntax error.
Re: [Curso] Introducción a la programación en C (VIII)
largeroliker escribió:El tema es, comprueba si suma es par y si num1 (suponiendo que sea el menor, si no tendría que añadir otra comprobación en cada caso) es par. Porque si lo hago tal y como lo escribo, si sumáramos 3 y 23 daría 26, par, pero a la hora de contar contaría 3, 5, 7, 9...y lo mismo en el caso inverso. Lo del código igual repetido cuatro veces es por eso.
¿Ein? Vaya líos mentales te haces xD. En tu ejemplo, 3 + 23 = 26, par, por tanto
m0skit0 escribió:imprimir todos los valores pares hasta el mayor de ellos
Imprimes 2, 4, 6 hasta 22. Con todos los valores pares hasta el mayor de ellos me refiero desde el 1 hasta el mayor de ambos números introducidos, no desde el menor hasta el mayor (que creo que es donde radica tu confusión).
largeroliker escribió:Como verás, la idea es comprobar si es par la suma y luego el número. Si el número es impar hay que convertirlo en par, y viceversa.
Como he dicho, no tienes que comprobar que el número es par. Y mucho menos convertirlo, que eres un lioso

largeroliker escribió:Oka, lo he medio rehecho, a ver qué tal ahora:
Bueno, aparte de lo comentado más arriba, más cosillas

Código: Seleccionar todo
int menor;
Sobra.
Código: Seleccionar todo
while (menor < mayor)
{
printf("%d-", menor);
menor+=2;
sleep(500);
}
Otra vez lo tienes repetido tal cual, aunque has reducido las repeticiones a la mitad xD Se puede hacer con un solo bucle. A comerse el coco

Bright Julen escribió:Por qué a veces me da problemas el else if? Me pone syntax error.
Julen majo, como no pongas un código de ejemplo en el que te lo dé, mal andamos


- largeroliker
- Administrador
- Mensajes: 8286
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: [Curso] Introducción a la programación en C (VIII)
m0skit0 escribió:m0skit0 escribió:imprimir todos los valores pares hasta el mayor de ellos
Imprimes 2, 4, 6 hasta 22. Con todos los valores pares hasta el mayor de ellos me refiero desde el 1 hasta el mayor de ambos números introducidos, no desde el menor hasta el mayor (que creo que es donde radica tu confusión).
Cooño, haber empezao por ahí.
Spoiler:
Ahora?

Saludos!


Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
- Bright Julen
- Experto
- Mensajes: 843
- Registrado: 03 Sep 2009, 11:34
- PSN ID: BrightJulen
- Contactar:
Re: [Curso] Introducción a la programación en C (VIII)
Código: Seleccionar todo
//Ejercicio 5, lección VIII
#include<stdio.h>
int main()
{
int numero_secreto, intentos, numero_introducido;
//Introducimos el número secreto...
printf("Jugador A, introduzca el numero secreto del 0 al 10: ");
scanf("%d", &numero_secreto);
//El otro jugador intenta adivinarlo...
printf("\nJugador B, intente adivinar el numero (solo tienes 5 intentos): ");
scanf("%d", &numero_introducido);
intentos=5;
while(numero_introducido!=numero_secreto)
{
printf("\nLo siento, vuelve a intentarlo: ", intentos--);
scanf("%d", &numero_introducido);
if(intentos==0)
{
printf("\nLo siento, se termina el juego.\n");
break;
}
}
if(numero_introducido==numero_secreto);
{
printf("\nEnhorabuena, has acertado.\n");
}
getch();
return 0;
}
donde if(numero_introducido==numero_secreto); no me deja poner delante un else.
- dark_sasuke
- Moderador Global
- Mensajes: 3380
- Registrado: 03 Sep 2009, 02:13
- Twitter: D4rkyt0
Re: [Curso] Introducción a la programación en C (VIII)
largeroliker escribió:Ahora?
No te precipites y vuelve a leer el enunciado

Bright Julen, para empezar ese código tiene un formateo horrible (tirando por lo bajo), y no debes usar break. Si lo formatearas en condiciones verías por qué no puedes poner un else antes del if.
Spoiler:
Porque un if va dentro del while y el otro fuera. Son dos condiciones en lugares diferentes. Para que entiendas un poco, un if..else, traducido al castellano sería: SI pasa esto haz esto otro, SI NO, haz aquello. Un if... else if sería SI pasa esto, haz esto otro, SI NO, ENTONCES SI pasa aquello, haz aquello otro. Esto no tiene sentido en caso de un if vaya dentro del bucle y el else fuera


- largeroliker
- Administrador
- Mensajes: 8286
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: [Curso] Introducción a la programación en C (VIII)
m0skit0 escribió:largeroliker escribió:Ahora?
No te precipites y vuelve a leer el enunciado![]()
Si la suma no es par, imprimir los valores impares hasta la suma de ambos.
....
Spoiler:
Saludos!


Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
Re: [Curso] Introducción a la programación en C (VIII)
Vicejefe:
Yo no veo que controles la condición de mayor, sólo veo la de la suma
m0skit0 escribió:si la suma de ambos es par, imprimir todos los valores pares hasta el mayor de ellos
Yo no veo que controles la condición de mayor, sólo veo la de la suma


- largeroliker
- Administrador
- Mensajes: 8286
- Registrado: 03 Sep 2009, 09:46
- PSN ID: larger0o
- Gamertag Xbox Live: larger0o
- Steam ID: larger0o
- Twitter: larger0o
- Ubicación: Málaga
- Contactar:
Re: [Curso] Introducción a la programación en C (VIII)
Cierto...pero me dejo ahora mismo de programación hasta dentro de unos días, que mañana tengo el hachazo de Física.
PD: Se me ocurre una variable objeto que determine si irá a suma o a mayor a la vez que determina si contador vale 0 ó 1. Pero esto es sin mucho pensar que me piro a estudiar
Saludos!
PD: Se me ocurre una variable objeto que determine si irá a suma o a mayor a la vez que determina si contador vale 0 ó 1. Pero esto es sin mucho pensar que me piro a estudiar

Saludos!


Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
Re: [Curso] Introducción a la programación en C (VIII)
Buena idea, pero se puede hacer sin necesidad de otra variable. Aunque sería un resultado totalmente válido.
¡Suerte con Física (y dale gracias a Gauss xD)!
¡Suerte con Física (y dale gracias a Gauss xD)!
