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 - Jesusinfo

#31
Si la funciones Usb esta Enable en la Bios  :-(
#32
Buenas noches, tengo un problema con esta tarjeta madre Pegatron IPM41-D3, resulta que  la formatee y le puse windows 7 Professional, me reconoce todo excepto el mouse  y ningún dispositivo de almacenamiento usb (pendrive), pero si me reconoce el teclado que es PS/2, cual es el problema?

Les agradecería su ayuda, un cordial saludo.
#33
Buenas compañeros, les comento mi problema, ayer formatee una pc y le instale Windows 7 Professional Service Pack 1, porque estaba lento el equipo, y no reconocía el mouse y una serie de problemas mas como programas basuras. Una vez que termino de formatear el equipo, sigue sin reconocer el mouse, intento ponerle un pendrive y tampoco lo reconoce, ni siquiera un cd, verifico que en administrador de dispositivo este todo bien, y no sale ni el driver del mouse ni la unidad de cd. Pero si están los controladores del bus universal según sin ningún problema porque allí no sale ninguna advertencia que se muestra cuando hay alguna falla. Tampoco se instalo el   Window Update.

Que tendría que hacer? descargar el driver del mouse, en dado caso de hacerlo es universal el driver?, si pueden dejarme un link donde bajarlo se los agradecería.

Lo extraño de este caso es que ya he formateado con el mismo disco de windows seven y ha instalado todos los drivers sin problemas, si pueden darme una mano con este problema se los agradecería amigos.

No esta demás decir que esto sucedió de un día para otro, porque antes todos sus periféricos funcionaban perfectamente en general funcionaba bien el equipo.
#34
Cita de: AlbertoBSD en 23 Julio 2016, 05:11 AM
Como marcas un registro vacio??

La idea seria la siguiente

    int borrar(int pos,int estudiantes[],int notas[]){
        int i = pos -1;
                estudiantes[i] = /*Valor para identificar estudiante vacio*/;
              for (int x=0; x<asignatura; x++){
              notas[5*i+x] = /* Nota vacia */;
              // notas--; // Esta instruccion no tiene sentido
      }
}


Te tienes que plantear como identificar a un estudiante vacio, o si eso no existe tendrias que mover los valores restantes para que ocupen la posicion eliminada.

Saludos

Gracias albert agarre la idea indique 0 como mi valor vacio, quize indicarle una variable string pero al parecer no es posible por ser entero tanto los estudiantes como las notas,
lo que si no he podido hasta los momentos es eliminar el estudiante junto a sus notas, pero me sirvio lo que me dijiste nuevamente gracias.

Citarcrack81

Gracias crack pues bien capte la idea, si es una verdad que tengo que estudiar bien a fondo vectores y listas enlazadas, capte la idea simple de [-1] para declararlo vació pero  para ser sincero no se plantearlo de esa forma en la función, y tengo que investigar sobre el struct porque como te habrás imaginado me estoy adentrando a este mundo de la programación y estoy totalmente agradecido con ustedes por su recomendaciones y ayuda.
#35
Buenas noches recientemente me ayudaron en una programa y estoy totalmente agradecido. Se trata de el mismo código pero con mas funciones añadida

El programa captura n cantidad de estudiante y almacena 5 notas diferentes en cada estudiantes, teniendo las funciones basicas de [imprimir los estudiante, insertar nuevos estudiantes, buscar un estudiante junto sus notas y borrar un estudiante junto a sus notas]

El problema es que no me borra la posición adecuada del estudiante siempre me borra los la ultima mitad de estudiantes

No encuentro como plantear adecuadamente la funcion de borrar

Código (cpp) [Seleccionar]
//Funcion de borrar un estudiante------------------------------------------------------

   int borrar(int pos,int estudiantes[],int notas[]){
       for(int i=pos-1; i<num; i++){
               estudiantes[i];
               num--;
             for (int x=0; x<asignatura; x++){
              notas[5*i+x];
              notas--;
     }
   }
}


para que me borre solo la posición que teclee el usuario.

Disculpe la molestias, les agradecería su cordial ayuda compañeros es la única función que me falla.
#36
Cita de: AlbertoBSD en 22 Julio 2016, 21:15 PM
En el X haces eso siempre escribes en los mismos 5 lugares.

Necesitas algo como un desplazamiento seria como

5* i +x

Te dejo este video

[youtube=640,360]https://www.youtube.com/watch?v=U-zA-VvOllM[/youtube]


Muchisimas gracias amigo me resolviste el problema tarde un poco en comprender el desplazamiento que debo de hacer para no sobrescribir las notas en el arreglo



Cita de: crack81 en 22 Julio 2016, 21:56 PM
Hola tienes varios problemas de entrada los nombres de las personas los estas manejando como enteros tienes dos opciones o manejarlos como string o un arreglo de char al ver que estas en C++ aconsejo los strings  otra cosa es que no estabas guardando correctamente las notas ya que las estabas  sobrescribiendo.

Al imprimir no recorrias correctamente los arreglos de notas y nombres de los estudiantes y por eso los datos no eran los correctos, bueno me di a la tarea de modificar tu programa y ya funciona pero tiene detalles.

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

void llenar (string  estudiantes[], int notas[]);
void imprimir(string estudiantes[], int notas[]);
int menu ();

//variables
int num=0;
int asignatura=5;

string estudiantes[100];
int posicionesEstudiante=0;

int notas[100];
int posicionNotas=0;

int main()
{

   int opc;

   do
   {
       opc=menu();
       switch (opc)
       {
       case 1:
           llenar(estudiantes, notas);
           break;
       case 2:
           imprimir(estudiantes, notas);
           break;
       case 3:
           cout<<"\nADIOS"<<endl;
           break;
       }
   }
   while (opc !=3);
   cin.get();
}

void llenar (string estudiantes[], int notas [])
{

   cout<<"Deme el numero de estudiante a insertar: "<<endl<<endl;
   cin>>num;

   for(int i=0; i<=num-1; i++)
   {
       cout<<"\nDame el estudiante "<<i+1<<endl;
       cin>>estudiantes[posicionesEstudiante];
       for (int x=0; x<asignatura; x++)
       {
           cout<<"\nNota "<<x+1<<" del estudiante "<<i+1<<" :";
           cin>>notas[posicionNotas];
           posicionNotas++;

       }
       posicionesEstudiante++;

   }

}

void imprimir (string estudiantes [], int notas [])
{
   int contador=0;
   for(int i=0; i<=posicionesEstudiante-1; i++)
   {
       cout<<"\nESTUDIANTE "<<i+1<<endl<<endl;
       cout<<estudiantes[i]<<endl<<endl;
       for (int x=0; x<asignatura; x++)
       {
           cout<<notas[contador]<<endl;
           contador++;
       }

   }

}

int menu ()
{
   int opc;
   cout<<"1.LLENAR\n2.IMPRIMIR\n3.SALIR"<<endl;
   cin>>opc;
   return opc;
}


Si quieres puedes reformular tu  programa y usar structs para poder tener una mejor abstraccion.
Ejemplo:
Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

const int NUMERO_ASIGNTURAS=5;

struct Estudiante
{
   string nombre;
   int asignaturas[NUMERO_ASIGNTURAS];
};

int main(){
 Estudiantes estudiantes[100];

 return 0;
}


Si sabes usar vector o listas enlazadas puedes sustuir los arreglos.
Si tienes dudas avisanos saludos...



Crack a ti tambien muchisimas gracias por tomarte la molesta de editar mi codigo para optimizarlo, maneje a los estudiantes como enteros porque todavia no he visto string, pero gracias a tu codigo lo voy analizar y aprendere su uso para adelantarme a los contenidos y estar preparado, corri tu codigo y funciono excelente aplicado desde otra logica con el mismo objetivo.

Muchas gracias a los dos por su buena atencion y su excelente explicacion aprendi bastante, a ese mismo codigo tengo que añardirle la funcion "INSERTAR, BUSCAR y BORRAR" estare publicando mis avances si tengo alguna duda o problema en otro tema mas adelante. ya que este tema me lo resolvieron.
#37
Gracias por su pronta respuesta amigo. En este caso estoy diciendo que "i" recorrerá las n cantidad de estudiante y "x"recorrerá las 5 notas de cada estudiante, me captura las n cantidad de estudiante pero no las 5 notas diferentes de cada estudiante, me captura solo la 5 notas del ultimo estudiante y las coloca en todos los estudiante, como se visualiza en la imagen.
#38
Buenas amigos, un cordial saludos soy nuevo en el foro y espero ser copartícipe de los conocimientos que provee este grandioso foro.


Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

int llenar (int estudiantes[], int notas[]);
int imprimir(int estudiantes[], int notas[]);
int menu ();

int num;
int asignatura=5;

int llenar (int estudiantes[], int notas []){

cout<<"Deme el numero de estudiante a insertar: "<<endl<<endl;
cin>>num;

for(int i=0; i<=num-1; i++){
cout<<"\nDame el estudiante "<<i+1<<endl;
cin>>estudiantes[i];
for (int x=0; x<asignatura; x++){
cout<<"\nNota "<<x+1<<" del estudiante "<<i+1<<" :";
cin>>notas[x];
}

}

}

int imprimir (int estudiantes [], int notas []){
for(int i=0; i<=num-1; i++){
cout<<"\nESTUDIANTE "<<i+1<<endl<<endl;
cout<<estudiantes[i]<<endl<<endl;
for (int x=0; x<asignatura; x++){
cout<<notas[x]<<endl;
}

}

}

int menu (){
int opc;
cout<<"1.LLENAR\n2.IMPRIMIR\n3.SALIR"<<endl;
cin>>opc;
return opc;
}

int main(){

int estudiantes[100];
int notas[100];
int opc;

do{
opc=menu();
switch (opc){
case 1:
llenar(estudiantes, notas);
break;
case 2:
imprimir(estudiantes, notas);
break;
case 3:
cout<<"\nADIOS"<<endl;
break;
}
}
while (opc !=3);
system ("pause");
}






¿Algo esta mal planteado? le he dado bastante vuelta al problema y no consigo la solución, de antemano les agradezco por leer mi problema.

Un saludo compañeros.