Red de Respuestas Legales - Derecho empresarial - Código del sistema de gestión de información de estudiantes en lenguaje C

Código del sistema de gestión de información de estudiantes en lenguaje C

El código es el siguiente:

# include & ltstdio.h & gt

# include & ltmalloc.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

# include & ltconio.h & gt

Verificación de estructura Typedef//estructura de información del candidato

{?char exampno[20]; //Número de boleto de admisión

Nombre del personaje[10]; //Nombre

char sex[4]; p>

Edad joven; //Edad

char examen tipo[10]; //Asignaturas de aplicación

} ElemType

Nodo de estructura Typedef // Defina un nodo de lista vinculada.

{

Datos de tipo de elemento; //campo de datos

Nodo de estructura * siguiente//campo de puntero

} nodo, * lista , *Posición;

Lista make _ vacía(Lista L); //Crea una lista vacía con los nodos principales.

int is_empty(List L); //Prueba si la lista vinculada está vacía.

int es _last (posición p, lista L); //Prueba si la posición actual es el pie de página.

position make_node(position p, int n); //Crea un nodo e ingresa la información del candidato.

void put_information(position p); //¿Se debe generar información del candidato?

void put_name_information(list L); //Envía la información del candidato denominada xx.

int put_pos_information(position p); //Enviar información del candidato en esta dirección.

void link_to_tail(list L, position p); //Conecta el nodo al pie de página

int ciculación _ make(); //Crea información del candidato en un bucle.

int Judge _ put _ all(); //Si generar la información de todos los candidatos

void put _ all(List L); .

Búsqueda de posición (lista L); //Encuentra el primer elemento llamado xx y devuelve la posición.

Posición find_previous(list L); //Busca el primer elemento llamado xx y devuelve la posición de su predecesor inmediato.

//int Judge _ delete _ val(); //Pregunta si desea eliminar los datos del candidato.

int delete _ val(List L); //Elimina la información del candidato especificado y la genera.

menú vacío (lista L); //Función del menú

Lista L;

//Posición p;

(Igual que Organizaciones internacionales )Organización internacional

principal( void)?

