Sistema de búsqueda de puntajes de estudiantes (uso de mapas)

 Sistema de búsqueda de puntajes de estudiantes (uso de mapas)

El sistema de búsqueda de logros de los estudiantes es un sistema para buscar los logros de los estudiantes por nombre. El sistema puede ingresar el nombre del estudiante y las calificaciones. Después de la inscripción, puede ingresar los criterios de búsqueda, es decir, el nombre del estudiante para encontrar las calificaciones del estudiante. Si existe la información del estudiante, se emitirán las calificaciones del estudiante, de lo contrario dado si no existe tal persona. Información inmediata.

Entrada: la entrada de preguntas incluye la entrada de información del estudiante, las condiciones de búsqueda de entrada y la marca de finalización de entrada. La declaración de inserción significa ingresar la información del estudiante en el formato de caracteres insertar + espacio + cadena + espacio + número + nueva línea, por ejemplo, insertar xiaohua 99, significa ingresar un estudiante cuyo nombre es xiaohua, y la calificación es 99. La declaración de búsqueda significa buscar información sobre un estudiante determinado, y el formato es búsqueda de caracteres + espacio + cadena + carácter de nueva línea. Por ejemplo, busque xiaohua. La declaración final indica el final de la entrada y el formato es el final del carácter.

Salida: debe haber una declaración de salida correspondiente a cada declaración de búsqueda. Para la oración de entrada de find xiaohua, debido a que se insertó la puntuación de xiaohua, debe generar 99 + carácter de nueva línea; de lo contrario, no se puede encontrar la salida -1 + carácter de nueva línea.

Entrada de muestra

insertar zhangsan 90 
insertar lisi 78 
insertar xiaoming 86 
buscar xiaoming 
buscar 
extremo de conector

Salida de muestra

86 
-1

Patrocinador

 Ideas:

Usar mapa

 Código de implementación:

#include<stdio.h>
#include<string.h>
#include<map>
#include<iostream>
using namespace std;
map<string,int>x;
int main()
{
	int i,j,k,n;
	char s[110],q[110];
	char a[100]="insert";
	char b[100]="find";
	char c[100]="end";
	while(scanf("%s",s))
	{
		
		if(strcmp(s,c)==0)
	    return 0;
	    if(strcmp(s,a)==0)
	    {
		    scanf("%s%d",q,&n);
	       	x[q]=n;
	    }
	    if(strcmp(s,b)==0)
	    {
		    scanf("%s",q);
	       	if(x[q]!=0)
		    printf("%d\n",x[q]);
	      	else
	      	printf("-1\n");
	    }
	}
	
	return 0;
}

 

Supongo que te gusta

Origin blog.csdn.net/with_wine/article/details/114296914
Recomendado
Clasificación