muy buenos tutos estoy aprendiendo mucho con tus videos, en este caso yo hice el código así que si ponemos los números iguales se sale del bucle y únicamente saldrá el valor ingresado así que únicamente agregue = para que sigua el bucle hasta que el numero sea mayor y no se ejecute si es menor o igual int main() {
int i, x, y; i = 0;
printf("escriba un numero: "); scanf ("%i",&x);
do {
printf("Escirba un numero mayor al anterior: "); scanf("%i",&y);
Soy estudiante de Ingenieria Informática y estoy en primer curso. Estamos aprendiendo a programar en C. Muchas gracias por este video!!!. Me ha aclarado mucho el entender el significado del while y do while. Explicas MUY BIEN!!!! Felicidades
Estos videos merecen mucho mas reconocimiento, todos están buenísimos recién logro entender los bucles asi que hubiera explicado mi profesor. Merece muchos LIKES.
Bueno ya llevo 15 videos bn aprendidos me hacen falta otros 30 mas para decir que aprendi todo el curso efectivamente y se utilizar cada una de las cosas que nos enseño en el curso Gracias Bro.!
Estoy en una ingeniería electrónica, en clase solo me dan teoría y en la práctica semanal debo saber hacer programas. Solo con teoría no comprendo cómo se supone que debemos saber programar. Gracias a ti empiezo a entender mucho mejor todo. Y puedo hacer mis prácticas que ahora con la cuarentena aún más difícil todo. Tu canal merece más visitas. Un abrazo.
Agradecido con usted por hacer la titanica tarea de explicar mediante la practica como programar correctamente las operaciones, y explicar el porque de una falla cuando puede. Realmente se aprecia esto para un entusiasta (o un estudiante desesperado jejej).
Eres el unicoos de programación, muchísimas gracias por tus vídeos. Por cierto, al hacer la variación del ejercicio que citaste, el de pedir un número y luego un número mayor que él, podrías ahorrarte tiempo y hacer un if para que dé igual el orden que pongas de los números: #include #include int main() { int x, y, i;
printf("Por favor, introduzca un numero "); scanf("%i", &x);
printf("Por favor, introduzca un segundo numero "); scanf("%i", &y);
if(y > x) { for (i = x + 1; i < y; i++) { printf("%i, ", i); } printf(" "); } else { for (i = y + 1; i < x; i++) { printf("%i, ", i); } printf(" "); }
De nuevo, excelente video, y además me doy por contestado la la pregunta que te hacia el el Bloque 2-4. Me daba error por tener la memoria cargada con un espacio, y no utilizaba el fflush (stadin),. Gracias maestro, enseñar no es solo mostrar el camino sino además hacer que el alumno camino solo.
Un pequeño programa que pude hacer gracias a lo aprendido. Muchas gracias Maestro! /*Realiza una aplicación que pida una letra al usuario, detecte si es Vocal y de ser asi imprima en pantalla "Es Vocal"*/ #include #include #include char x; char o; int main () { printf ("Hola Bienvedi@ a Vario Vocal. ");// Bienvenida al programa (Vario Vocal es el nombre del programa) getch(); //Pausa do{ printf (" Porfavor ingresa una letra: ");//Pedimos una letra al usuario fflush (stdin);//Corte de buffer que hace la tecla intro al introducir un valor de tipo char mas de una vez scanf ("%c", &x);//Asignacion de valor introducido por el usuario a la variable x que es de tipo char if (isdigit(x)) { //inicio de ciclo "if" (Diferenciar si x es un numero o un caracter) printf (" %c No es una letra ", x);} else { //si x es un numero imprime "(x) no es una letra)" si no hace la comparacion siguiente. if ( //Inicio de ciclo "if" x == 'a' || x == 'A' || //Si x es igual a las vocales mayusculas o minuscular... x == 'e' || x == 'E' || x == 'i' || x == 'I' || x == 'o' || x == 'O' || x == 'u' || x == 'U' ) { printf (" %c Es una Vocal. ", x); //Imprimir "Es una vocal" }else { printf (" %c No es una Vocal. ", x); //Si no imprimir "No es una Vocal" } //Fin del ciclo "if" printf ("
Muchas Gracias por utilizar Vario Vocal "); //Agradecimiento final al usuario por usar el programa printf (" Pulsa cualquier tecla para introducir otra letra o pulsa Y para salir. "); //Opcion al usuario la cuyal le permite elejir entre repetir el programa o salir de este fflush (stdin); //Corte de buffer que hace la tecla intro al intrducir un valor de tipo char mas de una vez scanf ("%c", &o); //Asignacion de valor introducido por el usuario a la variable "o" de tipo char } //fin de ciclo "if" }while (o != 'y' && o != 'Y'); //Fin de cliclo "do" e inicio de "while" el cual se cumple si el valor de la variable o es diferente de "y" mayuscula o minuscula } //Fin de main
gracias, tu video me sirvio mucho para entender como funciona el "do while" y para entender bien como funcionan otros comandos como "fflush" que es un comando que ya utilizaba pero no entendia bien para que servia. muy buena explicación
Hola Empieza a Programar! Te agradezco enormemente que hayas realizado estos vídeos tan amenos y prácticos sobre la programación. Realmente gracias a tus vídeos estoy aprendiendo mucho sobre este mundo y con un vídeo que te veas mas o menos cada 2 dias te va abriendo un amplio abanico de recursos súper prácticos, de hecho me programo calculadoras personalizadas que me ayudan a estudiar :D Alabo tu dedicación de ir haciendo estos recursos tan prácticos para facilitar la comprensión de la programación!! Un saludo!
Seria bueno que tuvieras en cuenta los usuarios que trabajan en sistemas UNIX. Algunas de las sentencias que pones solo son validas en windows, como por ejemplo "fflush (stdin)" y también "system("pause")". En sistemas UNIX toca usar: fflush (stdin) -> scan(" "); system("pause") -> getchar(); y son sentencias que si funcionan en cualquier sistema.
inserta la librería de system, esto pasa por que windows la tiene en ejecución por defecto. #include con eso debería bastar para que funcione la función system("pause"); entre otras funciones que normalmente no funcionan en LINUX
Hola Profesor, permítame llamarle así, tengo una duda, estoy usando el entorno de desarrollo Visual Studio 13, funciona perfecto con el lenguaje C y con su ayuda, el cado es que en la estructura DO-WHILE: do { printf("Introduce any letter: "); fflush(stdin); scanf_s("%c", &letter); } while (letter != 's' && letter != 'S'); de este tutorial, se supone que al ingresar 's' o 'S' se saldria del programa pero este no es mi cado, en mi caso sigue el bucle... Para solucionarlo añadí una vez más "&letter" tras eso funciona, así luce: do { printf("Introduce any letter: "); fflush(stdin); scanf_s("%c", &letter, &letter); } while (letter != 's' && letter != 'S'); La duda es: es normal que haga esto, será mi entorno de dasarrollo...??? Agradecería su inmediata respuesta...y gracias por el impresionante CURSO MULTIMEDIA...!!!
Estaría buenísimo que diagrames, por ejemplo poner un problema y resolverlo (o alguno de algún suscriptor), y en otro video hacer la codificación. Muy buen canal. :D
En el ultimo ejercicio, cuando te pide un numero mayor al anterior pones el mismo que pusiste para la x se ejecuta, creo que tendría que ser mayor o igual la condición del while. Un saludo
hola yo estoy estudiando en Argentina programacion y estas clases son muy buenas, nuestro profesor nos dice que empezando a programar en C los otros lenguajes son mas accesibles gracias
Gracias Empieza a Programar, aquí les dejo mi primer programa que logré hasta acá :D, estoy feliz, mi primer programa jejejeje :D es una calculadora básica, aquí dejo el código :D /// Calculadora TukaPlay v1.0 #include #include int main (){ ///DECLARAR VARIABLES int cont, cant, menu, m, m2, mem;/// cont = contador float aux, aux2, aux3, aux4, aux5; double total, suma; suma = 0; m = 1; do{ /// INICIAR VARIABLES cont = 0; aux = 0; aux2 = 0; aux3 = 0; aux4 = 0; aux5 = 0; total = 0; printf ("
"); printf (" QUE OPERACION DESEA REALIZAR? INDIQUE CON UN NUMERO
OPERACION: "); scanf ("%i",&menu); switch (menu){ case 1: printf ("
VAMOS A SUMAR
"); printf (" INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS SUMAR: "); scanf ("%i",&cant); while (cont < cant){ printf (" INTRODUCE EL %i NUMERO: ",cont+1); scanf ("%f",&aux); total += aux; cont++; } printf ("
EL RESULTADO DE LA SUMA ES: %f.
",total);break; case 2: printf ("
VAMOS A RESTAR
"); printf (" INTRODUCE EL NUMERO PRINCIPAL DE LA RESTA: "); scanf ("%f",&aux3); printf (" INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS RESTAR: "); scanf ("%i",&cant); while (cont < cant){ printf (" INTRODUCE EL %i NUMERO: ",cont+1); scanf ("%f",&aux); aux2 += aux; total = aux3 - aux2; cont++; } printf ("
"); printf (" PRIMER VALOR "); scanf ("%f",&aux); printf (" SEGUNDO VALOR "); scanf ("%f",&aux2); total = aux * aux2; printf ("
EL RESULTADO DE LA MULTIPLICACION ES: %f.
",total);break; case 5: printf ("
VAMOS A SACAR EL PORCENTAJE
"); printf (" PRIMER VALOR: "); scanf ("%f",&aux); printf (" SEGUNDO VALOR EN PORCENTAJE: "); scanf ("%f",&aux2); total = aux*aux2/100; aux4 = total+aux; aux5 = aux-total; printf ("
EL %f PORCIENTO DE %f ES: %f. ",aux2,aux,total); printf (" SI A %f LE SUMO UN %f PORCIENTO EL VALOR ES: %f. ",aux,aux2,aux4); printf (" SI A %f LE RESTO UN %f PORCIENTO EL VALOR ES: %f.
",aux,aux2,aux5);break; case 6: printf ("
VAMOS A SACAR EL PROMEDIO
"); printf (" INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS PROMEDIAR: "); scanf ("%i",&cant); while (cont < cant){ printf ("
INTRODUCE EL %i NUMERO: ",cont+1); scanf ("%f",&aux); total += aux; cont++; } total = total / cant; printf ("
Hola, se que vengo un poco tarde por el curso pero bueno, recien se me esta dando por aprender. Una consulta: Cuando explicaste los bucles dijiste que el Do While , siempre se ejecuta por lo menos una vez, entonces, en el ultimo ejercicio que dictas en el video , lo mejor seria hacerlo solo con un While. Ya que si lo haces con Do While , por mas que Y sea mayor que X, este bucle se va a ejecutar al menos una vez pidiendote el valor de Y nueamente aunque sea correcto. Para mi la forma correcta seria esta, corregime si me equivoco. Saludos. #include int main (){ int x , y , i; printf ("Introduce un numero para X:"); scanf ("%i",&x); printf ("Introduce un numero mayor a X para Y:"); scanf ("%i",&y); while ( y
Hola, me gusta mucho tu tuto, hace poquito empece a seguirlo. Hasta hace poco tiempo no sabia nada de programación, todavia no se nada tampoco jaja, pero estoy aprendiendo, y este curso es muy bueno. Con respecto al fflush(stdin), yo tambien uso linux no me funciona, tampoco me funcionaron ninguna de las tres alternativas que pusiste en los comentarios, pero encontre en una pagina en ingles que poniendo un espacio en blanco en el scanf, antes de &c funcionaba, queria asi: scanf (" %c",&c); Hay que deja un espacio en blanco entres las primeras comillas y el signo de porcentaje. La verdad no se porque ni como funciona pero me funciono, me lo podrias explicar? Muchas gracias.
Quizás lo que le faltaría al programa sería que también te volviera pedir un numero mayor cuando los números fueran iguales. Es decir, si tu en el programa pones 2 números iguales saldrá del programa. Yo lo he apañado añadiendo otra condición en el while. Que quedaría así: while (y
EXCELENETE, MÁS CLARO IMPOSIBLE. Solo quería preguntarte, puedes hacer un tutorial de donde conseguir las librerías que no se tiene y como instalarlas?? Gracias
Empieza a programa cuando ya haya terminado los videotutoriales, a donde me dirigo?, existen practicas virtuales?, dan dinero?, cuando haga programas con diseño que me recomiendas?. que libros me aconsejas?, si contestaras todas estas preguntas, estuviera muy agradecido y muy feliz.
Tras varios años. ya he contestado a todo ese tipo de preguntas, puedes acceder aqui y veras varios videos sobre el tema: th-cam.com/play/PLw8RQJQ8K1ySeqwsubbZ8FLM5Zjw_ADRi.html Un saludo.
Por lo que entiendo, quieres que se repita SI Y SOLO SI se ingresa "s" o "sí", y que se salga SI Y SOLO SI se ingresa "n" o "no"... Citando al maestro en el minuto 13:04 de este mismo vídeo "los usuarios que vayan a usar nuestro programa son tontos", ¿qué esperas que pase si el usuario agrega cualquier otra cosa?
Yo hice un ejercicio parecido al primero, en cambio, yo hice que después de ingresar la letra correspondiente para avanzar, se le pidiera al usuario dos números y luego muestre en pantalla la suma de estos. Por si a alguien le interesa les dejo acá el código (Agregue el condicional IF por si el usuario ingresa un numero negativo salte un error y tenga que ingresar un numero positivo). #include int main(){ int i=1, n, m, s=0; char o[30]; printf ("Si desea continuar digite la letra 's' : "); scanf ("&c", &o); do{ fflush (stdin); printf ("Digite dos numeros: "); scanf ("%i %i", &n, &m); }while(o =='s' || o =='S'); if ((n>=0)&&(m>=0)){ s = (n+m); printf ("La suma de los dos numeros es de: %i ", s); } else { printf ("Digite un numero positivo "); } system ("pause"); return 0; }
#include main (){ int a,b,i; printf("introduce un numero: "); scanf("%i",&a); //lo personalice con un if para cuando el numero sea menor, diga que es menor! y pues bueno, se repita el bucle hasta que la //condicion sea verdadera! do{ printf("introduce un numero mayor al anterio: "); scanf("%i",&b); if (b
//Estructuras Iterativas While y For //Escribir un programa el cual lea dos numero y muestres los numero que hay entre esos 2 numeros #include int main (){ int num1,num2; int c; printf("Introduce un numero "); scanf("%i",&num1); printf("Introduce un numero "); scanf("%i",&num2); printf(" "); /*for(c=0;c
Una duda, si quiero dar por ejemplo 3 opciones para ingresar, 1, 2, 3, como evito que usuario ingrese un valor numerico o un caracter distinto a las opciones 1,2,3
Que tal, antes que nada un saludo desde México, y agradecerte por tus videos y tiempo, en verdad que son muy buenos! Y solo tengo una duda... creo que mi novia me es infiel me puede ayudar a hackear Facebook... XD; NO ES CIERTO, BROMA, solo tengo la duda de el porque no utilizaste la librería "IOSTREAM", ya que en casi todos lados donde busco ejercicios o información de c++, viene con esta librería, no se si ya lo hayas comentado en alguna ocasión, pero me gustaría saber... P.D. EXCELENTE MANERA DE EXPLICAR !!!
una pequeña apreciación. Creo que en la condición del bucle do while del segundo ejercicio (el que se utilizó para explicar los bucles for y while) se debería poner (y
no es malo pero estas gastando memoria ya que %s = string y %c = char el char solo gasta 1bit mientras que string depende de la palabra es el peso. lo recomendable es mientras menos recursos ocupes mejor para el programa
Si escribo varios caracteres que contengan la letra 's' me pasa lo siguiente en el caso de estar la primera el programa reconoce la secuencia como valida y si esta en cualquier otra posición la reconoce como falsa.¿como puedo arreglar este error?
No me eh visto tus videos recien llego aqui, la cuestion es que se algo algo programar (de colegio) y me propuse crear este programita ya que estaba cansado de digitar tantas teclas en la calculadora, este es solamente el calculo que cualquier logaritmo en cualquier base, el problema es que se me ocurrio que tampoco quiero que el programa se me cierre (si lo se, soy vago xD), asi que aplique do y while pero con numeros, ¿hay alguna manera de poder escribir simplemente si o no, sin necesidad de darle valor?, si tienes un video sobre eso por fa hazmelo saber. #include using std::cout; using std::cin; #include int main() { int siono; double b, n, r; do { cout b; cout > n; system("cls"); if ((b&&n)!=0) { r=(log10(n))/(log10(b)); printf(" \t El logaritmo es: %.5f", r); } else cout siono; system("cls"); } while (siono==1); return 0; }
Buenas, la filosofía del canal es que yo pongo los vídeos y vosotros los miráis. Tienes listas de reproducción en las que puedes consultar todo lo que comentas. Ademas comentarte, que tu usas C++ y yo aquí enseño C, estaría bien que te vieras el resto de vídeos antes de continuar. Un saludo.
Y no seria mejor, ordenar los numeros, en el caso de que el segundo sea menor que el primero, que lo haga igual, pero con esos numeros. Aqui te dejo como lo hice, se me ocurrio cuando hicimos los de la suma de todos entre dos numeros. Por aquí te dejo mi programilla, lo hice sin mirar la solución. He echo algunos cambios, en el mio no es entre dos numero ya fijados, sino que eres tú quien los introduce. Ademas puedes introducirlos en el orden incorrecto, es decir 3000 y 2, el programa los ordena, también tiene en cuenta si es un numero par o impar, ya que no es lo mismo, si es impar, hay que sumarle uno. Bueno lo dejo por aquí para que lo probéis. #include int main(){ int num1,num2,numB; int i,k;//variable float suma; suma=0; printf("Introduce dos 3numeros tal que: a b. Se te devolverá la suma de los numero pares que se encuenten entre los dados. "); scanf("%i %i",&num1,&num2); if (num1>num2){ numB=num1; num1=num2; num2=numB; } printf("COMPROBACION. Los dos numeros introducidos han sido de menor a mayor %i %i ", num1, num2); k=num1%2; if (k==0){ for(i=num1;i
#include //ESCRIBE UN PROGRAMA QUE DE DOS NÚMEROS Y LEA LOS COMPRENDIDOS ENTRE ELLOS. #include int main(){ setlocale(LC_CTYPE,"Spanish"); int x,y,i; printf("
Teclee dos números cualesquiera: "); scanf("%i %i",&x,&y); if(x
hola emilio soy nuevo en esto de la programacion me gustaria que me explicara en la ultima parte que pasaria si un usuario que usa el programa introduce simbolo ó letra como generaria la condicional para evitar un bug
Intento hacer un login solo con usuario utilizando do/while, y aunque lo haga exactamente a tu estructura no permite el paso al usuario aunque coloque de condicion en "while (usu != 'admin')", como puedo hacer?
de seguro estas usando variables de tipo char sin la limitación de caracteres char solo guarda un carácter si quieres que guarde mas de una letra tienes que hacer algo como esto char x[12] = "Hola Mundo!"; si lo quieres imprimir solo pones: printf("%s ", x); se pone %s por que es de tipo string y no %c por que no es tipo char char = carácter; string = cadena; espero y te haya funcionado ;)
tengo 2 dudas: 1ra Si pones x=5, y=5 tambien estaria mal? 2da si pones x=5, y=6 no devuelve nada, esta bien o mal? desde ya gracias por cualquier respuesta y muy buenos los videos :D
+Ignacio Esposto En el primer caso "y" es menor que "x", por lo que sí funcionaría. En el segundo caso "y" no es menos que "x" por lo que no funcionaría y te preguntaría otra vez.
Mequins Veamos, si me preguntas esto es que no sabes que es un char, por tanto antes de preguntar de nuevo te recomendaria que te vieras los videos anteriores. Un saludo.
no me lanzo el problema de que se repitan sin el fflush con el mismo codigo programando con las librerias y c++, tiene alguna informacion al respecto? saludos y muy buenos tutoriales
A ver, esto funciona cuando le damos el valor a la variable desde dentro del programa, pero cuando quiero que la variable la elija el usuario me da error. Tanto en for como do while, que estoy haciendo mal? Si no tengo que iniciar la variable porque ya lo he hecho desde el teclado, como activo el bucle?
HOLA EMPIEZA A PROGRAMAR , tengo 12 años y se que es viejo el video pero quiero preguntarle, si que es normal que me cueste mucho entender perfectamente los bucles
Aquí tienen: //HACER UN BUCLE QUE NOS PREGUNTE SI QUEREMOS CONTINUAR T HASTA QUE NO ESCRIBIMOS LA PALABRA MANUELINSKY NO PARE #include int main () { char c; do{ printf("Introduce una palabra"); fflush(stdin); scanf("%c",&c); }while (c != 's'); system ("pause"); return 0; }
en el segundo ejercicio se puede poner el bucle while normal, entonces, me podrían decir un ejercicios en el que no se pueda? para saber así bien la diferencia
4 ปีที่แล้ว
Hola Alaex, en realidad cuaquier cosa que vayas a hacer con un do - while lo puedes hacer con un while. Va a depender del problema quieras resolver, entonces puede que sea más eficiente un do - while que un while incluso si con el while l puedes hacer. En este video tengo una expliación al respecto. -> th-cam.com/video/r4usH53RT6w/w-d-xo.html
Empieza a programar, e descubierto error en el ejercicio Bloque 3.3.1.c cuando se introduce por teclado un respuesta compuesta , quiero decir una palabra y ya no una sola letra, por ejemplo : (sep) el bucle se detiene .... no continua, ahy que debo de hacer para que eso no suceda? gracias
char solo guarda en memoria 1bit que es equivalente a 1 carácter y un carácter un símbolo, letra, numero, etc. pero no almacena nunca una palabra por que son mas caracteres de los que puede almacenar. Revisa el vídeo de tipo de variables y ahí te dice para que funciona char.
Como se haria para que se volviera a repetir todo el codigo es decir para que cuando el programa responda a una pregunta vuelva a ejecutar otra vez todo el codigo desde 0
ElSrCiruelo Buenas, no respondo a este tipo de preguntas porque para eso estan mis videos, sigue viendo los videos y veras como muchas veces empleo esa tecnica en menus y cosas similares (no lo hago en este video??), asi que lo dicho, mejor que preguntar es ver los videos. Un saludo.
tengo este problema teclado (como un único numero) hasta el servidor . Un banco ha solicitado se diseñe un programa que permita encriptar la información de las contraseñas (4 números) digitada por principal, utilizando el siguiente criterio, el primer número se envía de último, el segundo, de penúltimo, el tercer numero pasa a la segunda posición, el último pasa a ser primero: ejemplo: Sea 6532, se debe enviar como 2356
Para pedirle al usuario que ingrese un número para iniciar la serie y luego ingrese un número para terminar la serie, cuál sería la condición de while?
Hola, podrias poner un ejemplo con texto? Introduce A i B, Si no se introduce A o B, retorna a la pregunta, si se introduce A, que escriba Antonio, si se introduce B que escriba Barcelona. Lo intento repetidamente i no lo consigo. Gracias
Como sugerencia, podrías tener también en cuenta el caso en que los números sólo difieran en una unidad, ya que en este caso no se imprimiría nada y no se le diría nada al usuario. Yo lo que hice fue hacer un if ( x==y-1) { printf(" no hay ningún numero intermedio");} else, y dentro del else metí el for para calcular los números intermedios en otro caso.
buenas amigo me gustaria hacer una sugerencia, no se si ya la han hecho porque no lei los comentarios anteriores. bueno la idea de este ejercicio es que muestre los numeros que hay entre uno y otro mayor, por lo tanto deberias hacer que el programa vuelva a pedir un numero mayor si el usuario "cabeza hueca jajaja" introduce el mismo numero como numero mayor..... osea que en vez de poner en el codigo y
emilio fflush(stdin); no me trabaja no hace nada estando escrito el codigo esea fflush(stdin);, si introduzco 2 valores por entrada entandar me inprime las misma cantidad de valores introducidos por ejemplo: 2 valores 2 vez "introduce un valor" todo eso es en kali linuz sana 2.0 compiler GCC del C... gracias!!
Casi lo hago entero, lo de fflush era importante xD: #include int main(){ char para; do{ printf(" Quieres parar el bucle? : "); fflush(stdin); scanf("%c",¶); }while(para != 's'); system ("pause"); return 0; }
Dejo mi versión del ultimo ejercicio: #include int main () {
int X, Y, I;
do {
printf ("Elija dos numeros a comparar. Introduzca el primer numero: "); scanf ("%i",&X); printf ("Introduzca un numero mayor al anterior: "); scanf ("%i",&Y); if (X>Y) { printf ("los numeros elegidos no son correctos. Intentelo de nuevo.
"); } } while (X>Y);
I = X+1; printf ("los numeros comprendidos entre %i y %i son: ",X,Y); do { printf ("%i, ",I); I++; } while (I > X && I < Y); printf (" ");
muy buenos tutos estoy aprendiendo mucho con tus videos, en este caso yo hice el código así
que si ponemos los números iguales se sale del bucle y únicamente saldrá el valor ingresado así que únicamente agregue = para que sigua el bucle hasta que el numero sea mayor y no se ejecute si es menor o igual
int main() {
int i, x, y;
i = 0;
printf("escriba un numero:
");
scanf ("%i",&x);
do {
printf("Escirba un numero mayor al anterior:
");
scanf("%i",&y);
} while (x >= y);
for (i = x + 1 ; i
Soy estudiante de Ingenieria Informática y estoy en primer curso. Estamos aprendiendo a programar en C. Muchas gracias por este video!!!. Me ha aclarado mucho el entender el significado del while y do while. Explicas MUY BIEN!!!! Felicidades
Nose si llegues a ver esto pero te doy muchas gracias porque con tus videos hoy aprobé el final de algoritmo en la universidad
Estos videos merecen mucho mas reconocimiento, todos están buenísimos recién logro entender los bucles asi que hubiera explicado mi profesor. Merece muchos LIKES.
Bueno ya llevo 15 videos bn aprendidos me hacen falta otros 30 mas para decir que aprendi todo el curso efectivamente y se utilizar cada una de las cosas que nos enseño en el curso Gracias Bro.!
Estoy en una ingeniería electrónica, en clase solo me dan teoría y en la práctica semanal debo saber hacer programas. Solo con teoría no comprendo cómo se supone que debemos saber programar. Gracias a ti empiezo a entender mucho mejor todo. Y puedo hacer mis prácticas que ahora con la cuarentena aún más difícil todo.
Tu canal merece más visitas. Un abrazo.
Hola Nadia, tengo él mismos problema que tú no sé nada de esto jajajaja y estoy estudiando una ingeniería también, crees poder ayudarme !!!!!
Agradecido con usted por hacer la titanica tarea de explicar mediante la practica como programar correctamente las operaciones, y explicar el porque de una falla cuando puede. Realmente se aprecia esto para un entusiasta (o un estudiante desesperado jejej).
Eres el unicoos de programación, muchísimas gracias por tus vídeos. Por cierto, al hacer la variación del ejercicio que citaste, el de pedir un número y luego un número mayor que él, podrías ahorrarte tiempo y hacer un if para que dé igual el orden que pongas de los números:
#include
#include
int main() {
int x, y, i;
printf("Por favor, introduzca un numero
");
scanf("%i", &x);
printf("Por favor, introduzca un segundo numero
");
scanf("%i", &y);
if(y > x) {
for (i = x + 1; i < y; i++) {
printf("%i, ", i);
}
printf("
");
}
else {
for (i = y + 1; i < x; i++) {
printf("%i, ", i);
}
printf("
");
}
system("pause");
return 0;
}
De nuevo, excelente video, y además me doy por contestado la la pregunta que te hacia el el Bloque 2-4. Me daba error por tener la memoria cargada con un espacio, y no utilizaba el fflush (stadin),. Gracias maestro, enseñar no es solo mostrar el camino sino además hacer que el alumno camino solo.
Un pequeño programa que pude hacer gracias a lo aprendido. Muchas gracias Maestro!
/*Realiza una aplicación que pida una letra al usuario, detecte si es Vocal y de ser asi imprima en pantalla "Es Vocal"*/
#include
#include
#include
char x;
char o;
int main () {
printf ("Hola Bienvedi@ a Vario Vocal.
");// Bienvenida al programa (Vario Vocal es el nombre del programa)
getch(); //Pausa
do{
printf ("
Porfavor ingresa una letra:
");//Pedimos una letra al usuario
fflush (stdin);//Corte de buffer que hace la tecla intro al introducir un valor de tipo char mas de una vez
scanf ("%c", &x);//Asignacion de valor introducido por el usuario a la variable x que es de tipo char
if (isdigit(x)) { //inicio de ciclo "if" (Diferenciar si x es un numero o un caracter)
printf ("
%c No es una letra
", x);} else { //si x es un numero imprime "(x) no es una letra)" si no hace la comparacion siguiente.
if ( //Inicio de ciclo "if"
x == 'a' || x == 'A' || //Si x es igual a las vocales mayusculas o minuscular...
x == 'e' || x == 'E' ||
x == 'i' || x == 'I' ||
x == 'o' || x == 'O' ||
x == 'u' || x == 'U'
) {
printf ("
%c Es una Vocal.
", x); //Imprimir "Es una vocal"
}else {
printf ("
%c No es una Vocal.
", x); //Si no imprimir "No es una Vocal"
} //Fin del ciclo "if"
printf ("
Muchas Gracias por utilizar Vario Vocal
"); //Agradecimiento final al usuario por usar el programa
printf ("
Pulsa cualquier tecla para introducir otra letra o pulsa Y para salir.
"); //Opcion al usuario la cuyal le permite elejir entre repetir el programa o salir de este
fflush (stdin); //Corte de buffer que hace la tecla intro al intrducir un valor de tipo char mas de una vez
scanf ("%c", &o); //Asignacion de valor introducido por el usuario a la variable "o" de tipo char
} //fin de ciclo "if"
}while (o != 'y' && o != 'Y'); //Fin de cliclo "do" e inicio de "while" el cual se cumple si el valor de la variable o es diferente de "y" mayuscula o minuscula
} //Fin de main
No sé cómo agradecerte, me está yendo muy bien con tus vídeos.
Sos un gran maestro, lo que haces es un gran aporte para todo el mundo. GRACIAS
gracias, tu video me sirvio mucho para entender como funciona el "do while" y para entender bien como funcionan otros comandos como "fflush" que es un comando que ya utilizaba pero no entendia bien para que servia.
muy buena explicación
muy claro profe donde tuve dudas fue porque llama a la variable c con &c en el minuto 8:45
Hola Empieza a Programar! Te agradezco enormemente que hayas realizado estos vídeos tan amenos y prácticos sobre la programación. Realmente gracias a tus vídeos estoy aprendiendo mucho sobre este mundo y con un vídeo que te veas mas o menos cada 2 dias te va abriendo un amplio abanico de recursos súper prácticos, de hecho me programo calculadoras personalizadas que me ayudan a estudiar :D
Alabo tu dedicación de ir haciendo estos recursos tan prácticos para facilitar la comprensión de la programación!!
Un saludo!
Seria bueno que tuvieras en cuenta los usuarios que trabajan en sistemas UNIX. Algunas de las sentencias que pones solo son validas en windows, como por ejemplo "fflush (stdin)" y también "system("pause")".
En sistemas UNIX toca usar:
fflush (stdin) -> scan(" ");
system("pause") -> getchar();
y son sentencias que si funcionan en cualquier sistema.
Muchas gracias!
Yo utilize getchar() en vez de ffush(stdin) saludos;
inserta la librería de system, esto pasa por que windows la tiene en ejecución por defecto.
#include
con eso debería bastar para que funcione la función system("pause"); entre otras funciones que normalmente no funcionan en LINUX
Gracias, no encontraba el equivalente
gracias maquina!
Muchísimas gracias, no sabia sobre el problema de las variables tipo char, así que tuve muchos problemas
10 de 10 maquina
excelentes tus videos Emilio
Hola Profesor, permítame llamarle así, tengo una duda, estoy usando el entorno de desarrollo Visual Studio 13, funciona perfecto con el lenguaje C y con su ayuda, el cado es que en la estructura DO-WHILE:
do
{
printf("Introduce any letter: ");
fflush(stdin);
scanf_s("%c", &letter);
}
while (letter != 's' && letter != 'S'); de este tutorial, se supone que al ingresar 's' o 'S' se saldria del programa pero este no es mi cado, en mi caso sigue el bucle...
Para solucionarlo añadí una vez más "&letter" tras eso funciona, así luce:
do
{
printf("Introduce any letter: ");
fflush(stdin);
scanf_s("%c", &letter, &letter);
}
while (letter != 's' && letter != 'S');
La duda es: es normal que haga esto, será mi entorno de dasarrollo...??? Agradecería su inmediata respuesta...y gracias por el impresionante CURSO MULTIMEDIA...!!!
Estaría buenísimo que diagrames, por ejemplo poner un problema y resolverlo (o alguno de algún suscriptor), y en otro video hacer la codificación. Muy buen canal. :D
En el ultimo ejercicio, cuando te pide un numero mayor al anterior pones el mismo que pusiste para la x se ejecuta, creo que tendría que ser mayor o igual la condición del while.
Un saludo
QUE PRO!!! FELICITACIONES Y MUCHAS GRACIAS
muy bueno tu curso gracias por el aporte.
dios te bendiga
hola yo estoy estudiando en Argentina programacion y estas clases son muy buenas, nuestro profesor nos dice que empezando a programar en C los otros lenguajes son mas accesibles gracias
Gracias Empieza a Programar, aquí les dejo mi primer programa que logré hasta acá :D, estoy feliz, mi primer programa jejejeje :D
es una calculadora básica, aquí dejo el código :D
/// Calculadora TukaPlay v1.0
#include
#include
int main (){
///DECLARAR VARIABLES
int cont, cant, menu, m, m2, mem;/// cont = contador
float aux, aux2, aux3, aux4, aux5;
double total, suma;
suma = 0;
m = 1;
do{
/// INICIAR VARIABLES
cont = 0;
aux = 0;
aux2 = 0;
aux3 = 0;
aux4 = 0;
aux5 = 0;
total = 0;
printf ("
CALCULADORA TUKAPLAY v1.0
");
printf ("
1 = SUMA +
2 = RESTA -
3 = DIVISION /
4 = MULTIPLICACION *
5 = PORCENTAJE
6 = PROMEDIO
7 = POTENCIACION ^
8 = RAIZ CUADRADA
9 = MOSTRAR MEMORIA
10 = SALIR
");
printf (" QUE OPERACION DESEA REALIZAR?
INDIQUE CON UN NUMERO
OPERACION: ");
scanf ("%i",&menu);
switch (menu){
case 1: printf ("
VAMOS A SUMAR
");
printf ("
INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS SUMAR: ");
scanf ("%i",&cant);
while (cont < cant){
printf ("
INTRODUCE EL %i NUMERO: ",cont+1);
scanf ("%f",&aux);
total += aux;
cont++;
}
printf ("
EL RESULTADO DE LA SUMA ES: %f.
",total);break;
case 2: printf ("
VAMOS A RESTAR
");
printf ("
INTRODUCE EL NUMERO PRINCIPAL DE LA RESTA: ");
scanf ("%f",&aux3);
printf ("
INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS RESTAR: ");
scanf ("%i",&cant);
while (cont < cant){
printf ("
INTRODUCE EL %i NUMERO: ",cont+1);
scanf ("%f",&aux);
aux2 += aux;
total = aux3 - aux2;
cont++;
}
printf ("
EL RESULTADO DE LA RESTA ES: %f.
",total);break;
case 3: printf ("
VAMOS A DIVIDIR
");
printf ("
INGRESAR NUMERADOR ");
scanf ("%f",&aux);
printf ("
INGRESAR DENOMINADOR ");
scanf ("%f",&aux2);
total = aux / aux2;;
printf ("
EL RESULTADO DE LA DIVISION ES: %f.
", total);break;
case 4: printf ("
VAMOS A MULTIPLICAR
");
printf ("
PRIMER VALOR ");
scanf ("%f",&aux);
printf ("
SEGUNDO VALOR ");
scanf ("%f",&aux2);
total = aux * aux2;
printf ("
EL RESULTADO DE LA MULTIPLICACION ES: %f.
",total);break;
case 5: printf ("
VAMOS A SACAR EL PORCENTAJE
");
printf ("
PRIMER VALOR: ");
scanf ("%f",&aux);
printf ("
SEGUNDO VALOR EN PORCENTAJE: ");
scanf ("%f",&aux2);
total = aux*aux2/100;
aux4 = total+aux;
aux5 = aux-total;
printf ("
EL %f PORCIENTO DE %f ES: %f.
",aux2,aux,total);
printf ("
SI A %f LE SUMO UN %f PORCIENTO EL VALOR ES: %f.
",aux,aux2,aux4);
printf ("
SI A %f LE RESTO UN %f PORCIENTO EL VALOR ES: %f.
",aux,aux2,aux5);break;
case 6: printf ("
VAMOS A SACAR EL PROMEDIO
");
printf ("
INTRODUCE LA CANTIDAD DE NUMEROS QUE DESEAS PROMEDIAR: ");
scanf ("%i",&cant);
while (cont < cant){
printf ("
INTRODUCE EL %i NUMERO: ",cont+1);
scanf ("%f",&aux);
total += aux;
cont++;
}
total = total / cant;
printf ("
EL RESULTADO DEL PROMEDIO ES: %f.
",total);break;
case 7: printf ("
VAMOS A POTENCIAR
");
printf ("
INGRESAR BASE ");
scanf ("%f",&aux);
printf ("
INGRESAR EXPONENTE ");
scanf ("%f",&aux2);
total = pow (aux, aux2);
printf ("
EL RESULTADO DE %f ELEVADO A %f ES: %f.
",aux,aux2,total);break;
case 8: printf ("
VAMOS A SACAR LA RAIZ CUADRADA
");
printf ("
INGRESAR EL INDICE: ");
scanf ("%f",&aux);
total = sqrt (aux);
printf ("
LA RAIZ CUADRADA DE %f ES: %f.
",aux,total);break;
case 9: printf("
EL TOTAL DE LA MEMORIA ES: %f",suma);break;
case 10: printf ("
UN GUSTO ES ESTAR A SU SERVICIO!!
");
system ("pause");
return 0;break;
default: printf("
ERROR - EL NUMERO %i NO ESTA EN EL MENU
",menu);break;
}
printf ("
OPCIONES DE MEMORIA
1 = SUMAR A LA MEMORIA
2 = RESTAR A LA MEMORIA
3 = PONER LA MEMORIA EN 0
4 = NO MODIFICAR LA MEMORIA
OPCION: ");
scanf ("%i",&mem);
switch (mem){
case 1: printf("
SUMADO A LA MEMORIA
");
suma += total;
printf("
EL TOTAL DE LA MEMORIA ES: %f",suma);break;
case 2: printf("
RESTADO A LA MEMORIA
");
suma -= total;
printf("
EL TOTAL DE LA MEMORIA ES: %f",suma);break;
case 3: printf("
RESETEADO DE LA MEMORIA
");
suma = 0;
printf("
EL TOTAL DE LA MEMORIA ES: %f",suma);break;
case 4: printf("
NO MODIFICAR LA MEMORIA
");
printf("
EL TOTAL DE LA MEMORIA ES: %f",suma);break;
}
printf ("
DESEAS REALIZAR OTRA OPERACION?
1 = SI
2 = NO
OPCION: ");
scanf ("%i",&m2);
switch (m2){
case 1: m = 1;break;
case 2: printf("
UN GUSTO ES ESTAR A SU SERVICIO!!
");
system ("pause");
return 0;break;
}
}while (m != 2);
printf ("
UN GUSTO ES ESTAR A SU SERVICIO!!
");
system ("pause");
return main;
}
Hola, se que vengo un poco tarde por el curso pero bueno, recien se me esta dando por aprender. Una consulta:
Cuando explicaste los bucles dijiste que el Do While , siempre se ejecuta por lo menos una vez, entonces, en el ultimo ejercicio que dictas en el video , lo mejor seria hacerlo solo con un While.
Ya que si lo haces con Do While , por mas que Y sea mayor que X, este bucle se va a ejecutar al menos una vez pidiendote el valor de Y nueamente aunque sea correcto. Para mi la forma correcta seria esta, corregime si me equivoco. Saludos.
#include
int main (){
int x , y , i;
printf ("Introduce un numero para X:");
scanf ("%i",&x);
printf ("Introduce un numero mayor a X para Y:");
scanf ("%i",&y);
while ( y
perfecto esta muy bueno el do while sirve muy bien es muy util (y)
Hola, me gusta mucho tu tuto, hace poquito empece a seguirlo. Hasta hace poco tiempo no sabia nada de programación, todavia no se nada tampoco jaja, pero estoy aprendiendo, y este curso es muy bueno.
Con respecto al fflush(stdin), yo tambien uso linux no me funciona, tampoco me funcionaron ninguna de las tres alternativas que pusiste en los comentarios, pero encontre en una pagina en ingles que poniendo un espacio en blanco en el scanf, antes de &c funcionaba, queria asi: scanf (" %c",&c); Hay que deja un espacio en blanco entres las primeras comillas y el signo de porcentaje.
La verdad no se porque ni como funciona pero me funciono, me lo podrias explicar? Muchas gracias.
Yo también programo en linux y me surgió el mismo problema. No te puedo decir porqué es pero gracias porque no tenía ni idea de cómo hacerlo ^^
a mi tambien me funciona
si se pone scanf (" %c", &c); no se necesita el fflush, muy buenos vídeos.
si, es verdad
Quizás lo que le faltaría al programa sería que también te volviera pedir un numero mayor cuando los números fueran iguales. Es decir, si tu en el programa pones 2 números iguales saldrá del programa. Yo lo he apañado añadiendo otra condición en el while. Que quedaría así:
while (y
Si, es posible.
En vez de poner la condicion (y
cierto es, no había caído! jajaja
gracias de nuevo!
EXCELENETE, MÁS CLARO IMPOSIBLE.
Solo quería preguntarte, puedes hacer un tutorial de donde conseguir las librerías que no se tiene y como instalarlas?? Gracias
fflush se utiliza solo cuando usamos un char?
Gracias por los videos!
Empieza a programa cuando ya haya terminado los videotutoriales, a donde me dirigo?, existen practicas virtuales?, dan dinero?, cuando haga programas con diseño que me recomiendas?. que libros me aconsejas?, si contestaras todas estas preguntas, estuviera muy agradecido y muy feliz.
Tras varios años. ya he contestado a todo ese tipo de preguntas, puedes acceder aqui y veras varios videos sobre el tema:
th-cam.com/play/PLw8RQJQ8K1ySeqwsubbZ8FLM5Zjw_ADRi.html
Un saludo.
cual es la letra rara del minuto 6:37¿?? TIPO ANTES DE SCANF...
Hola Muy Bien explicado!!!, consulta y si quiero poner un s/si para seguir o n/no para salir?
Por lo que entiendo, quieres que se repita SI Y SOLO SI se ingresa "s" o "sí", y que se salga SI Y SOLO SI se ingresa "n" o "no"... Citando al maestro en el minuto 13:04 de este mismo vídeo "los usuarios que vayan a usar nuestro programa son tontos", ¿qué esperas que pase si el usuario agrega cualquier otra cosa?
Yo hice un ejercicio parecido al primero, en cambio, yo hice que después de ingresar la letra correspondiente para avanzar, se le pidiera al usuario dos números y luego muestre en pantalla la suma de estos.
Por si a alguien le interesa les dejo acá el código (Agregue el condicional IF por si el usuario ingresa un numero negativo salte un error y tenga que ingresar un numero positivo).
#include
int main(){
int i=1, n, m, s=0;
char o[30];
printf ("Si desea continuar digite la letra 's' :
");
scanf ("&c", &o);
do{
fflush (stdin);
printf ("Digite dos numeros:
");
scanf ("%i %i", &n, &m);
}while(o =='s' || o =='S');
if ((n>=0)&&(m>=0)){
s = (n+m);
printf ("La suma de los dos numeros es de: %i
", s);
}
else
{
printf ("Digite un numero positivo
");
}
system ("pause");
return 0;
}
El fflush siempre va luego del printf???
#include
main (){
int a,b,i;
printf("introduce un numero: ");
scanf("%i",&a);
//lo personalice con un if para cuando el numero sea menor, diga que es menor! y pues bueno, se repita el bucle hasta que la //condicion sea verdadera!
do{
printf("introduce un numero mayor al anterio: ");
scanf("%i",&b);
if (b
#include
int main(){
int x,y,i,aux;
scanf("%i",&x);
scanf("%i",&y);
if(y
//Estructuras Iterativas While y For
//Escribir un programa el cual lea dos numero y muestres los numero que hay entre esos 2 numeros
#include
int main (){
int num1,num2;
int c;
printf("Introduce un numero
");
scanf("%i",&num1);
printf("Introduce un numero
");
scanf("%i",&num2);
printf("
");
/*for(c=0;c
que genio sos!
Una duda, si quiero dar por ejemplo 3 opciones para ingresar, 1, 2, 3, como evito que usuario ingrese un valor numerico o un caracter distinto a las opciones 1,2,3
Que tal, antes que nada un saludo desde México, y agradecerte por tus videos y tiempo, en verdad que son muy buenos!
Y solo tengo una duda... creo que mi novia me es infiel me puede ayudar a hackear Facebook... XD;
NO ES CIERTO, BROMA, solo tengo la duda de el porque no utilizaste la librería "IOSTREAM", ya que en casi todos lados donde busco ejercicios o información de c++, viene con esta librería, no se si ya lo hayas comentado en alguna ocasión, pero me gustaría saber...
P.D.
EXCELENTE MANERA DE EXPLICAR !!!
muchas gracias
Pregunta, que tal y pongo por ejemplo 5 para el primer numero y 6 para el segundo? No apareceria nada
una pequeña apreciación. Creo que en la condición del bucle do while del segundo ejercicio (el que se utilizó para explicar los bucles for y while) se debería poner (y
gran aporte!
Para recoger la variable char es correcto usar %s?
En los ejercicios de calculadoras y este tipo no me ha dado problemas con %s.
no es malo pero estas gastando memoria ya que %s = string y %c = char
el char solo gasta 1bit mientras que string depende de la palabra es el peso.
lo recomendable es mientras menos recursos ocupes mejor para el programa
Si escribo varios caracteres que contengan la letra 's' me pasa lo siguiente en el caso de estar la primera el programa reconoce la secuencia como valida y si esta en cualquier otra posición la reconoce como falsa.¿como puedo arreglar este error?
No me eh visto tus videos recien llego aqui, la cuestion es que se algo algo programar (de colegio) y me propuse crear este programita ya que estaba cansado de digitar tantas teclas en la calculadora, este es solamente el calculo que cualquier logaritmo en cualquier base, el problema es que se me ocurrio que tampoco quiero que el programa se me cierre (si lo se, soy vago xD), asi que aplique do y while pero con numeros, ¿hay alguna manera de poder escribir simplemente si o no, sin necesidad de darle valor?, si tienes un video sobre eso por fa hazmelo saber.
#include
using std::cout;
using std::cin;
#include
int main()
{
int siono;
double b, n, r;
do {
cout b;
cout > n;
system("cls");
if ((b&&n)!=0)
{
r=(log10(n))/(log10(b));
printf("
\t El logaritmo es: %.5f", r);
}
else
cout siono;
system("cls");
} while (siono==1);
return 0;
}
Buenas, la filosofía del canal es que yo pongo los vídeos y vosotros los miráis. Tienes listas de reproducción en las que puedes consultar todo lo que comentas. Ademas comentarte, que tu usas C++ y yo aquí enseño C, estaría bien que te vieras el resto de vídeos antes de continuar.
Un saludo.
Jajaja es verdad es C. Bueno ya los vere.
Y no seria mejor, ordenar los numeros, en el caso de que el segundo sea menor que el primero, que lo haga igual, pero con esos numeros. Aqui te dejo como lo hice, se me ocurrio cuando hicimos los de la suma de todos entre dos numeros.
Por aquí te dejo mi programilla, lo hice sin mirar la solución. He echo algunos cambios, en el mio no es entre dos numero ya fijados, sino que eres tú quien los introduce. Ademas puedes introducirlos en el orden incorrecto, es decir 3000 y 2, el programa los ordena, también tiene en cuenta si es un numero par o impar, ya que no es lo mismo, si es impar, hay que sumarle uno. Bueno lo dejo por aquí para que lo probéis.
#include
int main(){
int num1,num2,numB;
int i,k;//variable
float suma;
suma=0;
printf("Introduce dos 3numeros tal que: a b. Se te devolverá la suma de los numero pares que se encuenten entre los dados.
");
scanf("%i %i",&num1,&num2);
if (num1>num2){
numB=num1;
num1=num2;
num2=numB;
}
printf("COMPROBACION. Los dos numeros introducidos han sido de menor a mayor %i %i
", num1, num2);
k=num1%2;
if (k==0){
for(i=num1;i
#include //ESCRIBE UN PROGRAMA QUE DE DOS NÚMEROS Y LEA LOS COMPRENDIDOS ENTRE ELLOS.
#include
int main(){
setlocale(LC_CTYPE,"Spanish");
int x,y,i;
printf("
Teclee dos números cualesquiera: ");
scanf("%i %i",&x,&y);
if(x
hola emilio soy nuevo en esto de la programacion me gustaria que me explicara en la ultima parte que pasaria si un usuario que usa el programa introduce simbolo ó letra como generaria la condicional para evitar un bug
Intento hacer un login solo con usuario utilizando do/while, y aunque lo haga exactamente a tu estructura no permite el paso al usuario aunque coloque de condicion en "while (usu != 'admin')", como puedo hacer?
de seguro estas usando variables de tipo char sin la limitación de caracteres
char solo guarda un carácter
si quieres que guarde mas de una letra tienes que hacer algo como esto
char x[12] = "Hola Mundo!";
si lo quieres imprimir solo pones:
printf("%s
", x);
se pone %s por que es de tipo string y no %c por que no es tipo char
char = carácter;
string = cadena;
espero y te haya funcionado ;)
El segundo ejercicio lo hice de tal forma que da igual si pones el numero mayor primero o después usando if y else:
#include
int main(){
int x, y,i;
printf ("escribe dos numeros: ");
scanf("%i",&x);
scanf("%i",&y);
if (x
Este programa halla la suma de todos los numeros pares comprendidos entre los valores que desees
#include
int main(){
int a,b,c,i;
float suma;
printf("Introduzca un numero: ");
scanf("%i",&a);
printf("Introduzca un numero mayor al anterior: ");
scanf("%i",&b);
suma=0;
c=a%2;
if(c==0){
for(i=a+2 ; i
tengo 2 dudas:
1ra Si pones x=5, y=5 tambien estaria mal?
2da si pones x=5, y=6 no devuelve nada, esta bien o mal?
desde ya gracias por cualquier respuesta y muy buenos los videos :D
+Ignacio Esposto En el primer caso "y" es menor que "x", por lo que sí funcionaría. En el segundo caso "y" no es menos que "x" por lo que no funcionaría y te preguntaría otra vez.
Y si en vez de poner una letra, pones: while (s != 'si'); no funciona?
No entiendo por que no funciona con palabras
Mequins Veamos, si me preguntas esto es que no sabes que es un char, por tanto antes de preguntar de nuevo te recomendaria que te vieras los videos anteriores.
Un saludo.
no me lanzo el problema de que se repitan sin el fflush con el mismo codigo programando con las librerias y c++, tiene alguna informacion al respecto? saludos y muy buenos tutoriales
A ver, esto funciona cuando le damos el valor a la variable desde dentro del programa, pero cuando quiero que la variable la elija el usuario me da error.
Tanto en for como do while, que estoy haciendo mal?
Si no tengo que iniciar la variable porque ya lo he hecho desde el teclado, como activo el bucle?
primero tienes que declararla y luego iniciarla.
Revisa el vídeo de fallos comunes y ahí lo explica
UNA CONSULTA DONDE CONSEGUIR LS RESULTADOS DE LA GUIA DE EJERCICIOS PARA SABER SI ESTAN BIEN? SALUDOS MUY BUEN APORTE!!!!
Ramon Exposito yo también tengo la misma duda..
+Ramon Exposito sencillos, si están bien va a funcionar; en caso contrario no....
HOLA EMPIEZA A PROGRAMAR , tengo 12 años y se que es viejo el video pero quiero preguntarle, si que es normal que me cueste mucho entender perfectamente los bucles
otra opcion como variante del fflush, es poner
scanf ("
%c",&x);
a mi se me hace mas sencilla y mas facil de recordar, no se si mas adelante me dara problemas, pero espero que no.
Ahora entiendo estas cosas
Muy buen video
Si en vez de poner c!='s' pusieses c!=115 ( su valor en la tabla ascii) también saldría?
Belaarw en vez de preguntar, pruebalo! Asi es como se funciona en programacion, no se pregunta y se prueba, luego se extraen conclusiones.
Un saludo.
Para que quede mejor el programa añandenlen: system(cls); si les arroja error, añadan la biblioteca: #include
como añadir bibliotecas q no tengo en mi base de datos??, en que pagina se consiguen para bajarlas??
hay alguna forma de ponerle al while un printf para que diga un mensaje al ingresar el numero incorrecto?
Aquí tienen:
//HACER UN BUCLE QUE NOS PREGUNTE SI QUEREMOS CONTINUAR T HASTA QUE NO ESCRIBIMOS LA PALABRA MANUELINSKY NO PARE
#include
int main () {
char c;
do{
printf("Introduce una palabra");
fflush(stdin);
scanf("%c",&c);
}while (c != 's');
system ("pause");
return 0;
}
Comprueba de nuevo tu codigo, los char tan solo almacenan un caracter, tan solo estas guardando el primer caracter que metas, es decir, la M.
EXCELENTE
compa cuando hago los saltos de lineas no me los agarra que pasa ahi?
gracias
seria bueno que nos explicara como validar todos los programas que pasaria que en ves de una letra introducimos un numero tambien hay un fallo
fflush (stdin) no funciona en code blocks ¿que otra funcion puede servir?
creo, ( no se donde funciona y donde no ) que vale con poner " %c" en vez de "%c"
2020 funciona 😆
El segundo programa tiene un error, debido a que si el valor del segundo numero es igual al del primero se ejecuta el while debería ser: y
en el segundo ejercicio se puede poner el bucle while normal, entonces, me podrían decir un ejercicios en el que no se pueda?
para saber así bien la diferencia
Hola Alaex, en realidad cuaquier cosa que vayas a hacer con un do - while lo puedes hacer con un while. Va a depender del problema quieras resolver, entonces puede que sea más eficiente un do - while que un while incluso si con el while l puedes hacer. En este video tengo una expliación al respecto. -> th-cam.com/video/r4usH53RT6w/w-d-xo.html
l final en el ejercicio yo puse dentro de DO los dos printf :v pero bueno, no estaba tan perdido.
Empieza a programar, e descubierto error en el ejercicio Bloque 3.3.1.c
cuando se introduce por teclado un respuesta compuesta , quiero decir una palabra y ya no una sola letra, por ejemplo : (sep)
el bucle se detiene .... no continua, ahy que debo de hacer para que eso no suceda? gracias
char solo guarda en memoria 1bit que es equivalente a 1 carácter y un carácter un símbolo, letra, numero, etc. pero no almacena nunca una palabra por que son mas caracteres de los que puede almacenar.
Revisa el vídeo de tipo de variables y ahí te dice para que funciona char.
Como se haria para que se volviera a repetir todo el codigo es decir para que cuando el programa responda a una pregunta vuelva a ejecutar otra vez todo el codigo desde 0
ElSrCiruelo Buenas, no respondo a este tipo de preguntas porque para eso estan mis videos, sigue viendo los videos y veras como muchas veces empleo esa tecnica en menus y cosas similares (no lo hago en este video??), asi que lo dicho, mejor que preguntar es ver los videos.
Un saludo.
Si escribo el programa con variable "x": ( char x; y scanf ("%x",&x); ) en vez de con variable "c", no se termina el bucle al presionar "s". Por qué?
Tendrías que poner ("%c",&x) porque: %c hace referencia a una variable tipo char y &x hubica el valor en la variable llamada x.
tengo este problema
teclado (como un único numero) hasta el servidor . Un banco ha solicitado se diseñe un programa que permita encriptar la información de las contraseñas (4 números) digitada por principal, utilizando el siguiente criterio, el primer número se envía de último, el segundo, de penúltimo, el tercer numero pasa a la segunda posición, el último pasa a ser primero: ejemplo: Sea 6532, se debe enviar como 2356
Para pedirle al usuario que ingrese un número para iniciar la serie y luego ingrese un número para terminar la serie, cuál sería la condición de while?
Estoy seguro de que si te ves todos los vídeos lo podrás hacer sin ningún problema :D.
Hola, podrias poner un ejemplo con texto? Introduce A i B, Si no se introduce A o B, retorna a la pregunta, si se introduce A, que escriba Antonio, si se introduce B que escriba Barcelona. Lo intento repetidamente i no lo consigo. Gracias
acabo de leer tu comentario asi que decidí intentarlo algo tarde pero lo hice de esta forma no se si era lo que trataste de decir jajaj
int main( ) {
char x;
do {
printf("escriba una de las dos opciones
");
printf("a - b
");
fflush(stdin);
scanf("%c",&x);
} while (x != 'a' && x != 'b' );
if ( x == 'a') {
printf("Antonio
");
}
else if ( x == 'b') {
printf("barcelona
");
}
system("pause");
return 0;
}
y si coloca el mismo numero en ambos ?
Como sugerencia, podrías tener también en cuenta el caso en que los números sólo difieran en una unidad, ya que en este caso no se imprimiría nada y no se le diría nada al usuario.
Yo lo que hice fue hacer un if ( x==y-1) { printf(" no hay ningún numero intermedio");} else, y dentro del else metí el for para calcular los números intermedios en otro caso.
Por que en el printf que está dentro del bucle for no se pone & delante de la i? Gracias.
Referido al último ejercicio.
Eric ortega duarte eso va en el scanf que escanea el printf muestra en pantalla :v
Ya usted tenía coronavirus antes de wue aparezca XDXDXDDD
Crack!
buenas amigo me gustaria hacer una sugerencia, no se si ya la han hecho porque no lei los comentarios anteriores. bueno la idea de este ejercicio es que muestre los numeros que hay entre uno y otro mayor, por lo tanto deberias hacer que el programa vuelva a pedir un numero mayor si el usuario "cabeza hueca jajaja" introduce el mismo numero como numero mayor.....
osea que en vez de poner en el codigo y
Solo faltaría colocar en la sentencia del while un = para que se repita hasta que el usuario coloque un número mayor al primero. while (y
emilio fflush(stdin); no me trabaja no hace nada estando escrito el codigo esea fflush(stdin);, si introduzco 2 valores por entrada entandar me inprime las misma cantidad de valores introducidos por ejemplo: 2 valores 2 vez "introduce un valor" todo eso es en kali linuz sana 2.0 compiler GCC del C... gracias!!
Casi lo hago entero, lo de fflush era importante xD:
#include
int main(){
char para;
do{
printf("
Quieres parar el bucle? : ");
fflush(stdin);
scanf("%c",¶);
}while(para != 's');
system ("pause");
return 0;
}
hago con el profe y no me sale, copio el tuyo y si me salio
Asi quedo el mio. En lo personal me gusto como quedo.
#include
#define p printf
#define s scanf
int main(){
int x,y,z;
p("Introduzca dos numeros, el segundo mayor que el primero.
");
do{
p("Primero:"); s("%i",&x);
p("Segundo:"); s("%i",&y);
if(x>y){
p("El segundo numero es mayor que el primero. Intente nuevamente.
");
}
else if(x==y){
p("Los numeros son iguales. Intente nuevamente.
");
}
} while (x>=y);
z= x+1;
p("Los numeros comprendidos entre estos dos son:");
y-=1;
while (z
Como se arregla el error id ?
a mi lo del fflush (stdin) no me funciona, lo he revisado mas 7 veces y nada.
a mi si me funcion , yo estoy usando windows , prueba a ver
#include
int main (){
char c;
do{
printf("Introduce una letra: ");
fflush (stdin); //al recoger variable char hay que limpiar el buffer si se usa mas de una vez
scanf("%c", &c);
}while (c != 's' && c != 'S');
system("pause");
return 0;
}
ya entendiiiiiiiiiii la condicion del while en el do while xd
En Linux no funciona fflush, al menos con el compilador GCC. Hay que utilizar otras cosas.
Dejo mi versión del ultimo ejercicio:
#include
int main () {
int X, Y, I;
do {
printf ("Elija dos numeros a comparar.
Introduzca el primer numero:
");
scanf ("%i",&X);
printf ("Introduzca un numero mayor al anterior:
");
scanf ("%i",&Y);
if (X>Y) {
printf ("los numeros elegidos no son correctos. Intentelo de nuevo.
");
}
} while (X>Y);
I = X+1;
printf ("los numeros comprendidos entre %i y %i son: ",X,Y);
do {
printf ("%i, ",I);
I++;
} while (I > X && I < Y);
printf ("
");
system ("pause");
return 0;
}
Emilio y como se hace cuando no pones ningun caracter para que el programa te diga donde vas listo pon un caracter