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

#1
Programación C/C++ / Re: Archivos c++
28 Noviembre 2012, 13:50 PM
Código (cpp) [Seleccionar]


void inscribir()
{
       HANDLE hConsoleHandle = GetStdHandle (STD_OUTPUT_HANDLE);
       int opcion, exit=0;
       FILE *Notas;
       FILE *Estudiante;
       FILE *Profesor;
       FILE *Coordinador;
       int codigo,clave;
       
       
       printf("INBRIPCION DE MATERIAS");
       printf("Digite su codigo");
       scanf("%d", &codigo);
       
       Notas = fopen("Notas.txt", "r");
       if(Notas == NULL)
       {
               printf("\nFichero no existe! \nPor favor creelo");
               return;
       }
     while(fread(&dat, sizeof(struct sDatos), 1, Notas)==1)
{
     if (codigo == dat.Codigo){InsertarNotas(Notas);}  /*dat es la etructua que contiene los datos de codigo y materias*/
      /*hay me pierdo me localizo en la linea en donde esta el codigo del estudiante pero no se como hacer para que llena esa info*/
      }  
}

Q pena, tal vez asi me entiendan un poco mejor :P la idea es que ya que se localizo hay en esa zona especifica el estudiante pueda inscribir sus materias ejemplo me salga por pantalla

Código (cpp) [Seleccionar]
printf("Digite la primera materias que queire inscribir");
scanf("%s", dat.materia1);


y asi sucesivamente el fichero tendra solamente el codigo del estudiante para poder buscar la linea y asi poderle insertar los demas datos

el fichero lo tengo asi:

Código (cpp) [Seleccionar]

void VerNotas(FILE *Notas)
{
       int numero = 1;
       HANDLE hConsoleHandle = GetStdHandle (STD_OUTPUT_HANDLE);
       SetConsoleTextAttribute (hConsoleHandle, 2 | FOREGROUND_INTENSITY);

       Notas = fopen("Notas.txt", "r");

       if(Notas == NULL)
       {
               printf("\nFichero no existe! \nPor favor creelo");
               return;
       }

       fread(&dat, sizeof(struct sDatos), 1, Notas);
       printf("\nNumero \tCodigo  \tMateria1  \tMateria2   \tMateria3   \tMateria4   \tMateria5");
       
       while(!feof(Notas))
       {
               SetConsoleTextAttribute (hConsoleHandle, 7 | FOREGROUND_INTENSITY);          
               printf("\n%d     \t%d       \t%d       \t%d      \t%d       \t%d       \t%d",numero,dat.Codigo,
               dat.Materia1,dat.Materia2,dat.Materia3,dat.Materia4,dat.Materia5);
               fread(&dat, sizeof(struct sDatos), 1, Notas);
               numero++;
       }

printf("\n\n");
       fclose(Notas);

       menuEstud();
}


la idea es que cuando el Coordinador mire el fichero "Notas" le salga en orden como esta

Codigo        Materia1       Materia2        Materia3      Materia4        Materia5
120          campovacio   campovacio   campovacio  campovacio  campo vacio
121          campovacio   campovacio   campovacio  campovacio  campo vacio
122          campovacio   campovacio   campovacio  campovacio  campo vacio
123          campovacio   campovacio   campovacio  campovacio  campo vacio
124          campovacio   campovacio   campovacio  campovacio  campo vacio

y que cuando inscriba se valla llenando cada campo

ESPERO ME PUEDAN AYUDAR GRACIAS.
compilador dev-c++ 4.9.9.2
:) :)
#2
Programación C/C++ / Archivos c++
28 Noviembre 2012, 04:33 AM
Buenas  :silbar: :silbar:

Mi problema es el siguiente,
Quiero saber como hacer para agregar informacion a una linea espesifica del Archivo es decir el archivo se llena con base a una etructura que tiene:

codigo
materia1
materia2
materia3
materia4
materia5

mi pregunta es:
yo tengo que registrar a todos los alumnos pero cuando ellos quieran inscribir materias ellos digiten el codigo que inscribi anteriormente yo y que lo busque y se pare en esa linea ((eso lo se hacer)) no se como hacer para que les aparezca la opcion de digitar las materias sobre esa linea en especifico

