Red de conocimiento informático - Computadora portátil - Tarea de diseño de curso de lenguaje C

Tarea de diseño de curso de lenguaje C

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

* Nombre: Sistema de Gestión del Desempeño Estudiantil 1.0 *

* Crear Fecha: 2007-4-3 *

* Última modificación: 2007-4-18 *

* Copyright: Equipo del curso de la Sección C de Enseñanza e Investigación de Neusoft SE*

* Número de versión: 1.0 *

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

#include "stdio.h"

#include lt;stdlib.hgt;

#include lt;conio.hgt;

#include lt;string.hgt;

#define N 20 //La longitud de la matriz

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

Función: Mostrar menú

Parámetros: Ninguno

Valor de retorno: Ninguno

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

void displayMenu()

{

printf ("\n \n");

printf(" Sistema de gestión de puntuación de estudiantes\n");

printf("

); printf(" 1. Entrada\n") ;

printf(" 2. Salida\n"

printf(" 3. Consulta\n"); >

printf(" 4. Ordenar \n");

printf(" 5

.End\n");

printf(" \n");

printf(" \n");

}

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

Función: función de inicio de sesión, verificación de contraseña

Parámetro:

Parámetro 1: n

Tipo :char []

Descripción: El usuario ingresa la contraseña

Valor de retorno: 1 o 0

Tipo: int

Descripción: 1 significa que pasó la verificación; 0 significa que falló

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

int login(char contraseña[])

{

clave de carácter estático[10]="123";

if(strcmp(contraseña, clave)==0)

devuelve 1;

else

p>

devuelve 0;

}

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

Función : Ingrese las puntuaciones de los estudiantes en la matriz

Parámetros:

Parámetro 1: puntuación[]

Tipo: int []

Descripción: Matriz de puntuación del estudiante

Parámetro 2: longitud

Tipo: int

Descripción: La longitud de la matriz de puntuación del estudiante que se ingresará

Valor de retorno: i

Tipo: int

Descripción: el número de valores válidos en la matriz de puntuación real

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

int inputScore(int puntuación[], int longitud)

{

int i=0

int tmp;

printf("Ingrese la puntuación del estudiante (termine la entrada con -1): \n");

do{

printf("El estudiante d: ", i 1);

scanf("d", amp; tmp);

if(tmpgt;=0amp;amp;tmplt;=100)

{

puntuación[i]=tmp;

i

}

} while(tmp!=-1 amp; amp; ilt; longitud);

devolver i

}

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

****************

Función: Muestra las puntuaciones de los estudiantes en la matriz

Parámetros:

Parámetro 1 : puntuación[ ]

Tipo: int []

Descripción: matriz de puntuación del estudiante

Parámetro 2: longitud

Tipo: int

Descripción: La longitud de la matriz de puntuación que se generará

Valor de retorno: Ninguno

Tipo: void

Descripción:

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

void resultScore(int puntuación[], int longitud)

{

int i=0;

printf("Las puntuaciones de los estudiantes son las siguientes:\n");

for(i=0;ilt;length;i)

printf("d -3d\n",i 1 , puntuación[i]);

printf("\n");

}

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

Función: Encuentra si la puntuación de un estudiante está en la matriz. Si se encuentra, genera el subíndice.

De lo contrario, se mostrará no encontrado.

Parámetro:

Parámetro 1: puntuación[]

Tipo: int []

Descripción: matriz de puntuación del estudiante

Parámetro 2: longitud

Tipo: int

Descripción: La longitud de la matriz de puntuación del estudiante que se ingresará

Parámetro 2: xScore

Tipo: int

Descripción: la puntuación del estudiante que se encontrará

Valor de retorno: Ninguno

Tipo: void

Descripción:

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

void queryScore(int puntuación[], int longitud, int xScore)

{

int i =0;

for(i=0; ilt; longitud; i )

{

if(xScore==puntuación [i])

{

printf("Su subíndice en la matriz es: d\n", i

break

);

}

}

if(igt;=longitud)

printf("¡No encontrado!\n"); > }

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

Función: Ordena las puntuaciones de los estudiantes de mayor a menor.

Parámetros:

Parámetro 1: puntuación[]

Tipo: int []

Descripción: matriz de puntuación del estudiante

Parámetro 2: longitud

Tipo: int

Descripción: la longitud de la matriz de puntuación del estudiante que se ingresará

Valor de retorno: Ninguno

Tipo: void

Descripción:

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

void sortScore(int puntuación[], int longitud)

{

int i=0, j=0, k=0, t;

printf("Los resultados se ordenan de la siguiente manera:\n") ;

for(i=0;ilt;length-1;i)

{

k=i;

for( j=i 1;jlt; longitud; j )

if(puntuación[j]gt; puntuación[k])

k=j;

t =puntuación[i];

puntuación[i]=puntuación[k];

puntuación[k]=t

}

for(i=0 ; ilt; longitud; i )

printf("4d", puntuación[i]);

printf("\n"); p>

}

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

Función: Función principal

Parámetros: Ninguno

Valor de retorno: Ninguno

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

main()

{

int elección = 0; *Representa el número de operación seleccionado por el usuario*/

int s=0, datalen=0, x

int score[N]={-1}; Los elementos de la matriz inicializada son -1*/

char contraseña[10];/*Contraseña ingresada por el usuario*/

/*====Verifique la contraseña del usuario hasta es correcto====*/

do {

printf("Ingrese la contraseña: ");

s=iniciar sesión(contraseña);

p>

}mientras(s==0);

/*==== Realice las operaciones correspondientes según la selección del usuario.====*/

while(1)

{

displayMenu();

printf("\n Seleccione su operación (1, 2, 3, 4, 5):\n");

scanf("d",amp;choice);

//system("cls");

cambiar( choi

ce)

{

caso 1:

datalen=inputScore(score, N

descanso

<); p> caso 2:

resultadoScore(puntuación, datoslen);

descanso

caso 3:

printf("\n Ingrese la puntuación que desea encontrar: ");

scanf("d", amp; x);

queryScore(score, datalen, x);

ruptura;

caso 4:

sortScore(score, datalen);

ruptura

caso 5:

p>

salir(0);

romper

}

}

}