PROBLEMA1:
No has creado los clientes. Te recomiendo utilizar estructuras para tener los datos organizados y crear clientes de forma sencilla.
Una vez tienes la structura, puedes crear clientes de forma sencilla.
Ahora te faltaría rellenar los datos. Puedes hacerlo directamente en main usando el operador .
Si lo hicieses así y por ejemplo tuvieses 20 clientes y dentro de cada uno 50 propiedades tendrías en el main 1000 lineas de código asignando propiedades, por eso aunque no sea este el caso, es buena práctica crear una funcion a la que le pases los datos y se los asigne a los clientes.
Ahora que tienes un ejemplo de como acceder dentro de una función a las propiedades de la estructura (cliente->propiedad) y un ejemplo de como acceder desde el main (cliente.propiedad) haz lo que te pide el ejercicio.
Tienes que pasar el cliente por parámetro a las funciones, imprimir su nombre, preguntarle cuanto quiere gasta y añadírselo a la propiedad totalGastado del cliente.
También te pide en el apartado d, que una función acepte un array de clientes. Puedes crear un array de structuras sin problemas:
Es sencillo, trata de familiarizarte con los ejemplos que te puse y rescribe el programa siguiendo lo aquí expuesto y lo que te piden EXACTAMENTE los apartados.
PROBLEMA2
Aquí te explican que es un primo circular:
https://pt.m.wikipedia.org/wiki/Primo_circular
Yo lo implementaría casteando de int a string y una vez tengo un string hago shift del primer caracter y hago push de ese caracter al final y lo casteo a int para poder comprobar si es primo. Repites este proceso una vez por cada dígito que tenga (los sacas con .length() o .size() sobre el tamaño del string)
Si te pongo código, ya te lo doy echo, no te puedo ayudar mas sin darte la solución.
Consejo: Haz una función que retorne false si en algún momento compruebas que no es primo circular. Si acabas el bucle sin haber retornado false, significa que el primo circular asique retornas true al final de la función.
No has creado los clientes. Te recomiendo utilizar estructuras para tener los datos organizados y crear clientes de forma sencilla.
Código (cpp) [Seleccionar]
struct Cliente {
std::string nombre = "";
std::string telefono = "";
unsigned int totalGastado = 0;
};
Una vez tienes la structura, puedes crear clientes de forma sencilla.
Código (cpp) [Seleccionar]
int main() {
Cliente cliente1; // ejemplo de como crear un cliente
}
Ahora te faltaría rellenar los datos. Puedes hacerlo directamente en main usando el operador .
Código (cpp) [Seleccionar]
int main() {
Cliente cliente1; // ejemplo de como crear un cliente
cliente1.nombre = "Manolo";
cliente1.telefono = "555-555-555";
}
Si lo hicieses así y por ejemplo tuvieses 20 clientes y dentro de cada uno 50 propiedades tendrías en el main 1000 lineas de código asignando propiedades, por eso aunque no sea este el caso, es buena práctica crear una funcion a la que le pases los datos y se los asigne a los clientes.
Código (cpp) [Seleccionar]
void crearCliente (Cliente * clienteActual, string nombre, string telefono, int gastado ) {
clienteActual->nombre = nombre;
clienteActual->telefono = telefono;
clienteActual->totalGastado = gastado;
}
int main() {
Cliente cliente1;
crearCliente(&cliente1, "Manolo", "555-555-555", 0);
cout << "Hola " << cliente1.nombre;
return 0;
}
Ahora que tienes un ejemplo de como acceder dentro de una función a las propiedades de la estructura (cliente->propiedad) y un ejemplo de como acceder desde el main (cliente.propiedad) haz lo que te pide el ejercicio.
Tienes que pasar el cliente por parámetro a las funciones, imprimir su nombre, preguntarle cuanto quiere gasta y añadírselo a la propiedad totalGastado del cliente.
También te pide en el apartado d, que una función acepte un array de clientes. Puedes crear un array de structuras sin problemas:
Código (cpp) [Seleccionar]
int main() {
Cliente clientes[5];
// aquí el equivalente al antiguo cliente1 sería clientes[0], cliente2 sería clientes[1], etc.
crearCliente(&clientes[0], "Manolo", "555-555-555", 0);
cout << "Hola " << clientes[0].nombre;
return 0;
}
Es sencillo, trata de familiarizarte con los ejemplos que te puse y rescribe el programa siguiendo lo aquí expuesto y lo que te piden EXACTAMENTE los apartados.
PROBLEMA2
Aquí te explican que es un primo circular:
https://pt.m.wikipedia.org/wiki/Primo_circular
Yo lo implementaría casteando de int a string y una vez tengo un string hago shift del primer caracter y hago push de ese caracter al final y lo casteo a int para poder comprobar si es primo. Repites este proceso una vez por cada dígito que tenga (los sacas con .length() o .size() sobre el tamaño del string)
Si te pongo código, ya te lo doy echo, no te puedo ayudar mas sin darte la solución.
Consejo: Haz una función que retorne false si en algún momento compruebas que no es primo circular. Si acabas el bucle sin haber retornado false, significa que el primo circular asique retornas true al final de la función.