Espero me puedan ayudar.
GRACIAS.
#3
Bueno mi problema es que no se como pasar un vetor a una funcion y luego llamarlo en otra :/ , miren mi codigo eta recien iniciado :) creo el arreglo en el main y lo relleno pero quiero crear una funcion VerArreglo y pasar el vector alli pero no se como epero me puedean ayudar Gracias  :o :( :rolleyes:

Código (cpp) [Seleccionar]
#include <cstdlib>
#include "windows.h"
#include <iostream>

using namespace std;

int menu (){
                                            HANDLE hConsoleHandle = GetStdHandle (STD_OUTPUT_HANDLE);     
     int exit=0;
     int opcion;
     
     printf("\n");
        SetConsoleTextAttribute (hConsoleHandle, 2 | FOREGROUND_INTENSITY);
        printf("\n                  *** MENU PRINCIPAL ***\n");
        printf("                      --------------------");
        SetConsoleTextAttribute (hConsoleHandle, 7 | FOREGROUND_INTENSITY);
        printf("\n                   \t1. Insertar Elementos al Arreglo");
        printf("\n                   \t2. Buscar Elementos Del arreglo");
        printf("\n                   \t3. Eliminar Elementos Del Arreglo");
        printf("\n                   \t4. Ordenar El Arreglo ");
        printf("\n                   \t4. Ver El Arreglo ");
        printf("\n                   \t5. Salir\n");
       
         while (exit == 0)
        {
                 SetConsoleTextAttribute (hConsoleHandle, 2 | FOREGROUND_INTENSITY);
                cout<<"\nOpcion: ";
                SetConsoleTextAttribute (hConsoleHandle, 7 | FOREGROUND_INTENSITY);
                scanf("%d", &opcion);
 
                switch(opcion)
                {
                        case 1:
                               system("CLS");
                               cout<<"\n\n  Insertar";
                               menu();
                        break;       
                        case 2:
                               system("CLS");
                               cout<<"\n\n  Buscar";
                               menu();
                        break;       
                        case 3:
                               system("CLS");
                               cout<<"\n\n  Eliminar";
                               menu();
                        break;       
                        case 4:
                               system("CLS");
                               cout<<"\n\n  Ordenar";
                               menu();
                        break;       
                        case 5:
//                               VerArreglo();
                        break;
                        case 6:
                               exit = 1;
                               return EXIT_SUCCESS;
                        break;     
                        default:
                                printf("\n ** Esta opcion no es valida **\n");       
                }
        }
system("CLS");
     }


main ()
{
     int n;
     
                                            HANDLE hConsoleHandle = GetStdHandle (STD_OUTPUT_HANDLE);
                                       SetConsoleTextAttribute (hConsoleHandle, 7 | FOREGROUND_INTENSITY);
     cout<<"\n Ingrese la longitud del arreglo:  ";                                           
                                       SetConsoleTextAttribute (hConsoleHandle, 2 | FOREGROUND_INTENSITY);
     cin>>n;
     if ((n>=1)&&(n<=100)){}else{main();}
     int vector[n];
     
     for (int i=1; i<=n;i++){
         cin>>vector[i];
         }
         
         
     system("CLS");
     menu();
     
return 0;     
}
#4
Programación C/C++ / Re: Error al compilar
25 Octubre 2012, 18:46 PM
Jajaja Q loco amigo Muchas gracias modifique el codigo de 1000 formas y nunca me fique en esto :) ;-) ;-) ;-) ;-)
#5
Programación C/C++ / Error al compilar
25 Octubre 2012, 18:15 PM
Q tal amigos miren ttengo este error al compilar este codigo

Código (cpp) [Seleccionar]
struct sEstado_1 {
   char Nombre[40];
   int Codigo;
   char Estado[10];
} E1;

struct sDatos_1 {
   float Materia1;
   float Materia2;
   float Materia3;
   float Materia4;
   float Materia5;
   float Materia6;
   float Materia7;   
} D1;


