Se dispone de una lista de N nombres de alumnos. Escribir un algoritmo que solicite el nombre de un alumno y busque en la lista (array) si el nombre está en la lista. C++
C++
Respuestas a la pregunta
A continuación código en C++ que muestra dice si un nombre es encontrado en una lista (arreglo). Se adjunta imagen de la salida del algoritmo.
Programa en C++ para la búsqueda de datos en un arreglo
#include<iostream>
#include<cctype>
using namespace std;
int main() {
- // Definir e inicializar variables
string minusculas(string s);
string continuar;
int encontrado;
int k;
string nombre;
int respuesta;
int x;
k = 0;
encontrado = 0;
- // definir arreglo
// fila: tope cantidad máxima de estudiantes
// columna: nombre de los estudiantes
string alumnos[1500][1];
- // Seleccionar acción en en menú
do {
cout << "Ingrese Opción (1-3)" << endl;
cout << "*************************" << endl;
cout << "1.- Ingrese datos de estudiantes" << endl;
cout << "2.- Buscar nombre " << endl;
cout << "3.- Salir" << endl;
do {
cin >> respuesta;
} while (!(respuesta!=1 || respuesta!=2 || respuesta!=3));
switch (respuesta) {
case 1:
- // Ingresar registro de alumnos
cout << "**** Registro de alumnos ****" << endl;
cout << "*************************" << endl;
do {
k = k+1;
cout << "Nombre del estudiante " << k << " : ";
cin >> alumnos[k-1][0];
alumnos[k-1][0] = minusculas(alumnos[k-1][0]);
do {
cout << "Continuar con otro registro?: (s/n)" << endl;
cin >> continuar;
continuar = minusculas(continuar);
} while (!((continuar=="s" || continuar=="n")));
} while (continuar!="n");
break;
case 2:
- // buscar nombre
encontrado = 0;
cout << "Ingrese nombre a buscar: ";
cin >> nombre;
nombre = minusculas(nombre);
for (x=1;x<=k;x++) {
if (nombre==alumnos[x-1][0]) {
encontrado = encontrado+1;
}
}
- // Mostrar resultados
if (encontrado!=0) {
cout << nombre << " fue encontrado en la lista " << encontrado << " veces" << endl;
} else {
cout << nombre << " no se encontró en la lista " << endl;
}
break;
}
} while (respuesta!=3);
return 0;
}
string minusculas(string s) {
for(unsigned int i=0;i<s.size();i++)
s[i] = tolower(s[i]);
return s;
}
Para saber más acerca de algoritmo pseint para manejo de arrays consulte: https://brainly.lat/tarea/13739325
#SPJ1
Respuesta:
int main()
{
char nombres[6][10] = {"maria","teresa","mariana","jose","pedro","juan"};
char alum[10];
int cont=0;
printf("Ingrese el nombre del alumno: \n");
scanf("%s", alum);
int i;
for(i=0; i<6; i++){
if (strcmp(nombres[i],alum)==0){
printf("El alumno %s esta registrado\n", nombres[i]);
}else{
cont++;
}
}
if (cont==6){
printf("%s no esta registrado",alum);
}
getch();
return 0;
}
Explicación:
Espero haberte ayudado