Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Beginner Web

#411
Hola queria saber que es un varrel en diseño de base de datos relacionales?
#412
No me sirvio, esta incompleto y todo mal, ya pregunte a mi profe y me dijo que esta mal que deje de buscar de internet, cuando tenga tiempo te dejo ejemplos de como se normaliza, saludos  :laugh:

Lo prometido es deuda aquí te dejo como se normaliza es un ejemplo corto pero eficiente

---------------------------------------------------------------------
|CodAsignatura | NombreAsignatura | IdArea | Nombre_Area |
---------------------------------------------------------------------
|  10245          | Programacion        | M200   |      Fisica       |
--------------------------------------------------------------------
|  10246          | Estadistica        | M201   |    Quimica    |
---------------------------------------------------------------------
|  10247          |  Algebra I              | M203   | Matematica    |
---------------------------------------------------------------------
|  10248          | Dibujo Tecnico       | M203   | Matematica    |
---------------------------------------------------------------------
|  10249          |  Sistemas                | M204   | Alimentos    |
---------------------------------------------------------------------
1FN

               ASIGNATURA
-----------------------------------------------------
|CodAsignatura | NombreAsignatura |  IdArea  |
-----------------------------------------------------
|  10245         | Programacion       | M200     |
-----------------------------------------------------
|  10246        | Estadistica               | M201     |
----------------------------------------------------
|  10247        | Algebra I               | M203     |
----------------------------------------------------
|  10248        | Dibujo Tecnico        | M203     |
---------------------------------------------------
|  10249        | Sistemas               | M204     |
---------------------------------------------------
#CodAsignatura->+NombreAsignatura,+IdArea,@IdArea
1FN
2FN
3FN

        AREA
----------------------------
| IdArea | Nombre_Area |
----------------------------
| M200   |      Fisica       |
----------------------------
| M201   |   Quimica      |
----------------------------
| M203   | Matematica   |
----------------------------
| M204   |  Alimentos    |
---------------------------
#IdArea->.+Nombre_Area
1FN
2FN
3FN

-----------------                              --------  
|ASIGNATURA |->|---------------||-| AREA |
-----------------                              --------  

Y bueno falta el diccionario de datos pero ya me aburrí
#413
Programación C/C++ / Archivos
21 Noviembre 2018, 18:40 PM
Hola queria saber si es viable esta forma de cerrar dos veces el archivo, esto funciona 100% pero a mi no me gusta como queda, saludos
Código (cpp) [Seleccionar]
const int MAX=32;
typedef char tcad[MAX];
typedef FILE *archivo;
typedef struct usuario{
tcad nombre;
tcad apellido;
int edad;
...
};

void registrar_usuario_nuevo(archivo usuarios_de_facebook)
{
usuario nuevo;
usuarios_de_facebook=fopen("usuarios","ab+");
fflush(stdin);
cout<<"Ingrese nombre de usuario: ";
gets(nuevo.nombre);
fflush(stdin);
...
fclose(usuarios_de_facebook);
if(consultar_usuario(usuarios_de_facebook,nuevo.nombre)==false){
usuarios_de_facebook=fopen("usuarios.txt","ab");
fwrite(&nuevo,sizeof(nuevo),1,usuarios_de_facebook);
}
else
cout<<"Ya existe un usuario con ese nombre"<<endl;
fclose(usuarios_de_facebook);
}
#414
Programación C/C++ / Re: Ayuda!!
21 Noviembre 2018, 16:59 PM
1) Declaras la matriz(10)(10) y usas dos for para recorrerla mostrando los valores de i y j que son los indicadores de la matriz
2) Usas el codigo del punto uno y agregas valores aleatorios en la matriz con la funcion srand(time(NULL));
La muestras con el recorrido normal, es decir con los valores de i y j en 0, y recorrido de final a principio lo mismo nada mas que el valor inicial de i y j ahora son MAX-1(o posicion final del arreglo)
Luego pides un numero al usuario 0 por ejemplo entonces vamos a suponer que i es para filas y j para columnas  entonces sumas en una variable suma=0;  todos los valores en los que i sea igual al numero ingresado por el usuario 0 en este caso, y en sumar valores de la columna x(valor ingresado por el usuario) es lo mismo sumas todo los valores en donde j sea iguala  0;
Y la diagonal bueno, voy a suponer que es la diagonal principal usas una variable para sumar esos valores le vamos  a llamar suma_diagonal=0; sumas todos los valores donde se crucen i y j es decir si i==j  a suma_diagonal=matriz(i)(j);//Perdon no me deja poner los valores entre corchetes
3) Usas el codigo del punto 2 donde asiganabas valores aleatorios y luego procedes a agragar los elementos de la matriz cuyo indice son pares es decir i%2==0, j%2==0;
4) Generas la matriz igual que en el punto 2, pides al usuario un numero, lo buscas en la matriz y si el valor esta dentro muestras los valores de i y j para indicar en que posicion esta y detienes el recorrido de la matriz utilizando una variable logica encontrado=false; y al final decir si encontrado==false, escribes por pantalla no existe ese valor y sino no hacer nada, eso seria todo;
Te dejo el codigo del ultimo para que veas como funciona
Código (cpp) [Seleccionar]
int numero_ingresado_por_el_usuario=7, matriz[10][10];
bool encontrado=false;