void Buscar (){   

    FILE *Estado1;
    int clave;
    printf("Digite El Codigo Del Estudiante Q quiere Buscar: ");
    scanf("%d", clave);
     Estado1 = fopen("fichero.txt", "r");

        if(Estado1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }

       
while(fread(&E1, sizeof(struct sEstado_1), 1, Estado1)==1)
{
// desplegando estructura buscada
if ( clave == E1.Codigo)
{
printf("CODIGO =%d ",E1.Codigo);
printf(" NOMBRE =%s ",E1.Nombre);
printf(" ESTADO =%d ",E1.Estado);
printf("\n");
}// fin if
}//fin while

fclose(Estado1);

}

al insertar "clave" me sale que el programa dejo de funcionar

Codigo completo

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <cstdlib>
#include <windows.h>

using namespace std;

void menu();
void CrearFichero(FILE *Estado1);
void InsertarDatos(FILE *Estado1);
void VerDatos(FILE *Estado1);
void CrearArchivo(FILE *Datos1);
void InsertarArchivos(FILE *Datos1);
void VerArchivos(FILE *Datos1);


struct sEstado_1 {
   char Nombre[40];
   int Codigo;
   char Estado[10];
} E1;

struct sDatos_1 {
   float Materia1;
   float Materia2;
   float Materia3;
   float Materia4;
   float Materia5;
   float Materia6;
   float Materia7;   
} D1;


void Buscar (){   

    FILE *Estado1;
    int clave;
    printf("Digite El Codigo Del Estudiante Q quiere Buscar: ");
    scanf("%d", clave);
     Estado1 = fopen("fichero.txt", "r");

        if(Estado1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }

       
while(fread(&E1, sizeof(struct sEstado_1), 1, Estado1)==1)
{
// desplegando estructura buscada
if ( clave == E1.Codigo)
{
printf("CODIGO =%d ",E1.Codigo);
printf(" NOMBRE =%s ",E1.Nombre);
printf(" ESTADO =%d ",E1.Estado);
printf("\n");
}// fin if
}//fin while

fclose(Estado1);

}

void PlanEstudio ()
{
        int opcion4;
        FILE *Estado1;
        FILE *Datos1;
        int exit = 0;
       
        printf("\n   *** PLAN DE ESTUDIOS ***\n");
        printf("\n\t1. Conultar Materias 1º Semestre");
        printf("\n\t2. Conultar Materias 2º Semestre");
        printf("\n\t3. Conultar Materias 3º Semestre");
        printf("\n\t4. Conultar Materias 4º Semestre");
        printf("\n\t5. Conultar Materias 5º Semestre");
        printf("\n\t6. Conultar Materias 6º Semestre");
        printf("\n\t7. Salir");
             
        while (!exit)
        {
                printf("\nOpcion: ");
                scanf("%d", &opcion4);

                switch(opcion4)
                {
                        case 1:
                               
                        break;       
                        case 2:
                               
                        break;       
                        case 3:
                               
                        break;       
                        case 4:
                                 
                        break;       
                        case 5:
                               
                        break;
                        case 6:
                               
                        break;
                        case 7:
                                exit = 1;
                        break;     
                        default:
                                printf("\n ** Esta opcion no es valida **\n");       
                }
        }

        return ;             
}

void menuBusqueda()
{
        int opcion3;
        FILE *Estado1;
        FILE *Datos1;
        int exit = 0;
        printf("\n   *** MENU DE BUSQUEDA ***\n");
        printf("\n\t1. Conultar Lista De Estudiantes");// lista
        printf("\n\t2. Estado Del Estudiante");// datos: direccion, tel, etc...
        printf("\n\t3. Plan De Estudio");// plan proyecto curricular
        printf("\n\t4. Consultar Estudiante");// materias
        printf("\n\t5. Volver al inicio");
        printf("\n\t6. Salir");       
       
         while (!exit)
        {
                printf("\nOpcion: ");
                scanf("%d", &opcion3);

                switch(opcion3)
                {
                        case 1:
                               VerDatos(Estado1);
                        break;       
                        case 2:
                               cout <<"Estado Del Estudiante";
                        break;       
                        case 3:
                                PlanEstudio();
                        break;       
                        case 4:
                                Buscar();
                        break;       
                        case 5:
                                menu();
                        break;
                        case 6:
                                exit = 1;
                        break;
                        default:
                                printf("\n ** Esta opcion no es valida **\n");       
                }
        }

        return;
}

