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 conectorSalida de muestra
86 -1Patrocinador
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;
}