for(int i=0;i<10 && !encontrado;i++){
for(int j=0;j<10 && !encontrado;j++){
if(numero_ingresado_por_el_usuario==matriz[i][j]){
cout<<"El numero se encuentra en la posicion: ["<<i<<"]["<<j<<"]"<<endl;
encontrado=true;
}
}
}
if(encontrado==false)
cout<<"El numero ingresado no se encuentra en la matriz"<<endl;


P/D: Que materia es esa?
#415
Programación C/C++ / Re: Duda
20 Noviembre 2018, 18:21 PM
Pues recorres hasta encontrar una casilla vacia agregas y sales  :huh:
Algo asi mira
Código (cpp) [Seleccionar]
bool casilla_vacia=false;

for(int i=0;i<MAX && !casilla_vacia;i++){
for(int j=0;j<MAX && !casilla_vacia;j++){
//Esto si fuera un arreglo de carateres, todo depende lo que vaya a contener tu matriz, si es de punteros entonces el valor vacio es NULL;
if(matriz[i][j]==""){
matriz[i][j]=nuevo_dato;
casilla_vacia=true;
}
}
}
#416
Programación C/C++ / Re: Arreglo funciones
20 Noviembre 2018, 14:40 PM
Cita de: YreX-DwX en 20 Noviembre 2018, 09:16 AM
Desde mi humilde opinión yo usaría un array para las notas. Pero bueno eso ya es cosa de generalizar el programa para meter más notas.

Y aquí creo que es más fácil hacerlo con un <if> ya que las condiciones no van alternadas:
Código (cpp) [Seleccionar]

if(promedio < 5)
   cout << "Aprobado" << endl;
else
   cout << "Suspenso" << endl;

Y... no sabía que hay quien considera el aprobado a partir del 7. :xD

Se aprueba con 7, y yo tampoco sabia que con menos de 5 se aprobaba, tenias sueño lo se, asi te queria agarrar  ;-)

El campo promedio se calcula solo (atributo derivado) ,al registrar un alumno los valores de los parciales y promedio se inicializan en 1 y promedio nunca puede ser menor a 1, y bueno es lo que su profesor le pidio  para que meter mas cosas, yo usaria archivos para ir metiendo las notas a medida que pase el tiempo y eliminaria la  redundancia la tabla alumno(parciales) y asi dejar esa tabla normalizada, para meter mas notas digo y no repetir los campos, lo correcto es usar 2 tablas de N:M y el infaltable contador que nos dice por cuanto tenemos que dividir sus notas para sacar el promedio, pero como dije anteriormente ese calculo debe realizarse y almacenarse solo, ahi va codigo/algoritmo ;-)
ALUMNO-|------|<-ALUMNO-NOTA->|-------|-NOTA
#417
No es lo que busco, esta bastante incompleto ademas anoche aprendí a normalizar, gracias igual   :laugh:
#418
Programación C/C++ / Re: Arreglo funciones
20 Noviembre 2018, 03:32 AM
Primero que nada revisa cuantas variables vas a utilizar y las estructura de datos que vas a emplear para manejar esa informacion, pero bueno te ayudare, utiliza una estructura de tipo alumno para los alumnos y como tu profe te pide solamente para 5 alumnos vamos a utilizar algo muy sencillo que es un arreglo de registros o de structs como quieras llamarlo que almacenara 5 registros ok?
Código (cpp) [Seleccionar]
const int MAXALUMNOS=5;

typedef struct alumno{
int id;
string nombre_alumno;
int primer_parcial;
int segundo_parcial;
int tercer_parcial;
int promedio;
};

typedef alumno alumnos[MAXALUMNOS];

void registrar_alumno_y_sus_notas(alumnos &a, int &posicion_en_el_arreglo)//Donde posicion es igual a -1
{
if(posicion_en_el_arreglo>MAXALUMNOS-1)
cout<<"No hay espacio, debe usar estructuras dinamicas"<<endl;
else{
posicion_en_el_arreglo++;//Aca se mueve una posicion para indicar que ahora esta en 0 que es la posicion inicial del arreglo de registros
cout<<"Ingrese Id del estudiante: ";
cin>>a[i].id;
cout<<"Ingrese notas de los parciales"<<endl;
cin>>a[i].....//Me aburrí... bueno y así
//Bueno promedio se deberia calcularse solo y almacenarse
...
}
}

void mostrar_notas_finales_de_los_alumnos(alumnos a, int posicion_en_el_arreglo)
{
int i;
if(posicion_en_el_arreglo<0)//Esto quiere decir que todavia no se han registrado alumnos
cout<<"Todavia no se han registrado alumnos"<<endl;
else{
for(i=0;i<=posicion_en_el_arreglo;i++){
cout<<"Id: "<<a[i].id<<endl;
cout<<...//Me volvi  a aburrir
switch(a[i].promedio){
case 1 ... 6: cout<<"Desaprobado"<<endl;break;
case 7 ... 10: cout<<"Aprobado"<<endl;break;
}
cout<<endl;//Aca otro salto de linea por las dudas
}
}
}

Lo otros metodos ya puedes hacerlo por ti mismo
#419
Alguien podria enseñarme a normalizar tablas en la primera, segunda y tercera forma?  :huh:
#420
Eso leí por ahi, muchas gracias chicos  :D