Red de conocimiento informático - Conocimiento informático - Documento de prueba del sistema de gestión de dormitorios de estudiantes

Documento de prueba del sistema de gestión de dormitorios de estudiantes

¡Tengo dos aquí! Espero poder ayudarte.

El primer VC

#include "stdafx.h"

. #include "stdio.h"

#include "iostream.h"

#include "string.h"

#define ERROR 0

p>

#define OK 1

#define MAXSIZE 2500

#define EQ(a,b) ((a)==(b))

typedef int Status;

int N=4;//Variable global para almacenar el número ingresado

struct Student

{

//Tipo de estructura de datos;

char name[10];

int num

int room; > };

/*-------------------------------- ---- ----------------------------------*/

Entrada de estado( )

p>

{

//Entrada de datos;

int i=0

int flag=1; >

char ch;

ARCHIVO * fpdata;

estudiante[MAXSIZE]

if((fpdata=fopen("studata.txt" ,"wb") )==NULL)

{

printf("¡No se puede abrir el archivo studata.c!"); p>

}

while(flag)

{

printf("Si continuar ingresando (S/N):"

p>

cin >>ch

if(ch=='y'||ch=='Y')

{

scanf ("%s%d %d",stu[i].nombre,&stu[i].num,&stu[i].habitación

fwrite(&stu[i],sizeof(struct Student); ),1,fpdata)

i++;

}

else flag=0

}

N=i;

fclose(fpdata);

printf("¡Introducción de datos completada! \n");

return OK;

}

Estado Imprimir(char *nombre de archivo)

{

//Datos de salida;

FILE * fpdata;

student st;

int i=0; ( fpdata=fopen(filename,"rb"))==NULL)

{

printf("¡No se puede abrir el archivo studata.c!"); > devolver ERROR;

}

mientras(i

{

fread(&st,tamaño

of(struct estudiante),1,fpdata);

printf("%s %d %d\n",st.nombre,st.num,st.room

i++;

}

fclose(fpdata);

regresar

}

/* ******** ******** ********* ********* ********** ******* ** ********* */

/* ******** ******** ********** *** ****** ********* ********* ********* */

Estado NameSort()

{

//Clasificación de nombres;

int i,j;

ARCHIVO * fpdata

ARCHIVO * fpnamesort;

estudiante[MAXSIZE];

if((fpdata=fopen("studata.txt","rb"))==NULL)

{

printf("¡No se puede abrir el archivo data.c!");

devuelve ERROR

}

for(i=1). ;i<=N;i++)

{

fread(&stu[i],sizeof(struct Student),1,fpdata

}

fclose(fpdata);

if((fpnamesort=fopen("namesort.txt","wb"))==NULL)

{

printf("no se puede abrir nsort.c");

devuelve ERROR

}

for(i=2;i<= N;i++)

{

if(strcmp(stu[i].nombre,stu[i-1].nombre)<0)

{

strcpy(stu[0].nombre,stu[i].nombre);

stu[0].num=stu[i].num; p>stu[0].room=stu[i].room;

strcpy(stu[i].nombre,stu[i-1].nombre); [i].num=stu[i-1].num;

stu[i].habitación=stu[i-1].habitación

for(j=i; -2;(strcmp(stu[0].nombre,stu[j].nombre))<0;j--)

{

strcpy(stu[j+1 ].nombre,stu[j].nombre);

stu[j+1].num=stu[j].num

stu[j+1].habitación; =stu[j].habitación;

}

strcpy(stu[j+1].nombre,stu[0].nombre); [j+1].num=stu[0].num;

stu[j+1].habitación=stu[0].habitación

}

;

}

para(i=1;i<=N;i++)

{

fwrite(&stu[i],sizeof(struct Student),1,fpnamesort

}

fclose(); fpnamesort);

return OK

}

/* ******** ******** **** ***** ********* ********* ********** ********* */

/* ******** ******** ********* ********** ********** ***** **** ********* */

Status NumSort()

{

//Clasificación por número de estudiante

; p >

int i,j;

ARCHIVO * fpdata;

ARCHIVO * fpnumsort;

estudiante[MAXSIZE]; p >if((fpdata=fopen("studata.txt","rb"))==NULL)

{

printf("¡No se puede abrir el archivo data.c!" )

devuelve ERROR;

}

para(i=1;i<=N;i++)

{

fread(&stu[i],sizeof(struct estudiante),1,fpdata

}

fclose(fpdata

); if ((fpnumsort=fopen("numsort.txt","wb"))==NULL)

{

printf("no se puede abrir nsort.c"); p >

devuelve ERROR;

}

for(i=2;i<=N;i++)

{

if(stu[i].num

{

strcpy(stu[0].nombre,stu[i].nombre)

stu[0].num=stu[i].num;

stu[0].room=stu[i].room; strcpy (stu[i].nombre,stu[i-1].nombre);

stu[i].num=stu[i-1].num

stu; [ i].room=stu[i-1].room

for(j=i-2;stu[0].num

{

strcpy(stu[j+1].nombre,stu[j].nombre

stu[j+1].num=stu[); j ].num;

stu[j+1].habitación=stu[j].habitación

}

strcpy(stu[j+1; ] .nombre,stu[0].nombre);

stu[j+1].num=stu[0].num

stu[j+1].habitación; = stu[0].room;

}

}

for(i=1;i<=N;i++)

{

fwrite(&stu[i],sizeof(struct

t estudiante),1,fpnumsort);

}

fclose(fpnumsort);

return OK; >

/* ******** ******** ********** ********** ********** * ******** ********* */

/* ******** ********** ****** *** ********* ********* ********* ********* */

Estado Ordenar habitación ()

{

//Clasificación del número de habitación;

int i,j

ARCHIVO * fpdata;

ARCHIVO * fproomsort;

estudiante estudiante[MAXSIZE];

if((fpdata=fopen("studata.txt","rb"))==NULL)

{

printf("¡No se puede abrir el archivo data.c!");

devuelve ERROR; p>for(i=1;i<=N;i++)

{

fread(&stu[i],sizeof(struct Student),1,fpdata p>

}

fclose(fpdata);

if((fproomsort=fopen("roomsort.txt","wb"))==NULL)

{

printf("no se puede abrir nsort.c");

devuelve ERROR; for( i=2;i<=N;i++)

{

if(stu[i].habitación

{

strcpy(stu[0].nombre,stu[i].nombre

stu[0].num=stu[i].num; /p >

stu[0].room=stu[i].room;

strcpy(stu[i].nombre,stu[i-1].nombre

);

stu[i].num=stu[i-1].num;

stu[i].habitación=stu[i-1].habitación

para; (j =i-2;stu[0].habitación

{

strcpy(stu[j+1].nombre ,stu[j].nombre);

stu[j+1].num=stu[j].num

stu[j+1].habitación=stu[; j] .room;

}

strcpy(stu[j+1].nombre,stu[0].nombre); 1] .num=stu[0].num;

stu[j+1].room=stu[0].room

}

}

for(i=1;i<=N;i++)

{

fwrite(&stu[i],sizeof(struct Student),1 , fproomsort

}

<

p>fclose(fproomsort);

return OK

}

/* ******** ******** ********* ********** ********* ********* ********** */

/* ******** ******** ********** ********** ********** * ******** ********* */

Estado NameSearch(char * namekey)

{

// Consultar por nombre;

//Buscar en orden

int i;

FILE * f

estudiante[MAXSIZE];

if((f=fopen("namesort.txt","rb"))==NULL)

{

printf("no se puede abrir namesort .txt!");

devuelve ERROR;

}

for(i=1;i<=N;i++)

{

fread(&stu[i],sizeof(struct Student),1,f

}

int low=1; p >

int alto=N;

//int medio;

int flag=0

int m=N;

//char nombreclave;

//int t;

strcpy(stu[0].nombre,nombreclave

for(m=); N ;m>0;--m)

{

if(!strcmp(stu[m].nombre,nombrekey))

printf(" % s %d %d\n",stu[m].nombre,stu[m].num,stu[m].habitación);

}

return m;

fclose(f);

if(bandera>0)

{

printf("%s %d %d\ n ",stu[bandera].nombre,stu[bandera].num,stu[bandera].habitación);

}

else printf("Lo sentimos, no se encontró ningún registro coincidente \n");

regresar OK;

}

/* ******** ******** * * ******* ********** ********* ********** ********* */

/* ******** ******** ********** ********** ********** ** * ****** ********* */

Estado NumSearch(int key)

{

//Aprendiendo Número consulta;

int i;

ARCHIVO * f;

estudiante[MAXSIZE]

if((f=fopen ( "numsort.txt","rb"))==NULL)

{

printf("¡no se puede abrir el archivo namesort.txt!");

devuelve ERROR;

}

for(i=1;i<=N;i++)

{

fread(&stu[i],sizeof(struct Student),1,f

}

int low=1

int high; =N;

int medio;

int flag=0

mientras(bajo<=alto)

{

medio=(bajo+alto)/2

if(stu[medio].num==clave)

{

flag= medio;

romper;

}

else

{

si(stu[medio].num >clave)

alto=medio-1

else

bajo=medio+1

}

}

fclose(f);

if(bandera>0)

{

printf("%s %d %d\n",stu[bandera].nombre,stu[bandera].num,stu[bandera].habitación);

}

else printf("Lo siento, no Registro coincidente encontrado\n");

volver OK;

}

/* ******** ***** ** * ********* ********* ********* ********** ********* */

/* ******** ******** ********** ********** ******* ** ********* ********* */

Estado RoomSearch(tecla int)

{

// Consulta por número de habitación;

int i;

FILE * f;

estudiante[MAXSIZE]

if( (f) =fopen("roomsort.txt","rb"))==NULL)

{

printf("¡no se puede abrir el archivo roomsort.txt!");

{

printf("¡no se puede abrir el archivo roomsort.txt!");

{ p>

return ERROR; p>

for(i=1;i<=N;i++)

{

fread(&stu[i],sizeof(struct Student),1,f) ;

}

int bajo=1;

int alto=N

//int medio; p>int bandera=0;

int t;

stu[0].room=clave

for(t=N;t>0; --t)

{if(stu[t].room==clave)

printf ("%s %d %d\n",stu[t].nombre ,stu[t].num,stu[t].room);

}

return t;

if(bandera>0)

{

printf("%s %

d %d\n",stu[bandera].nombre,stu[bandera].num,stu[bandera].habitación);

}

else printf("Lo siento, No se encontró ningún registro coincidente\n");

return OK;

}

/* ******** **** ** ** ********* ********* ********* ********** ********* * /

/* ******** ******** ********** principal() ********* *** ** **** ********* */

/* ******** ******** ******** * * ******** ********* ********* ********* */

void main()

{

int num;

int habitación;

int bandera, bandera1, bandera2

char cha;

char name[10];

cout<<" ******** Sistema de gestión de dormitorios de estudiantes*******"<

printf(" ------Desarrollado por GUOXIAOJIE\n");

printf("--------------- -- -------------------------------\n");

cout <<"¿Necesita ingresar la información del estudiante? (Y/N)"<

char cha1;

cin>>cha1

if. (cha1=='Y'||cha1=='y')

{printf("---------------------- - -------------------------------\n");

printf("Por favor, introduce el alojamiento Entrada de información del estudiante (nombre, número de estudiante, número de salón)\n");

Input();

NameSort();

NumSort();

NumSort();

Entrada(); p>

Habitación();

}

mientras(bandera)

{printf("----------- ---------------------------- ----------------------\n");

cout<<"************ **** Sistema de gestión de dormitorios de estudiantes****************"<

printf("----------- ------------------------------- ------------- -\n");

printf("Seleccione una operación:\n");

printf("A. Buscar por nombre\n");

printf("B. Buscar por número de estudiante\n");

printf("C. Buscar por número de salón\n"); Salir\n");

cout<<"Nota: Por favor ingrese letras mayúsculas..."<

cin >>cha;

cambiar(cha)

{

ca

se 'A' :

bandera1=1

mientras(bandera1)

{printf("------------ ------------------------------------------\n");

printf("A. Ingrese el nombre a consultar\n");

printf("B. Salida todo por nombre\n"); " C. Return\n");

printf("Nota: Introduzca letras mayúsculas...\n");

cin>>cha; p> switch(cha)

{

caso 'A':

scanf("%s",nombre

); printf( "El resultado de la consulta es:\n");

printf("--------------------- ------ ------------------------\n");

BuscarNombre(nombre);

printf( "------------------------------------------- ----- -----\n");

descanso;

caso 'B':

Imprimir("namesort.txt"

romper;

caso 'C':

flag1=0; predeterminado:

printf("-------------------------------------- ------- -----------\n");

printf("!!!!!!!! El comando que ingresó no es válido.

Nota: ¡¡¡Ingrese las letras de comando en mayúsculas!!!!!!!!!!!\n");

}

}

break;

romper;

p>

caso 'B' :

mientras(bandera2)

{printf("-- ---------------- ---------------------------------- --\n");

printf( "A. Ingrese el número de estudiante a consultar\n");

printf("B. Generar todo por número de estudiante\n ");

printf("C. Return\ n");

printf("Nota: Por favor ingrese letras mayúsculas...\n");

cin>>cha;

cambiar(cha)

{

caso 'A':

scanf("%d ",&num);

printf("El resultado de la consulta es :\n");

printf("--------------- ------------------- --------------------\n");

NumSearch(num);

romper;

caso 'B':

Imprimir("numsort.txt"); romper;

caso 'C':

flag2=0

romper

predeterminado:

printf("---------------- ------------------------------- ------\n");

printf("!!!!!!!! El comando que ingresó no es válido.

Nota: ¡¡¡Ingrese las letras de comando en mayúsculas!!!!!!!!!!!\n");

}

}

break;

romper;

p>

caso 'C' :

bandera1=1

mientras(bandera1)

p>

{printf("------- ---------------------------------- ----------------\n" );

printf("A. Ingrese el número de dormitorio a consultar\n");

printf("B. Generar todo por número de dormitorio\n");

printf("C.Return\n");

printf("Nota: ingrese mayúsculas letras...\n");

cin>>cha;

interruptor(cha)

{

caso 'A ':

scanf("%d",&room);

caso 'A':

scanf("%d",&room); p>

p>

printf("El resultado de la consulta es:\n");

printf("----------------- ------ ----------------------------------\n");

BuscarHabitación(habitación);

BuscarHabitación(habitación);

p>

printf("---------------- ----------------------- ------------\n");

ruptura;

caso 'B':

Imprimir("roomsort. txt");

ruptura; 'C':

flag1=0;

romper;

predeterminado:

printf("------- ----------------------------------------- --------- ---------\n");

printf("!!!!!!!! El comando que ingresó no es válido. Nota: Comando ¡¡¡Por favor ingrese letras mayúsculas!!!! !!!!!!!\n");

}

}

romper;

caso 'D' :

bandera=0;

romper;

predeterminado:

printf("---- -------- ------------------------------------------ \n");

printf("!!!!!!!! El comando que ingresó no es válido.

Nota: ¡¡¡Ingrese las letras de comando en mayúsculas!!!!!!!!!!!\n");

}

}

}

La segunda clase C++

#include

#include

clase estudiante//clase estudiante

{

público:

char nombre_estudiante[10];

int número_aula;

int número_estudiante;

int estudiante_sc

};

estudiante información_estudiante[16];

int número=0; > ////////////////////////////////////////////////// //// ///////////////////////

void input()//Función de entrada

{

cout<<"Ingrese el número de estudiantes:"

cin>>número

if(número<=16)

{

for(int i=0;i

{

cout<<"Ingrese el número de estudiante:"

cin> >student_info[i].student_number;

cout<<"Ingrese el nombre del estudiante:"

cin>>student_info[i].student_name

p>

student_info [i].student_sc=i+1;

cout<<"Ingrese el número de habitación:"

cin>>student_info[i].room_number;

}

cout<<"Entrada completada. "<

}

else{cout<<"El número de personas supera la capacidad máxima.

"<

}

///////////////////////////// / ///////////////////////////////////////////////// /

void show()//Función de visualización

{

cout<<"Nombre"<<" "<<"ID de estudiante"<<" "<< "Número de serie"<<" "<<"Habitación"<

for(int i=0;i

{

cout<

cout<

cout<< información_estudiante[i] .student_sc<<" ";

cout<

}

}

////////////////////////////////////////////// //////// /////////////////////////

void del()//Función de eliminación

{

cout<<"Ingrese el número de estudiante que desea eliminar:"<

int temp=0

cin; >>temp;

for(int i=0;i

{

if(student_info[i].student_number==temp )

{

for(int j=i;(j+1)

{

información_estudiante[ j].student_number=student_info[j+1 ].student_number;

student_info[j].student_sc=student_info[j+1].student_sc

student_info[j].room_number; =información_estudiante[j+1].número_habitación;

strcpy(información_estudiante[j].nombre_estudiante,info_estudiante[j+1].nombre_estudiante

}

información_estudiante[número].número_estudiante=0;

información_estudiante[número].student_sc=0

información_estudiante[número].número_habitación=0

strcpy; (información_estudiante[número].nombre_estudiante,""

}

}

}

///////); ////////// //////////////////////////////////////// ////////////// /////////

vacío

change()//Función de intercambio

{

cout<<"Ingrese el número de estudiante a intercambiar:"

char temp_name[10]; /p>

cout<<" p>

int temp_number=0;

int temp_sc=0;

int temp_room=0;

int i,j;

cin>>i>>j;

i--; temp_number=student_info[j].student_number;

temp_sc=student_info[j].student_sc;

temp_room=student_info[j].room_number

strcpy( temp_name,student_info[j].student_name);

student_info[j].student_number=student_info[i].student_number

student_info[j].student_sc=student_info[i]. estudiante_sc;

información_estudiante [j].número_habitación=info_estudiante[i].número_habitación;

strcpy(información_estudiante[j].nombre_estudiante,info_estudiante[i].nombre_estudiante

información_estudiante[i].número_estudiante = número_temp;

info_estudiante[i].student_sc=temp_sc

info_estudiante[i].número_habitación=habitación_temp

strcpy(student_info[i].student_name ,temp_name);

}

///////////////////// //////////// /////////////////////////////////////// ///////

void search_sc()//Buscar número de serie

{

int temp=0

cout<<"Ingrese el número de serie a consultar:";

cin>>temp

int i=0

while(student_info[i; ].student_sc!=(temp)) i++;

cout<

cout<

cout<

cout<}

//////// ////////////////////////////////// ///////////////////// ////////////////

>void search_name()//Buscar nombre

{

char temp[10]

cout<<"Ingrese el nombre a consultar:"

cin>>temp;

int i=0

mientras(strcmp(student_info[i].student_name,temp)) i++; p>

cout<

cout<

cout<< información_estudiante[ i].student_sc<<" ";

cout<

}

//// // ///////////////////////////////////////////////// ///// /////////////////

void search_number()//Buscar número de estudiante

{

int temp =0;

cout<<"Ingrese el número de estudiante a consultar:"

cin>>temp

int; i=0;

mientras(información_estudiante[i].número_estudiante!=(temp)) i++

cout<

cout<

cout<

cout<< información_estudiante[i].número_habitación<

}

///////////////////////// //////// /////////////////////////////////////////// //

void win()//Función de interfaz

{

while(1)

{

cout<

cout<<"1. Modificar submenú"<

int server=0;

cout<<"Tipo de submenú de entrada:" ;

cin>>server;

if(servidor ==1)

{

cout<<"1. Ingrese: "<

cout<<"3. Intercambiar"<

cout<<"4.

;endl;

cout<<"5. Fin"<

cout<<"Seleccionar submenú:"

int temp=0 ;

cin>>temp;

interruptor(temp)

{

caso 1:

entrada ( );romper;

caso 2:

del();romper;

caso 3:

cambiar();romper ;

caso 4:

show();break;

caso 5:

salir(0); p>} }

else if(server==2)

{

cout<<"1. Consulta por nombre"<

cout<<"2. Buscar por número de estudiante"<

cout<<"3. Buscar por número de serie"<

int temp;

cin>>temp

switch(temp)

{

caso 1:

nombre_búsqueda();romper;

caso 2:

número_búsqueda();romper

caso 3:

search_sc();romper;

}

}

}

}

//////////////////////////////////////////// / /////////////////////////////////

void main()//función principal

{

ganar();

}