void menuLista(){
        int opcion2;
        FILE *Estado1;
        FILE *Datos1;
        int exit = 0;
     printf("\n   *** MENU LISTA ***\n");       
        printf("\n\t1. Crear Archivo Lista");
        printf("\n\t2. Insertar Datos a Lista");
        printf("\n\t3. Ver Datos Lista");
        printf("\n\t4. Volver Al Inicio");
        printf("\n\t5. Salir Del Programa");
        while (!exit)
        {
                printf("\nOpcion: ");
                scanf("%d", &opcion2);
       
                switch(opcion2)
                {
                        case 1:
                                CrearArchivo(Datos1);
                        break;       
                        case 2:
                                InsertarArchivos(Datos1);
                        break;       
                        case 3:
                                VerArchivos(Datos1);
                        break;       
                        case 4:
                                menu();
                        break;       
                        case 5:
                                exit = 1;
                        break;
                        default:
                                printf("\nOpcion no valida");       
                }
        }

        return;
     }

void menuAdministrativo()
{
        int opcion2;
        FILE *Estado1;
        FILE *Datos1;
        int exit = 0;
       
        printf("\n   *** MENU ADMIISTRATIVO ***\n");       
        printf("\n\t1. Crear Fichero");
        printf("\n\t2. Insertar Datos");
        printf("\n\t3. Ver Datos Parciales");
        printf("\n\t4. Volver Al Inicio");
        printf("\n\t5. Salir Del Programa");
        while (!exit)
        {
                printf("\nOpcion: ");
                scanf("%d", &opcion2);
       
                switch(opcion2)
                {
                        case 1:
                                CrearFichero(Estado1);
                        break;       
                        case 2:
                                InsertarDatos(Estado1);
                        break;       
                        case 3:
                                VerDatos(Estado1);
                        break;       
                        case 4:
                                menu();
                        break;       
                        case 5:
                                exit = 1;
                        break;
                        default:
                                printf("\nOpcion no valida");       
                }
        }

        return;
       
}
void menu()
{
     int opcion, exit=0;
     
        printf("\n           *** MENU PRINCIPAL ***\n ");
        printf("\n\t1. Ir al Menu Administrativo ");
        printf("\n\t2. Ir al Menu De Busqueda ");
        printf("\n\t3. Ir al Menu Lista");
        printf("\n\t4. Salir");
       
        while (!exit)
        {
                printf("\n\nOpcion: ");
                scanf("%d", &opcion);

                switch(opcion)
                {
 
                        case 1:
                                system("CLS");
                                menuAdministrativo();               
                        case 2:
                                system("CLS");
                                menuBusqueda();
                        case 3:
                                system("CLS");
                                menuLista();
                        case 4:
                                system("CLS");
                                exit = 1;
                        break;
                        default:
                                printf("\nOpcion no valida");
                }
        }

        return ;
       
}
int main ()
{
        system("color f");
       
        int opcion, opcion2, opcion3, opcion4;
        int exit = 0;
        FILE *Estado1;
        FILE *Datos1;         
        menu();
}

void CrearFichero(FILE *Estado1)
{
        Estado1 = fopen("fichero.txt", "r");

        if(!Estado1)
        {
                Estado1 = fopen("fichero.txt", "w");
                printf("\nArchivo creado!");
        }
        else
        {
                printf("\nEl fichero ya existe!");
        }

        fclose (Estado1);

        return;
}
void InsertarDatos(FILE *Estado1)
{
        Estado1 = fopen("fichero.txt", "a+");

        if(Estado1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }
       
for (int a=1; a<=4; a++){
        printf("\nDigita el Nombre: ");
        scanf("%s", &E1.Nombre);
       
        printf("\nDigita el Codigo: ");
        scanf("%d", &E1.Codigo);
       
        printf("\nEstado Del Estudiante: ");
        scanf("%s", &E1.Estado);
       
        fwrite(&E1, sizeof(struct sEstado_1), 1, Estado1);
   }
        fclose(Estado1);

        return;
}
void VerDatos(FILE *Estado1)
{
        int numero = 1;

        Estado1 = fopen("fichero.txt", "r");

        if(Estado1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }

        fread(&E1, sizeof(struct sEstado_1), 1, Estado1);
        printf("\nNumero \tNombre        \tCodigo     \tEstado Del Estudiate");
         
        while(!feof(Estado1))
        {
                printf("\n%d \t%s        \t%d        \t%s", numero, E1.Nombre, E1.Codigo, E1.Estado);
                fread(&E1, sizeof(struct sEstado_1), 1, Estado1);
                numero++;
        }

        fclose(Estado1);

        return;
}
void CrearArchivo(FILE *Datos1)
{
        Datos1 = fopen("datos.txt", "r");

        if(!Datos1)
        {
                Datos1 = fopen("fichero.txt", "w");
                printf("\nArchivo creado!");
        }
        else
        {
                printf("\nEl fichero ya existe!");
        }

        fclose (Datos1);

        return;
}

