Análisis e implementación de código fuente stl
2. Escriba una plantilla de función, tome el parámetro de lista constante y escriba el programa principal para probar la función según si la lista devuelve verdadero o falso hacia adelante o hacia atrás.
3. Escriba un programa principal, use un vector para almacenar N enteros ingresados por el usuario desde el teclado, ordénelos usando el algoritmo de clasificación en STL y use el método de búsqueda para encontrar un número determinado.
4. Utilice un contenedor de conjuntos para almacenar elementos enteros y escriba una función para encontrar la intersección de dos conjuntos.
5.map se utiliza para establecer la relación de mapeo entre las palabras en inglés cero, uno, dos, tres... diez a 0-10; ingrese el número uno en inglés y genere el número 1.
6. Escriba la función principal y use el mapa para contar la frecuencia de palabras de un artículo en inglés (para simplificar, suponga que los artículos se ingresan secuencialmente desde el teclado;
7. En el sistema de comercio en línea Simula un carrito de compras
Este tema utiliza Order para simular el pedido del usuario y Cart para simular el carrito de compras del usuario. La declaración específica es la siguiente:
Secuencia de clases; //Describe la secuencia
{
Pública:
Order(int gid, int gnum); //Constructor; print(); //Mostrar pedido Número de producto: cantidad
bool operator = =(int GID); // Determinar si el número de producto actual es el mismo que el parámetro gid. , devuelve verdadero, de lo contrario devuelve falso
Privado:
int item_id//número de artículo
int item_number //cantidad de artículo
};
Describe un carrito de compras que almacena pedidos de más productos
{
Público:
void add(Pedido * o ); // Agregar pedido
void print(); //Mostrar toda la información del pedido
bool del(int GID); //Eliminar el pedido con el número de producto gid, devuelve verdadero , de lo contrario devuelve false
Privado:
List<Order*>l_item; //Almacenar pedidos con más productos.
};
Por favor Implemente las funciones miembro de las dos clases anteriores y utilice el siguiente programa principal para realizar pruebas.
void main()
{
Carro c;
int n, I
int gid; , gnum
cout & lt& lt"¿Cuántos artículos desea pedir?"< & ltendl
CIN>& gtn;
//Carrito de prueba: :añadir método
cout & lt& lt"test car::añadir método-"
for(I = 0;i<n;i++)
{ p>
cout & lt& lt"Ingrese el primero"
CIN & gt;& gtgid & gt& gtgnum
c.add(new order(gid , gnum) );
}
//Carrito de prueba::método de impresión
cout & lt& lt"La información de su pedido es la siguiente"
c.print();
//Pruebe el método Cart::del
cout & lt& ltPara probar el método Cart::del, ingrese el nombre del pedido para ser eliminado Número de producto
CIN>& gtgid
c.del(GID);
cout<<"Ahora la información de su pedido es la siguiente"<& ltendl
c .print();
}
8. Simular la agrupación de clientes en el sistema de subastas online.
Clase de cliente Cliente
La clase de cliente representa el usuario registrado del sistema de subastas. Esta clase encapsula los siguientes miembros de datos privados: nombre, apellido, correo electrónico y contraseña. Encapsule las siguientes funciones miembro públicas:
(1) Constructor predeterminado: inicializa los miembros de datos con los valores predeterminados.
(2) Constructor de cuatro parámetros: inicializa miembros de datos con valores de parámetros.
(3) Copiar estructura
(4) Métodos para acceder y acceder a datos privados de miembros
(5) Función de verificación de contraseña: virtual bool verificar contraseña; (String passwd); Devuelve verdadero si el parámetro es el mismo que la contraseña de usuario del objeto; de lo contrario, devuelve falso.
(6) Sobrecargue la función del operador de entrada operador>>, que puede aceptar información del cliente en el siguiente formato:
Nombre\nApellido\nCorreo electrónico\nContraseña\ n
Clase de grupo
La clase de grupo representa una colección de usuarios. Esta clase tiene un vector miembro de datos privados
Esta clase tiene las siguientes funciones miembro:
(1) virtual void add(Client * ptr); p >②Iterador virtual comenzar(); devuelve el iterador del primer puntero de usuario.
③Iterador virtual end(); devuelve el iterador del último puntero de usuario.
(4) Cliente virtual * operador[](cadena constante y buzón de correo) devuelve la dirección del usuario cuya dirección de correo electrónico es la misma que el parámetro.
Handout-files.zip contiene los dos archivos siguientes:
Declaraciones de grupo de clases OGroup.h.
o client . h–Declaración de clase de cliente
-Solución-
¿Pregunta de examen?
-Solución-
El título y el contenido no coinciden.
Si quieres dominar esos contenedores, lee un libro, como un manual de C++.
-Solución-
Encuentra un libro de C++ para leer. Conceptos básicos
-Solución-
Biblioteca estándar C++ y análisis de código fuente STL
-Solución-
"C++ Primer"