La organización del código fuente mediante el uso de tabuladores o espacios en blanco al inicio de las líneas, para representar los diferentes niveles de dependencia o anidado de las instrucciones, se llama Indentación.
Usar una correcta indentación al igual que agregar comentarios informativos o aclaratorios a lo largo del código … forma parte de las buenas prácticas que todo desarrollador profesional usa normalmente en sus códigos.
La indendación es una buena práctica, absolutamente necesaria para la programación profesional y la mantenibilidad del código.
tengo una duda agradecería me la resuelvan, hasta este punto he aprendido bastente de lo que se ha enseñado… mi pregunta es: de que me sirve saber lenguaje C? ya en la practica que puedo hacer si lo logró dominar muy bien?
C es un lenguaje muy rápido ya que trabaja a muy bajo nivel, puedes hacer cosas para internet de las cosas, programar arduinos, por ejemplo hay librerías para node y para python escritas en C que son de las más rápidas.
En realidad lo que hace a C rápido y de “bajo nivel” es que puedes incrustar instrucciones de ensamblador dentro de tu código ; y es por eso que partes de sistemas operativos estén escritos en C.
Alguien sabe que hacer para identificar que se ingreso una letra y en vez de que el programa falle lance un anuncio que diga "Letra" no es un numero, intenta nuevamente.
Que lenguaje sirve para programar un Rasberry Pi?
si le pones linux, cualquiera, por ejemplo Python =)
Con el sistema operativo Raspbian puedes usar Python, está super bien documentado y más allá de hacer operaciones puedes manejar operaciones de I/O
Propuesta de código implementando switch:
#include <stdio.h>#include <string.h>voidmain(){ int opcion; char userName[25];do{printf("Bienvenido \n");printf("Ingrese su nombre de usuario: ");scanf("%s", userName);if(strcmp(userName,"paola")==0){printf("Bienvenido, usted es un usuario premium \n");do{printf("Ingrese la opcion que desee \n 1.Leer Blog \n 2.Ver videos tutoriales \n 3.Mentoria \n 4. Volver \n Cualquier otro numero para salir ");scanf("%d",&opcion);switch(opcion){case1:printf("Ha ingresado al blog \n"); opcion=5;break;case2:printf("Ha ingresado a la seccion de videos tutoriales \n"); opcion=5;break;case3:printf("Ha ingresado a la seccion de mentorias \n"); opcion=5;break;default:printf("goodbye \n");break;}}while(opcion==5);}elseif(strcmp(userName,"andrea")==0){printf("Bienvenido, usted es un usuario estandar \n");do{printf("Ingrese la opcion que desee \n 1.Leer Blog \n 2.Ver videos tutoriales \n 4. Volver \n Cualquier otro numero para salir ");scanf("%d",&opcion);switch(opcion){case1:printf("Ha ingresado al blog \n"); opcion=5;break;case2:printf("Ha ingresado a la seccion de videos tutoriales \n"); opcion=5;break;default:printf("goodbye \n");break;}}while(opcion==5);}else{printf("Bienvenido, usted es un usuario nuevo. Por favor registrese");}}while(opcion==4);}
Hola por aqui dejo mi codigo espero sus comentarios!
//Ejemplo platzi terminal// < < < < < > > > > >#include<stdio.h>#include<string.h>char nombre[30];int actionChosseded;int platziExit;int whatWants(){printf("¿Que deseas hacer?\n");printf("\t < < < < <\tPara estudiar presiona 1\t> > > > >\n");printf("\t < < < < <\tPara leer el blog presiona 2\t> > > > >\n");printf("\t < < < < <\tPara comenzar curso presiona 3\t> > > > >\n");}voidplatziActionBody(){ int volver =1;while(volver){whatWants();scanf("%d",&actionChosseded);if(actionChosseded ==1){printf("Ok... Vamonos a estudiar en Platzi\n");printf("¿Desea regresar al menu anterior?\n");scanf("%d",&volver);}elseif(actionChosseded ==2){printf("Nos fuimos a leer el blog\n");printf("¿Desea regresar al menu anterior?\n");scanf("%d",&volver);}elseif(actionChosseded ==3){printf("Veamos que nuevo curso nos trae Platzi\n");printf("¿Desea regresar al menu anterior?\n");scanf("%d",&volver);}else{printf("No elegiste ninguna acción valida\n");printf("¿Desea regresar al menu anterior?\n");scanf("%d",&volver);}}}voidplatziAction(char * nombre){if(!strcmp(nombre,"Renny")){platziActionBody();}elseif(!strcmp(nombre,"Karyn")){platziActionBody();}elseif(!strcmp(nombre,"Valentina")){platziActionBody();}elseif(!strcmp(nombre,"Marcel")){platziActionBody();}else{printf("\t < < < < <\t\t¡Lo sentimos, usuario no registrado, por favor registrate y regresa pronto!\t\t> > > > >\n");}}voidmain(){while(1){printf("\t < < < < <\tBienvenido a Platzi Terminal\t> > > > >\n");printf("\t < < < < <\tDejanos saber tu nombre\t\t> > > > >\n");scanf("%s", nombre);printf("Bienvenido %s\n", nombre);platziAction(nombre);printf("\t\t< < < < < Deseas cerrar sesion y elegir otro usuario (Presiona 1) > > > > >\t\t\n");printf("\t\t< < < < < o deseas salir de Platzi Terminal (Presiona 0) > > > > >\t\t\n");scanf("%d",&platziExit);if(!platziExit){break;}}printf("< < < < < Gracias por tu visita.... > > > > >\n");}
En este codigo cuando no seleccionamos ni 1 para estudiar ni 2 para leer el blog, se sale y nos lleva a la terminal de platzi esta nos pide de nuevo el usuario al ingresar el mismo usuario no ingresa en la seccion correspondiente y nos sigue pidiendo el usuario…
Termine el cogido para que aparte de entrar en la seccion de cada uno podamos volver a ingresar a otro usuario o el mismo y el programa siga respondiendo
#include <stdio.h>#include <string.h>//strcmp verifica si la primera cadena de texto es igual a la segunda, si los dos string son iguales retorna 0.char userName[25];int desicion;int bucle =1;int estudiando;int bucle2;int bucle3;int main(){while(bucle ==1){printf("\nbienvenidos a Platzi Terminal\n");printf("Ingresa tu nombre de usuario:\n\n");scanf("%s", userName); estudiando =1; bucle2 =1; bucle3 =1;if(strcmp(userName,"carlos")==0){while(estudiando ==1){printf("\nbienvenido %s, vamos a acceder a tu seccion\n", userName);printf("Esto es platzi terminal free edition, que deseas hacer?\n\n");printf("ingrese 1 para estudiar\ningrese 2 para leer el blog\ncualquier otro valor para salir\n");scanf("%d",&desicion);printf("\n");if(desicion ==1){printf("%s Esta es Version de estudio\n", userName);}elseif(desicion ==2){printf("%s Aprovecha el blog\n", userName);}else{ estudiando =2;}}}elseif(strcmp(userName,"gina")==0){while(bucle2 ==1){printf("\nbienvenido %s, vamos a acceder a tu seccion\n", userName);printf("Esto es platzi terminal Standar edition, que deseas hacer?\n\n");printf("ingrese 1 para estudiar\ningrese 2 para leer el blog\ncualquier otro valor para salir\n\n");scanf("%d",&desicion);printf("\n");if(desicion ==1){printf("%s Esta es Version de estudio\n", userName);}elseif(desicion ==2){printf("%s Aprovecha el blog\n", userName);}else{ bucle2 =2;}}}elseif(strcmp(userName,"milka")==0){while(bucle3 ==1){printf("\nbienvenido %s, vamos a acceder a tu seccion\n", userName);printf("Esto es platzi terminal Premiun edition, que deseas hacer?\n\n");printf("ingrese 1 para estudiar\ningrese 2 para leer el blog\ncualquier otro valor para salir\n\n");scanf("%d",&desicion);printf("\n");if(desicion ==1){printf("%s Esta es Version de estudio\n", userName);}elseif(desicion ==2){printf("%s Aprovecha el blog\n", userName);}else{ bucle3 =2;}}}else{printf("\ningresar un nombre correcto\n");}}}```
Funciona a la perfección me percate de el mismo problema y quise leer tu código para ver si estaba bien implementado, bien echo!
Buclear = Ciclar = Repetir = Iterar
Nota: limpiar variables
Para la inserción de un nombre me funciona bien pero cuando ingreso dos palabras (ejemplo: Juan Manuel) sólo me reconoce la primera palabra, o sea, Juan ¿por qué sucede eso si el array es de 26 espacios?
Puedes compartir tu código para ayudarte a ver cual puede ser el error.
Oh, ya pude solucionar el problema, muchas gracias por tu ayuda =D
Me atrevi a hacerlo por mi cuenta de otra forma tiene un ligero fallo pero la funcion la cumple
#include <stdio.h>#include <string.h>#define mensaje "0. Para cambiar opcion\n1. Estudiar\n2. Ver blog\n"#define mensaje1 "3. Tutoria\n"#define mensaje2 "9. Para salir\n"int opcion;int menu(int l){printf("%s", mensaje);if(l >1){printf("%s \n", mensaje1);}printf("%s", mensaje2);scanf("%d",&opcion);return opcion;}int main(){ int sesion =-1; char nombre[25]; char usuarios[3][20]={{"juanlu"},{"paco"},{"maria"}};printf("Nombre de usuario: ");scanf("%s", nombre);for(int i=0; i<3; i++){if(strcmp(nombre,usuarios[i])==0){printf("Sesion iniciada %s\n", usuarios[i]); sesion = i; opcion =menu(sesion);}}if(sesion ==-1){printf("Nombre de usuario no valido \n");return0;}while(sesion !=-1){if(opcion ==1){printf("Estas estudiando joven padawan \n");}elseif(opcion ==2){printf("Estas visitando el blog, gozalo \n");}elseif(opcion ==3&& sesion >=2){printf("Estas en la tutoria, cuentanos tu problema \n");}elseif(opcion ==0){ opcion =xmenu(sesion);}elseif(opcion ==9){printf("Nos vemos pronto \n"); sesion =-1;return0;}else{printf("Opcion no valida \n");}scanf("%d",&opcion);}return0;}
Interesante forma de implementar los ciclos. Gracias por la lección!
Quiero compartir mi codigo. Le hice unas modificaciones para darle un poco de diseño a la aplicacion. Le añadi los bucles a cada usuario asi cada uno puede aser lo suyo. Le di una opcion para quitar la aplicacion ya que no habia una opcion para salir jajaja. Una recomendacion ya que el programa se volcia largo es poner al final de cada bracket lo que finalizaba para orientar donde termina que. Si lo quieren probar cuando les pida el nombre de usuario ponen quit y saldran de la aplicacion espero les guste.
#include <stdio.h>// Para las funciones scanf y el printf#include <string.h>// Para las funciones strlwr y para strcmpvoidmain(){// Variable donde se va a guardar el nombre de usuario char userName[25]=""; int bucle =1; int estudiando;while(bucle ==1){// Introduccion a la applicacionprintf("----- Bienvenidos a PLatzi Terminal -----\n");printf("Ingresa tu nombre de usuario -> ");scanf("%s", userName);// Pidiendo el nombre de usuarioif(strcmp(userName,"quit")==0){break;}printf("\nBienvenido %s, vamos a acceder a tu seccion\n", userName);// Pasando todos las letras de usuario a minusculasstrlwr(userName);// Reseteando el valor de estudiando estudiando =1;// Verificando cual usuario esif(strcmp(userName,"charlie")==0){while(estudiando ==1){printf("Esto es PlatziTerminal Free Edition, que deseas hacer?\n\n");printf("--Ingresa 1 para estudiar\n--Ingresa 2 para leer el blog\n--Ingresa otra cosa para salir\n->"); int decision;scanf("%d",&decision);// Tomando la decision del usuarioswitch(decision){case1:printf("Estas en la seccion de estudio, sacale el mayor provecho\n");break;case2:printf("Estas en el blog, provechalo!\n");break;default:printf("Godd bye!\n\n"); estudiando =0;break;}// Aqui terminan las elecciones del alumno}// Aqui termina el bucle}elseif(strcmp(userName,"katherine")==0){while(estudiando ==1){printf("Esto es PlatziTerminal Free Edition, que deseas hacer?\n\n");printf("--Ingresa 1 para estudiar\n--Ingresa 2 para leer el blog\n");printf("--Ingresa 3 para metoria\n--Ingresa cualquier otra cosa para salir\n->"); int decision;scanf("%d",&decision);// Tomando la decision del usuarioswitch(decision){case1:printf("Estas en la seccion de estudio, sacale el mayor provecho\n");break;case2:printf("Estas en el blog, provechalo!\n");break;case3:printf("Estas en la seccion de solicitud de mentorias!\n");break;default:printf("Good bye!\n\n"); estudiando =0;break;}// Aqui terminan las elecciones del alumno}// Aqui termina el bucle}elseif(strcmp(userName,"juliana")==0){while(estudiando ==1){printf("Esto es PlatziTerminal Free Edition, que deseas hacer?\n\n");printf("--Ingresa 1 para estudiar\n--Ingresa 2 para leer el blog\n");printf("--Ingresa 3 para metoria\n--Ingresa cualquier otra cosa para salir\n->"); int decision =0;scanf("%d",&decision);// Tomando la decision del usuarioswitch(decision){case1:printf("Estas en la seccion de estudio, sacale el mayor provecho\n");break;case2:printf("Estas en el blog, provechalo!\n");break;case3:printf("Estas en la seccion de solicitud de mentorias!\n");break;default:printf("Good bye!\n\n"); estudiando =0;break;}// Aqui terminan las elecciones del alumno}// Aqui termina el bucle}else{// Se ejecuta si el nombre de usuario ingresado no niguno de los anterioresprintf("No estas registrado en nuestro sitio. Por favor registrate!\n\n");}// Aqui termina la seccion if}// Aqui termina el gran bucle whileprintf("Gracias por usar la terminal de Platzi, nunca pares de aprender!");}```
Me rete a terminar el programa e implementar switch, solo que por tiempo no implemente el registro para usuarios 😛
#include <stdio.h>#include <string.h>//strcmpvoidmain(){ char userName[25]; int decision; int bucle =1; int estudiando; int usuario;while(bucle >=1){printf("*----------------------------*\n");printf("Bienvenidos a Platzi Terminal\n");printf("Ingresa tu nombre de usuario\n");scanf("%s", userName);printf("*----------------------------*\n");if(strcmp(userName,"julian")==0){ usuario =1;}elseif(strcmp(userName,"juliana")==0){ usuario =2;}elseif(strcmp(userName,"paula")==0){ usuario =3;}else{ usuario =4;}switch(usuario){case1://julian estudiando =1;printf("Bienvenido %s, vamos a acceder a tu seccion\n", userName);while(estudiando ==1){printf("*----------------------------*\n");printf("Esto es PlatziTerminal Free edition, ¿que deseas hacer?.\n");printf("Ingrese 1 para estudiar,\n2 para leer el blog,\nIngrese cualquier otro valor para probar otro usuario o ingrese 0 par salir del programa\n");scanf("%d",&decision);switch(decision){case1:printf("Estas en la seccion de estudio, saca el maximo provecho\n");break;case2:printf("Estas en el blog, aprovechalo\n");break;case0:printf("Nos vemos\n");printf("*----------------------------*\n"); bucle =0; estudiando =0;break;default:printf("Goodbye\n"); estudiando =0;break;}}break;case2://juliana estudiando =1;printf("Bienvenido %s, vamos a acceder a tu seccion\n", userName);while(estudiando ==1){printf("*----------------------------*\n");printf("Esto es PlatziTerminal Standar edition, ¿que deseas hacer?.\n");printf("Ingrese 1 para estudiar,\n2 para leer el blog,\nIngrese cualquier otro valor para probar otro usuario o ingresa 0 par salir del programa\n");scanf("%d",&decision);switch(decision){case1:printf("Estas en la seccion de estudio, saca el maximo provecho\n");break;case2:printf("Estas en el blog, aprovechalo\n");break;case0:printf("Nos vemos\n");printf("*----------------------------*\n"); bucle =0; estudiando =0;break;default:printf("Goodbye\n"); estudiando =0;break;}}break;case3://paula estudiando =1;printf("Bienvenido %s, vamos a acceder a tu seccion\n", userName);while(estudiando ==1){printf("*----------------------------*\n");printf("Esto es PlatziTerminal Premium edition, ¿que deseas hacer?.\n");printf("Ingrese 1 para estudiar,\n 2 para leer el blog,\n 3 mentoria,\n Ingrese cualquier otro valor para probar otro usuario o ingrese 0 para salir del programa\n");scanf("%d",&decision);switch(decision){case1:printf("Estas en la seccion de estudio, saca el maximo provecho\n");break;case2:printf("Estas en el blog, aprovechalo\n");break;case3:printf("Estas en la seccion de solicitud de mentorias\n");break;case0:printf("Nos vemos\n");printf("*----------------------------*\n"); bucle =0; estudiando =0;break;default:printf("Goodbye\n"); estudiando =0;break;}}break;default:printf("*----------------------------*\n");printf("No eres un usuario registrado, o escribiste mal tu nombre\n");printf("Escribe cualquier numero para probar de nuevo o escribe 0 para salir\n");scanf("%d",&bucle);if(bucle ==0){printf("Nos vemos\n");printf("*----------------------------*\n");}break;}}}
Mi codigo, con un poco más de orden y algunas mejoras
#include <stdio.h>#include <string.h>voidmain(){ char userName[25]; int choice; int choice2 =1; int i =1; int cerrar =1;while(cerrar ==1){printf("------PLATZI TERMINAL------\n\n");printf("* Free / carlos \n* Standard / sofia \n* Premium / xd\n\n");printf("* Ingresa tu nickname: ");scanf("%s",&userName);printf("\n");if(strcmp(userName,"carlos")==0||strcmp(userName,"sofia")==0||strcmp(userName,"xd")==0){printf("* Bienvenid@ %s accederemos a tu seccion...\n\n", userName);}else{printf("No estas registrado en Platzi teminal! Intentalo mas tarde.\n"); choice2 =0;}while(choice2 ==1){if(strcmp(userName,"carlos")==0){printf("------Estas en PLATZI free------\n\n");printf("1) Estudiar\n2) Blog \n3) Chatear\n\n");printf("* Que deseas hacer? ");scanf("%d",&choice);switch(choice){case1:printf("*studies hard*\n\n");break;case2:printf("*reads hard*\n\n");break;case3:printf("*chats hard*\n\n");break;default:printf("Porfavor digita un numero del 1 a 3\n\n");break;}}elseif(strcmp(userName,"sofia")==0){printf("------Estas en PLATZI standard------\n\n");printf("1) Estudiar\n2) Blog \n3) Chatear\n\n");printf("* Que deseas hacer? ");scanf("%d",&choice);switch(choice){case1:printf("*studies hard*\n\n");break;case2:printf("*reads hard*\n\n");break;case3:printf("*chats hard*\n\n");break;default:printf("Porfavor digita un numero del 1 a 3\n\n");break;}}elseif(strcmp(userName,"xd")==0){printf("------Estas en PLATZI premium------\n\n");printf("1) Estudiar\n2) Blog \n3) Chatear\n4) Tutoria\n\n");printf("* Que deseas hacer? ");scanf("%d",&choice);switch(choice){case1:printf("*studies hard*\n\n");break;case2:printf("*reads hard*\n\n");break;case3:printf("*chats hard*\n\n");break;case4:printf("*fulfills of motivation*\n\n");break;default:printf("Porfavor digita un numero del 1 a 3\n\n");break;}}printf("Deseas volver al menu principal?\n 1) Si 2) No\n");scanf("%d",&choice2);printf("\n");}printf("Cerrando sesion...\n");printf("Vuelve pronto! :D\n\n"); choice2 =1;printf("Deseas abrir otro perfil Platzi terminal? \n 1)Si 2)No ");scanf("%d",&cerrar);printf("\n");}printf("Hecho por @Pollitoh\n");}
en este video vemos los ciclos aplicados al programa de platzi terminal para mantener el programa corriendo siempre