Mostrando del 111 al 120 de 2.859 coincidencias
Se ha buscado por el tag: c

SISTEMA DE REGISTRO-LOGIN mediante EMAIL-OTP
1) Al descomprimir hay un archivo
txt que debes leer y seguir las instrucciones
-> Bien, si seguiste todos los pasos no debería petar el sistema <-
2) No posee usuario administrador (debes crearlo tu)
simplemente agregas a la tabla
usuarios un campo al que puedas llamar admin tipo INT donde 1 indica que es el administrador
luego por medio de php creas controles de seguridad
3) Una vez que te logueas, recibirás un correo donde debes pulsar el botón de activar la verificación del email
(Incluye una plantilla correo para registro/verificacion email)
4) Al verificar el email el campo
email_verify de la tabla usuarios cambia a TRUE o 1 permitiendo el acceso
5) Existe un campo en la tabla
usuarios llamado
activo tipo INT que si lo colocas a FALSE o 0 impide el acceso
(esto, por si decides crear un usuario administrador y mediante programacion php puedes darle o quitarle acceso a cualquier usuario)
6) Una vez logueado, verificado y aceptado. Puedes ingresar al sistema, no sin antes validar un codigo OTP que se te enviara
a tu correo cada vez que entres. "Incluye una plantilla correo para OTP"
(Si utilizas algun servicio SMS o WhatsApp puedes enviar ese codigo OTP por alguna de esas vias)
7) Ofrece la posibilidad de recuperar la contraseña en caso de olvido, he diseñado una password de un solo uso y que al entrar al sistema
deberias cambiarla inmediatamente. Si no lo haces esta password aleatoria quedara invalidada.
8) Al cambiar la password o contraseña por motivo de olvido, se te enviara un email notificando del cambio y te otorgaremos una nueva
password aleatoria. Si al abrir el correo no fuistes tu quien solicito el cambio de contraseña, hay un link para revertir y dejar todo
original.
(Incluye una plantilla correo para recuperacion de contraseña)
*****************************************
Errare humanum est.
---------------------------------------
Hilario Iglesias Martínez.
---------------------------------------
El protocolo finger ofrece la posibilidad de optener
información sobre un usuario de un servidor remoto.
Este protocolo se basa en TCP, usando el puerto 79.
El cliente abre una conexión al puerto 79 del servidor.
El Servidor procesa esta solicitud enviando
la respuesta al Cliente.
Bajo consola linux existe el comando finger, que se puede
instalar, en plataforma Ubuntu, con este comando:
sudo apt-get install finger
-------------------------------------------------
En principio, el programa "finger.c" está programado
para una dirección de host: 192.168.0.16.
El usuario podrá configurar otra según su equipo,
y situación de cortafuegos. El puerto invariable es
el 79.
El programa está hecho para poder jugar con el,
y modificar su estructura.
---------------------------------------------
Compilar:
gcc -w -o finger finger.c
Ejecutar:
./finger
sudo ./finger
También se puede jugar con el mismo, utilizando cualquier
servidor programado, y colocado en mi serie
de programas de la web del programador.
*********************************************************************************
***********************************************************************************************************
********************************************************
Veritas filia temporis.
*****************************************************
Hilario Iglesias Martínez
*******************************************************
En este sencillo programa "/*Quita_Espacios.c*/" .
Intentamos explicar un poco el trabajo con frases o cadenas,
en las cuales eliminamos los espacios existentes.
A partir de una función de entrada con valores de puntero
a una frase, en la que recorremos los caracteres de la misma, para
eliminar los espacios existentes.
Tanbién utilizamos la llamada a la función "malloc()", para
la provisión de memoria, así como la función para la entrada por consola
"fgets()".
Se puede jugar con el programa modificando, funciones de entrada
y pasando otro tipo de parámetros.
*****************************************************************
El ejercicio fue realizado en una plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI-C,
********************************************************************
compilación:
gcc -Wall -Werror -o Quita_Espacios Quita_Espacios.c
---------------------------------------------------------
Ejecución:
./Quita_Espacios
-----------------------------------------------------------
***************************************************************************************************---------------------------------------------------------
Ut sementem feceris, ita metes.
---------------------------------------------------------
Hilario Iglesias Martínez
---------------------------------------------------
Recordamos otro programa subido el 20/10/2022, que trataba sobre
una MATRIZ BIDIMENSIONAL.
En este sencillo ejemplo, hacemos otro tratamiento semejante con
matrices de tres dimensiones.
---------------------------------------------------------
Se trata de dos programas:
Array_Fichero_Uno.c
Array_Fichero_Dos.c
**********************************************************************
En el primero:"Array_Fichero_Uno.c", abrimos un fichero, por ejemplo:
"entrada.txt", en el que escribimos una serie de datos estadísticos,
de cualquier temática.
En el segundo programa, tras su ejecución, nos solicitará "entrada.txt"
volcando en uno de salida, por ejemplo "salida.txt", los datos contenidos en
"entrada.txt".
En estos dos programas se podrá jugar con los elementos del mismo,
variando datos, y formatos.
***********************************************************************
--------------------------------------------------------
Los ejerciciosfueronrealizados, en una plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI-C,
---------------------------------------------------------
Compilación:
gcc -Wall -Werror -o Array_Fichero_Uno Array_Fichero_Uno.c
ejecución:./Array_Fichero_Uno
**********************************************************
gcc -Wall -Werror -o Array_Fichero_Dos Array_Fichero_Dos.c
./Array_Fichero_Dos
**************************************************************
Ejercicios realizados para jugar y aprender con ellos.
********************************************************************