{

Lista L = NULL//Definir el puntero del nodo principal

Posición p = null //Definir el puntero de trabajo de la tabla

<; p> L = make _ vacío(L);//Crear una tabla vacía

Printf ("\ t \ t \ t ★★★Programa de gestión de registro de candidatos★ \ n \ t \ t -.< /p >

Menú (izquierda);

Retorno 0;

}

//Crea una tabla vacía con nodos principales.

Directorio

make_empty(Lista L)

{

l =(Lista)malloc(tamañode(Nodo));

p>

if(NULL == L)

{

Printf("Error en la asignación de memoria");

Salir( 1);

p>

}

l-& gt; next = NULL

//printf("La tabla vacía se creó correctamente.\n " );

Return L;

}

//Cree un nodo e ingrese la información del candidato.

Posición

make_node(posición p, entero n)

{

Si (n) //n es 1, crea Y ingrese el nodo, si n es 0, modifique el nodo.

{

p = (posición) malloc ( tamaño de (nodo));

p->; siguiente = NULL

}

Printf("Ingrese el número de boleto de admisión del candidato:");

Obtener (p-& gt; datos. número de examen); "Por favor, introduzca el nombre del candidato:");

Obtener (p->data.name);

Hacer

{

Printf("Ingrese el género del candidato, solo puede ser "masculino" o "femenino":);

Get (p-& gt; data. sex);

}

And (0!= strcmp(p->Data.sex, "masculino")&;& amp0 != strcmp(p->Data.sex, "female"); //Determine si el género es incorrecto.

Printf("Ingrese la edad del solicitante:");

scanf("%hd", &p->data.age );

getchar();? //Si se elimina esta oración, las siguientes categorías de aplicaciones no se implementarán

/*El siguiente do while se utiliza para determinar si. la categoría de la aplicación se ingresó incorrectamente*/

Do

{

Printf("Ingrese la categoría de registro, solo puede ser "Matemáticas" o "Inglés" o "Estructura de datos":);

Obtener (p-& gt; datos . tipo de examen

}

Y (0!= strcmp(); "Inglés", p-& gt; datos .tipo de examen)&&0 != strcmp("Matemáticas",p->datos.tipo de examen)&&0 != strcmp("Estructura de datos",p-> data.tipo de examen));

If (n)

{

Printf("Registro exitoso\ n ");

}

Otro

{

Printf("Modificación exitosa\ n ");

}

Regresar p;

}

//Método de preinserción;

Vacío

link_to_tail (lista L, posición p)

{

p->;siguiente = L->siguiente;

l->siguiente = p;

}

//Encuentra el primer elemento llamado xx y devuelve la posición.

Posición

Buscar (lista L)

{

Posición p = L-& gt; p>Nombre del personaje[10];

Printf("Ingrese el nombre del candidato que está buscando:");

Obtener (nombre);

Y (p != NULL & amp& amp0 != strcmp(p->data.name,name))

{

p = p->Siguiente ;

}

Regresar p;

}

//Pruebe si la lista vinculada está vacía.

(Igual que organizaciones internacionales) Organizaciones internacionales

is_empty(lista L)

{

Regresar L-& gt; NULL

}

//Prueba si la posición actual es el pie de página.

(Igual que organizaciones internacionales) Organizaciones internacionales

is_last(posición p, lista L)

{

Regresar p-& gt; next = = NULL

}

//Muestre la información del candidato denominada xx.

Vacío

Subir información del nombre (lista L)

{

Posición p = buscar(L);

If (p!=null)

{

Printf("La información del candidato que buscas:\ n ");

Printf( " Número de inscripción: %s\tNombre:%s\tGénero:%s\tGénero:%HD\Asunto:%s\n\n",p->data.examno,p->data .name, p-> ;data.sex, p->data.age, p->data .tipo de examen);

}

Otro

p>

{

Printf("No hay ningún estudiante que esté buscando. \ n ");

}

}

//Pasar a crear información del candidato.

(Igual que organizaciones internacionales) Organizaciones Internacionales

ciculación_make()

{

int n = 2;

Hacer

{

Printf("¿Desea continuar creando información del candidato? En caso afirmativo, ingrese "1", si no, ingrese "0":);

scanf("%d ", & ampn);

getchar();

}

Y (n!= 0 & amp& ampn!= 1) ;

Return n;

}

//¿Quieres generar información del candidato

Vacío?

put_information (posición p)

{

int n = 2;

Hacer

{

Printf(" ¿Quiere generar la información del candidato? En caso afirmativo, ingrese "1", si no, ingrese "0":);

scanf("%d " , & ampn);

getchar ();

}

Y (n!= 0 & amp& ampn!= 1);

If (n)

{

Printf("Número de admisión: % s \ t Nombre: % s \ t Género: % s \ t Asunto: % HD \ t Asunto : %s\n ", p-& gt; data. examno,p->data.name,p->data.sex,p->data.age,p->data.tipo de examen);

}

}

//Si se genera información sobre todos los candidatos

(Igual que las organizaciones internacionales) Organizaciones internacionales

judge_put_all()

{

int n = 2;

Hacer

{

Printf("¿Desea generar la información de todos los candidatos? Ingrese "1" en caso afirmativo, ingrese "0" en caso contrario:);

scanf("%d ", & ampn);

getchar();

}

Y (n!= 0 & amp& ampn!= 1);

Devuelve n;

}

/ /Enviar toda la información del candidato

Vacío

put_all(lista L)

{

If (L-& gt ;next == NULL)

{

Printf("¡Ningún candidato se está registrando ahora! \n ");

}

Otros

{

Posición p = L-& gt; Siguiente;

And (p!=null)

{

Printf("Número de admisión: % s \ tNombre: % s \ tGénero: % s \ tAsunto: %HD\Tema :%s\n",p->datos.examno,p->datos.nombre,p->datos.sexo,p->datos.edad,p-& gt;datos .tipo de examen);

p = p-& gt;Siguiente;

}

}

// getchar();

}

//Pregunte si desea eliminar los datos del candidato.

(Igual que organizaciones internacionales) Organizaciones internacionales

Juzgar eliminar valor()

{

int n = 2;

Hacer

{

Printf("¿Quieres eliminar los datos del candidato? Sí, ingresa "1" en lugar de "0":);

scanf("%d ", & ampn);

getchar();

}

Y (n!= 0 & amp& ampn! = 1 );

Return n;

}

//Encuentra el primer elemento llamado xx y devuelve la posición de su predecesor inmediato

.

Posición

find_previous(lista L)

{

Posición q = L;

Posición p = L-& gt ; Siguiente;

Nombre del personaje [10];

Printf("Ingrese el nombre del candidato que está buscando:"); nombre );

Y (p!= NULL & amp& amp0 != strcmp(p-& gt; data.nombre, nombre))

{

q = p;

p = p-& gt;Siguiente;

}

if (p!=null)

{

Devolver q;

}

Otro

Devolver p;

}

//Eliminar la información del candidato especificado y generarla

(Igual que Organizaciones internacionales) Organizaciones internacionales

Eliminar valor (lista L)

{

int n = 2;

Posición q = vacía;

posición p = buscar _ anterior(L); //Devuelve la dirección de información del candidato

p>

if( NULL == p)

{

Printf("El candidato que desea eliminar no existe\ n ");

Devuelve 0 ;

}

Otro

{

q = p->;Siguiente;

p- >;next = q-& gt;Next;

Printf("Eliminación exitosa.\nLa información del candidato eliminado es:\n");

Printf("Número de admisión : %s\tNombre:%s\tGénero:%s\tAsunto:%HD\tAsunto:%s\n",q->data.examno,q->data.name,q ->data.sex, q ->data.age, q->data.exam type);

Gratis(q);

Devolución

}

}

//Envíe la información del cheque de esta dirección.

(Igual que organizaciones internacionales) Organizaciones internacionales

Información de ubicación del lugar (posición p)

{

Si (p!=null)

{

Printf("Número de inscripción:% s\tNombre:% s\tGénero:% s\tGénero:% HD \Asunto:%s\n\n " ,p ->data.examno,p->data.name,p->data.sex,p->data.age,p->data.exam type);

Regresar 1 ;

}

Otro

{

Printf("No hay ningún estudiante que esté buscando.

");

Devuelve 0;

}

}

//Función de menú

Vacío

p>

Menú (Lista L)

{

printf("\t\t\t?a. Admisión de candidatos\ n ");

printf("\t\t\t?b. Consultar información del candidato\ n ");

printf("\t\t\t?c. Modificar información del candidato\ n "); p>

printf("\t\t\t?d.Eliminar información del candidato\n");

printf("\t\t\t?e.Toda la información del candidato\n " );

printf("\t\t\t?f. Información del autor del programa\n ");

printf("\t\t\t ? g? Salir del programa \n ");

char n = ' h

Y (n! = 'g ')

{

Qué hacer do? //Confirma que la entrada es correcta.

Printf("Por favor seleccione la función por número de letra:");

n = getchar ();

getchar();

putchar('\n');

if (n & lta ' | | n & gtg')

{

Printf("Número de letra incorrecto.\n ");

}

}

while(n & lt; a ' | | n & gtg');

Interruptor(n)

{

Caso "a":

{

Printf("Ingrese la información de los candidatos registrados: \ n ");

Posición p = make_node( p, 1); //Crea un nuevo nodo

link_to_tail); (L, p); //Conectar el nuevo nodo a la tabla

put _ information(p);? //¿Si se genera la información del candidato?

putchar('\) n');

}

Pausa;

Caso "b":

{

put_name_information( L);

putchar('\n');

}

Romper;

Caso "c":

{

int n = 0;

Posición p = null;

Printf(" Estás modificando. \n ");

p = buscar(L);

n = put_pos_information(p);

if(n)

p>

{

make_node(p,0);

put _ information(p);? // ¿Quieres generar información del candidato?

}

putchar('\n');

}

Romper;

Caso "d":

{

Printf("Estás eliminando.

\n ");

eliminar _ val(L);

putchar(' \n ');

}

Romper ;

Caso "e":

{

put _ all(L);

putchar(' \n ');

}

Pausa;

Caso "f":

{

printf("? Fecha de modificación ¿Número de versión? ¿Modificador? Contenido modificado\n ");

printf("-\n ");

printf("?2018.6.19 v2.0? Agregado por Chen Baichuan Menú principal\n");

printf("?2018.6.23 v3.0? ¿Chen Baichuan? Agregue la función de generar archivos\n\n");

Printf( " El número de versión es v 2.0 \ n ");

putchar(' \n ');

}

Break; >Valor predeterminado:

Break;

}

}

Printf("Gracias por su uso y le deseo una vida feliz .");

getch();

}

Datos extendidos:

El lenguaje C es un lenguaje de programación informática general que ampliamente utilizado en el desarrollo de bajo nivel El objetivo de diseño del lenguaje C es proporcionar un lenguaje de programación que pueda compilar y procesar memoria de bajo nivel de una manera sencilla, generar una pequeña cantidad de código de máquina y ejecutarse sin ningún soporte de entorno operativo.

Aunque el lenguaje C proporciona muchas funciones de procesamiento de bajo nivel, aún mantiene buenas características multiplataforma. Los programas escritos en lenguaje C se pueden compilar en muchas plataformas informáticas. procesadores integrados (microcontroladores o MCU) y supercomputadoras.

En la década de 1980, para evitar diferencias en la sintaxis del lenguaje C utilizada por diferentes desarrolladores, la Oficina Nacional Estadounidense de Estándares formuló un conjunto completo de Gramática Estándar Nacional Estadounidense. para lenguaje C, llamado ANSI C, como la versión original del lenguaje C [1] Actualmente, el 8 de febrero de 2011, el estándar C11 fue publicado por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC). es el tercer estándar oficial para el lenguaje C y el último estándar para el lenguaje C. Admite nombres de funciones de caracteres chinos e identificadores de caracteres chinos, y realiza la programación de caracteres chinos hasta cierto punto.

El lenguaje C es un. Lenguaje de programación informática orientado a procesos, que es diferente de los lenguajes de programación orientados a objetos como C++ y Java.

Los principales compiladores incluyen Clang, GCC, WIN-TC, SUBLIME, MSVC, Turbo C, etc.

Materiales de referencia:

Enciclopedia Baidu-Lenguaje C