Examen en C

Pablo Scarone
07 de Noviembre del 2010
¿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;


Guille
14 de Diciembre del 2010
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