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
******** ******************* ****************************/ p>
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)
{ p>
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
}
}
}