void InsertarArchivos(FILE *Datos1)
{
        Datos1 = fopen("datos.txt", "a+");

        if(Datos1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }

        printf("\nDigite la nota de Algoritmos: ");
        scanf("%f", &D1.Materia1);

        printf("\nDigite la nota de Calculo: ");
        scanf("%f", &D1.Materia2);

        printf("\nDigite la nota de Catedra FJDC: ");
        scanf("%f", &D1.Materia3);

        printf("\nDigite la nota de Catedra DYC: ");
        scanf("%f", &D1.Materia4);
       
        printf("\nDigite la nota de Logica: ");
        scanf("%f", &D1.Materia5);

        printf("\nDigite la nota de Algebra: ");
        scanf("%f", &D1.Materia6);
       
        printf("\nDigite la nota de Textos: ");
        scanf("%f", &D1.Materia7);

        fwrite(&D1, sizeof(struct sDatos_1), 1, Datos1);

        fclose(Datos1);

        return;
}

void VerArchivos(FILE *Datos1)
{
        int numero = 1;

        Datos1 = fopen("datos.txt", "r");

        if(Datos1 == NULL)
        {
                printf("\nFichero no existe! \nPor favor creelo");
                return;
        }

        fread(&D1, sizeof(struct sDatos_1), 1, Datos1);

        printf("\nNumero \tAlgoritmos \tCalculo \tCatedra FJDC \tCatedra DYC \tLogica \tAlgebra \tTextos");

        while(!feof(Datos1))
        {
                printf("\n%d \t%f \t%f \t%f \t%f \t%f \t%f \t%f", numero, D1.Materia1, D1.Materia2, D1.Materia3,
                D1.Materia4, D1.Materia5, D1.Materia6, D1.Materia7);
                fread(&D1, sizeof(struct sDatos_1), 1, Datos1);
                numero++;
        }

        fclose(Datos1);


        return;
}
#6
Programación C/C++ / Ayuda fseek ó ftell
25 Octubre 2012, 05:14 AM
Q tal amigos mi pregunta es la siguiente:

realice un programa con ficheros, ese fichero tiene datos de 10 estudiantes como nombre, codigo .. etc..
Bueno no tengo idea  :-( de como hacer para que cuando de la opcion de buscar estudiante y digite el codigo del estudiante me aparescan los datos es decir la fila del fichero conn sus respectivos datos

hasta lo q e podido apreciar tengo en la funcion:

- abrir el fichero
- mirar si hubo errores al abrirlo
- y supongo aca debe ir  fseek() ó ftell() que comparar los datos pero no se como hacer para q me busque dicha linea del fichero al digitar el codigo

espero me puedan ayudar =D ;D  :D
#7
Gracias amigo me sirvio demasiado  :D :D
#8
Programación C/C++ / Ayuda Con menu C++ 4.9.9.4
25 Octubre 2012, 04:14 AM
Q tal amigos soy nuevo en este foro y necesito un poco de ayuda.
espero puedan resolver mi duda,

Bueno tengo que entregar un proyecto de programacion basica pues mi problema es que tengo mis menus con switch, ahora cuando ejecuto mi programa corre normalmente sin fallos  :silbar: :silbar:

mi pregunta es e visto muchos programas que al escojer una opcion del switch se borra la pantalla y sale el siguiente menu como si fuera una pantalla totalmente diferente; no se si me entienden =D

pues al ejecutar mi programa corre bien pero los menus me salen como una lista cada vez escojo la opcion y tengo como 10 menus asi q se pueden imaginar la lista que sale jeje

espero me puedan ayudar con un ejemplo gracias   :rolleyes: :rolleyes: