Cita de: theluigy13etv en 25 Febrero 2017, 13:30 PM
Lo acabo de probar y sí funciona bien. Cuando elijo la opción 2 me muestra los datos de las N personas ingresadas
Probaste hasta la función 4? Proba todas vas a ver que en la 4 da error.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: theluigy13etv en 25 Febrero 2017, 13:30 PM
Lo acabo de probar y sí funciona bien. Cuando elijo la opción 2 me muestra los datos de las N personas ingresadas
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#define N 5
/*
void ingresar(struct CLIENTES[], int); //terminado
void buscar_datos(struct CLIENTES[], int); //terminado
void mostrar_datos(struct CLIENTES[], int); //terminado con error!
void ordenamiento_alfabetico(clientes); // no terminado
void ordenamiento_sexo(clientes); //no terminado
void ordenamiento_saldo(struct CLIENTES[], int); terminado
void ordenamiento_hombres_mejor_saldo(clientes); //no terminado
void ordenamiento_mujeres_mejor_saldo(clientes); //no terminado
*/
struct CLIENTES {
char nombre[30];
char apellido[30];
char sexo;
int DNI;
int telefono;
float saldo;
int n_cuenta;
char direccion[30];
};
//PROTOTIPOS///////////////////////////
void ingresar(struct CLIENTES[], int);
void buscar_datos(struct CLIENTES[], int);
void mostrar_datos(struct CLIENTES[], int);
void ordenamiento_saldo(struct CLIENTES[], int);
//////////////////////////////////////////////////
int main() {
struct CLIENTES clientes[N];
int opcion;
while (opcion != 5)
{
printf("Ingrese una Opcion : ");
printf("\n\n");
printf("Opcion 1: Ingresar los datos de los clientes :\n");
printf("\n\n");
printf("Opcion 2: Mostrar todos los datos de todos los clientes :\n");
printf("\n\n");
printf("Opcion 3: Buscar datos de clientes por nombre :\n");
printf("\n\n");
printf("Opcion 4: Mostrar los datos de los clientes ordenados por saldo de mayor a menor :");
printf("\n\n");
printf("Opcion 5 : Salir!");
printf("\n\n");
scanf("%i", &opcion);
switch (opcion) {
case 1: ingresar(clientes,N); break;
case 2: mostrar_datos(clientes,N); break;
case 3: buscar_datos(clientes,N); break;
case 4: ordenamiento_saldo(clientes,N); break;
case 5: break;
default: printf("La opcion es incorrecta :"); break;
}
}
return 0;
}
void ingresar(struct CLIENTES client[],int NUM) {
int i;
for (i = 0; i<NUM; i++) {
printf("Ingrese su nombre :");
scanf("%s", &client[i].nombre);
printf("Ingrese su Apellido :");
scanf("%s", &client[i].apellido);
printf("Ingrese su sexo : M/F : ");
scanf("%s", &client[i].sexo);
printf("Ingrese el DNI :");
scanf("%i", &client[i].DNI);
printf("Ingrese su Telefono :");
scanf("%i", &client[i].telefono);
printf("Ingrese el saldo de su cuenta : ");
scanf("%f", &client[i].saldo);
printf("Ingrese su Numero de Cuenta :");
scanf("%i", &client[i].n_cuenta);
printf("Ingrese su direccion :");
scanf("%s", &client[i].direccion);
}
}
void mostrar_datos(struct CLIENTES dats[], int NUM) {
int j;
for (j = 0; j<NUM; j++) {
printf("Nombre : %s", dats[j].nombre);
printf("\n\n");
printf("Apellido :%s ", dats[j].apellido);
printf("\n\n");
printf("Sexo : %c", dats[j].sexo);
printf("\n\n");
printf("DNI :%i", dats[j].DNI);
printf("\n\n");
printf("Numero de Cuenta : %i", dats[j].n_cuenta);
printf("\n\n");
printf("Saldo : %f",dats[j].saldo);
printf("\n\n");
printf("Direccion : %s", dats[j].direccion);
printf("\n\n");
}
}
void buscar_datos(struct CLIENTES buscar[], int NUM) {
int k;
char nombre_a_buscar[30];
printf("Ingrese el nombre a buscar : ");
scanf("%s", &nombre_a_buscar);
for (k = 0; k<NUM; k++) {
if (strcmp(buscar[k].nombre, nombre_a_buscar) == 0) {
printf("Nombre : %s", buscar[k].nombre);
printf("\n");
printf("Apellido :%s ", buscar[k].apellido);
printf("\n");
printf("Sexo : %c",buscar[k].sexo );
printf("\n");
printf("DNI :%i", buscar[k].DNI);
printf("\n");
printf("Numero de Cuenta : %i", buscar[k].n_cuenta);
printf("\n");
printf("Saldo : %f",buscar[k].saldo);
printf("\n");
printf("Direccion : %s", buscar[k].direccion);
}
}
}
void ordenamiento_saldo(struct CLIENTES ordenamiento_client[],int NUM) {
struct CLIENTES AUX;
int i,j;
for(i=0;i<NUM;i++){
for(j=0;j<NUM-i-1;j++)
if(ordenamiento_client[j].saldo > ordenamiento_client[j+1].saldo){
AUX = ordenamiento_client[j];
ordenamiento_client[j] = ordenamiento_client[j+1];
ordenamiento_client[j+1] = AUX;
}
}
printf("Los Clientes con mejores salarios son : ");
printf("\n");
for(i=5;i<0;i--){
printf("Nombre : %s",ordenamiento_client[i].nombre);
printf("\n");
printf("Saldo : %f",ordenamiento_client[i].saldo);
printf("\n");
}
getch();
}
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<ncurses.h>
#define MAX_ALUMNOS 3
#define MAX_NOTAS 3
struct alumno
{
char nombre[20];
char sexo;
int notas[MAX_NOTAS];
float promedio_final;
};
char nombre_a_buscar[20];
int main()
{
struct alumno alumnos[MAX_ALUMNOS];
int num_alumnos;
for(num_alumnos=0; num_alumnos<MAX_ALUMNOS; num_alumnos++)
{
printf("Nombre del alumno (para terminar teclee FIN): ");
scanf("%s",alumnos[num_alumnos].nombre);
if( strcmp(alumnos[num_alumnos].nombre,"FIN") == 0 )
break;
// else ....
// nota que como el if tiene un break no es necesario el else
do
{
char sexo;
printf("Sexo: M o F: ");
scanf("%s",&sexo);
alumnos[num_alumnos].sexo = toupper(sexo);
}
while(alumnos[num_alumnos].sexo != 'M' && alumnos[num_alumnos].sexo !='F');
float prom = 0.0;
int sum = 0;
for (int j=0; j<MAX_NOTAS; j++)
{
printf("Ingrese nota #%d: ",j+1);
scanf("%d",&alumnos[num_alumnos].notas[j]);
sum += alumnos[num_alumnos].notas[j];
}
prom = (float) sum / MAX_NOTAS;
printf("Promedio de este alumno: %.2f \n", prom);
}
int total = 0;
for (int i=0; i<num_alumnos; i++)
{
int suma = 0;
float promedio = 0.0;
for (int j=0; j<MAX_NOTAS; j++)
suma += alumnos[i].notas[j];
promedio = (float) suma / MAX_NOTAS;
alumnos[i].promedio_final = promedio;
if (promedio >= 4.0 && promedio < 7.0 )
total++;
}
printf("Total de alumnos con promedio >= 4 y promedio < 7 = ");
printf("%d \n", total);
do
{
printf("Ingrese un nombre para mostrar datos: ");
scanf("%s", nombre_a_buscar);
bool hay_coincidencia = false;
for(int i=0;i<MAX_ALUMNOS;i++){
if(strcmp(alumnos[i].nombre, nombre_a_buscar) == 0) {
hay_coincidencia = true;
printf("Nombre: %s \nSexo: %c \n", alumnos[i].nombre, alumnos[i].sexo);
for(int j=0;j<MAX_NOTAS;j++)
printf("Nota: #%d: %d \n", j+1, alumnos[i].notas[j]);
printf("Promedio: %.2f \n", alumnos[i].promedio_final);
}
}
if(!hay_coincidencia)
printf("El nombre ingresado no se encuentra en la lista\n");
}
while(true);
return 0;
}