Examen en C
¿Como harían el examen siguiente en C?
A)Dado el siguiente tipo de dato: realice un programa que resuelva los siguientes requerimientos a través de funciones:
1-Inicializar clientes
2-Devolver el nombre del cliente con máximo ahorro
3-Verificar si existe algún cliente llamado “ana”
4-Sumar todos los ahorros de todos los efectivos
5-Mostrar el nombre del primer cliente
Escribir el main, el menú y las funciones correspondientes.
typedef struct{
float sueldo;
string nombre;
float gastos;
bool efectivo;
}Cliente;
typedef struct{
int tope;
Cliente cli[100];
}Clientes;
A)Dado el siguiente tipo de dato: realice un programa que resuelva los siguientes requerimientos a través de funciones:
1-Inicializar clientes
2-Devolver el nombre del cliente con máximo ahorro
3-Verificar si existe algún cliente llamado “ana”
4-Sumar todos los ahorros de todos los efectivos
5-Mostrar el nombre del primer cliente
Escribir el main, el menú y las funciones correspondientes.
typedef struct{
float sueldo;
string nombre;
float gastos;
bool efectivo;
}Cliente;
typedef struct{
int tope;
Cliente cli[100];
}Clientes;
Supongo que la variable Clientes, al ser la única instancia de un struct anónimo estará definida en el espacio de nombres globales.
1- Inicilizar clientes
[code type="C"]
int InicilizaCliente(float s, string n, float g, bool e){
if( Clientes.tope == 100 ){
printf("Vector de registros llenon");
return 1;
}
Clientes.cli[tope].sueldo = s;
Clientes.cli[tope].nombre = n;
Clientes.cli[tope].gastos = g;
Clientes.cli[tope].efectivo = e;
tope++;
return 0;
}
[code type="C"]
2- Devolver el nombre del cliente con máximo ahorro
NOTA: Supongo la variable 'sueldo' la que contiene el "ahorro"
[code type="C"]
string ClienteMaxAhorro(){
if( !Clientes.tope ){
printf("Vector de registros vacíon");
return NULL;
}
float max = Clientes.cli[0].sueldo;
int indice=0;
for(int i=0 ; i max ){
max = Clientes.cli[i].sueldo;
indice = i;
}
}
return Clientes.cli[indice].nombre;
}
[code type="C"]
3- Verificar si existe algún cliente llamado "ana"
NOTA: Realizaremos una función genérica para buscar nombres
[code type="C"]
int existeCliente(string nombre){
if( !Clientes.tope ){
printf("Vector de registros vacíon");
return 2;
}
for( int i=0 ; i
1- Inicilizar clientes
[code type="C"]
int InicilizaCliente(float s, string n, float g, bool e){
if( Clientes.tope == 100 ){
printf("Vector de registros llenon");
return 1;
}
Clientes.cli[tope].sueldo = s;
Clientes.cli[tope].nombre = n;
Clientes.cli[tope].gastos = g;
Clientes.cli[tope].efectivo = e;
tope++;
return 0;
}
[code type="C"]
2- Devolver el nombre del cliente con máximo ahorro
NOTA: Supongo la variable 'sueldo' la que contiene el "ahorro"
[code type="C"]
string ClienteMaxAhorro(){
if( !Clientes.tope ){
printf("Vector de registros vacíon");
return NULL;
}
float max = Clientes.cli[0].sueldo;
int indice=0;
for(int i=0 ; i max ){
max = Clientes.cli[i].sueldo;
indice = i;
}
}
return Clientes.cli[indice].nombre;
}
[code type="C"]
3- Verificar si existe algún cliente llamado "ana"
NOTA: Realizaremos una función genérica para buscar nombres
[code type="C"]
int existeCliente(string nombre){
if( !Clientes.tope ){
printf("Vector de registros vacíon");
return 2;
}
for( int i=0 ; i