#include<iostream>
#include<windows.h>
#include<conio.h>
#include<string>
#include<sstream>
#define color SetConsoleTextAttribute
using namespace std;
void gotoxy(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}
std::string toString(auto &i) {
std::stringstream ss;
ss << i;
return ss.str();
}
void banda4 (){
system("cls");
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
int i, a,b,c,d;
float result;
color(hConsole ,2);
std::cout<<" PARAMETROS DE RESISTENCIA"<<endl;
gotoxy(65,0);
color(hConsole,3);
cout<<"TABLA DE VALORES";
gotoxy(1,1);
color(hConsole, 15);
cout<<"|COLOR| |BANDA 1| |BANDA 2| |MULTIPLICADOR| |TOLERANCIA|";
gotoxy(45,2);
color(hConsole, 8);
cout<<"NEGRO 0 0 X 1";
gotoxy(45,3);
color(hConsole, 6);
cout<<"MARRON 1 1 X 10 +/- 1%";
gotoxy(45,4);
color(hConsole, 4);
cout<<"ROJO 2 2 X 100 +/- 2%";
gotoxy(45,5);
color(hConsole, 6);
cout<<"NARANJA 3 3 X 1000";
gotoxy(45,6);
color(hConsole, 14);
cout<<"AMARILLO 4 4 X 10000";
gotoxy(45,7);
color(hConsole, 2);
cout<<"VERDE 5 5 X 100000 ";
gotoxy(45,8);
color(hConsole, 1);
cout<<"AZUL 6 6 X 1000000";
gotoxy(45,9);
color(hConsole, 5);
cout<<"VIOLETA 7 7 X 10000000";
gotoxy(45,10);
color(hConsole, 8);
cout<<"GRIS 8 8 X 100000000";
gotoxy(45,11);
color(hConsole, 15);
cout<<"BLANCO 9 9 X 1000000000";
gotoxy(45,12);
color(hConsole , 14);
cout<<"DORADO X 0.1 +/- 5%";
gotoxy(45,13);
color(hConsole, 7);
cout<<"PLATEADO X 0.01 +/- 10%";
gotoxy(0,1);
cout<<" ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬"<<endl;
std::cout<<"==>Ingrese el numero del color: ";
std:cin>>i;
std::cout<<"==>Ingrese el numero del color: ";
std::cin>>a;
std::cout<<"==>Ingrese el Multiplicador: ";
std::cin>>b;
std::cout<<"==>Ingrese la Tolerancia: " ;
std::cin>>d;
color(hConsole, 3);
color(hConsole, 7);
std::string s = toString(i) + toString(a);
c=(a)+(i)*10;
result=b*c;
if(result>999){
result=result/1000;
std::cout<<"\n =====El valor de la resistencia es: \n "<< result <<"K ohms "<<d<<"%"<<" \n"<<std::endl;
}else{
std::cout<<"\n =====El valor de la resistencia es: \n "<< result <<" ohms "<< d <<"%"<<" \n"<<std::endl;
}
}
void banda5 (){
system("cls");
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
int i,a,b,c,d,e,f;
float result;
color(hConsole, 2);
cout<<" PARAMETROS DE RESISTENCIA"<<endl;
gotoxy(65,0);
color(hConsole, 3);
cout<<"TABLA DE VALORES";
gotoxy(40,1);
color(hConsole, 15);
cout<<"COLOR |BANDA 1| |BANDA 2| |BANDA 3| |MULTIPLICADOR| |TOLERANCIA|";
gotoxy(40,2);
color(hConsole, 8);
cout<<"NEGRO 0 0 0 X 1";
gotoxy(40,3);
color(hConsole, 6);
cout<<"MARRON 1 1 1 X 10 +/- 1%";
gotoxy(40,4);
color(hConsole, 4);
cout<<"ROJO 2 2 2 X 100 +/- 2%";
gotoxy(40,5);
color(hConsole, 6);
cout<<"NARANJA 3 3 3 X 1000";
gotoxy(40,6);
color(hConsole, 14);
cout<<"AMARILLO 4 4 4 X 10000";
gotoxy(40,7);
color(hConsole, 2);
cout<<"VERDE 5 5 5 X 100000 ";
gotoxy(40,8);
color(hConsole, 1);
cout<<"AZUL 6 6 6 X 1000000";
gotoxy(40,9);
color(hConsole, 5);
cout<<"VIOLETA 7 7 7 X 10000000";
gotoxy(40,10);
color(hConsole, 8);
cout<<"GRIS 8 8 8 X 100000000";
gotoxy(40,11);
color(hConsole, 15);
cout<<"BLANCO 9 9 9 X 1000000000";
gotoxy(40,12);
color(hConsole, 14);
cout<<"DORADO X 0.1 +/- 5%";
gotoxy(40,13);
color(hConsole, 7);
cout<<"PLATEADO X 0.01 +/- 10%";
gotoxy(0,1);
cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"==>Ingrese el numero del color: " ;
cin>>i;
cout<<"==>Ingrese el numero del color: " ;
cin>>a;
cout<<"==>Ingrese el numero del color: " ;
cin>>b;
cout<<"==>Ingrese el Multiplicador: ";
cin>>c;
cout<<"==>Ingrese la Tolerancia: " ;
cin>>e;
color(hConsole, 3);
color(hConsole, 7);
std::string s = toString(i) + toString(a);
f=(a)+(i)*10;
std::string ss = toString(b);
d = (b)+(f)*10;
result=d*c;
if (result>999){
result=result/1000;
std::cout<<"\n =====El valor de la resistencia es: \n " << result <<"K ohms "<<e<<"%"<<" \n"<<std::endl;
}else{
std::cout<<"\n =====El valor de la resistencia es: \n "<<result<<" ohms "<<e<<"%"<<"\n "<<std::endl;
}
}
void menuprincipal(){
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
color(hConsole, 2);
cout<<"\t CALCULADORA DE RESISTENCIAS \n";
color(hConsole, 15);
cout<<"\t ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ \n"
<<"\t Elija el tipo de resistencia: \n"
<<"\t 1. Resistencias de 4 Bandas \n"
<<"\t 2. Resistencias de 5 Bandas \n"
<<"\t 3. Salir del Programa."<<endl;
}
int main(){
int opci;
do{
system("cls");
menuprincipal();
cin>>opci;
switch(opci){
case 1:
banda4();
getch();
break;
case 2:
banda5();
getch();
break;
case 3:
cout<<"Fin del programa..."<<endl;
getch();
break;
default:
cout<<"////Opcion no valida\\\\"<<endl;
getch();
}
}
while (opci !=3);
return 0;
}