lunes, 6 de octubre de 2008

Programando en C. Parte III

Estoy saliendo de un control en la U. de C. Aqui deje el ejercicio. si bien no segui los consejos que me ha dicho Daniel por el poco tiempo, de hecho faltan bastantes validaciones y esas cosas.

me imagino que la idea de estos control es evaluar la logica, mas que validaciones.


typedef struct product {
int codigo;
char nombre[50];
char laboratorio[50];
int cantidad;
int precio;
}producto;
void lb();
void ingresar();
void mayor();
float promedio (producto prod[]);
producto productos[400];
int cont = 0,sw=0;

int main(){
char op;
do{
system("cls");
lb();
printf ("\n1.- Ingreso(A)");
printf ("\n2.- Mayor(B)");
printf ("\n3.- Promedio(C)");
printf ("\n0.- Salir");
op = getch();
if (op=='1')ingresar();
if (op=='2')mayor();
if (op=='3'){
float prom = promedio(productos);
printf("\n\n el promedio de todos los productos es \"%f\"",prom);
getch();
}
}while (op!='0');
}

void ingresar(){
if (sw==0){
producto p = {0,"nombre1","laboratorio1",20,1000};
productos[cont] = p;
cont++;
producto p2 = {1,"nombre2","laboratorio1",30,2000};
productos[cont] = p2;
cont++;
producto p3 = {2,"nombre3","laboratorio1",400,3000};
productos[cont] = p3;
cont++;
producto p4 = {3,"nombre4","laboratorio1",50,4000};
productos[cont] = p4;
cont++;
producto p5 = {4,"nombre5","laboratorio1",60,5000};
productos[cont] = p5;
cont++;
printf("\n\nLos Datos Fueron Guardados Satisfactoriamente.");
}else{
printf("\n\nNo se pueden cargar los datos, ya existian datos...");
}
getche();
sw=1;
}

void mayor(){
int i,cantMayor = productos[0].cantidad,indice=-1;
for (i=1;i < cont;i++){
if (cantMayor < productos[i].cantidad){
indice = i;
cantMayor = productos[i].cantidad;
}
}
printf("\n\n El producto que mas se retite es \"%s\" con una cantidad de \"%d\"",productos[indice].nombre,productos[indice].cantidad);
getche();
}
float promedio (producto prod[]){
int i,suma=0;
for (i=0;i < cont;i++){
suma += prod[i].precio;
}
return suma/cont;
}

void lb(){
fflush(stdin);
fflush(stdout);
}


--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

3 comentarios:

  1. Amigo victor, muchas gracias...

    pero por eres tan raro....jajajaja.

    acuerdate que el jueves hay clase....

    ResponderEliminar
  2. necesito que me ayuden a resolver estos ejercicios :1.- hacer un programa en c++ que permita ingresar el nombre de 3 materias cursadas, tantos niños desee es usuario (máximo 30) y cada niño debe tener la siguiente información asociada: nombre. notas 1, 2, 3 (las cuales deben ser guardadas en un registro para mayor organizacion), mostrar por pantalla toda la información guardada una vez se haya termminado de vaciar nota: llenado de información y mostrado se debe hacer en partes separadas, e identificadas.

    nombre
    materia1 (nombre)
    materia2 (nombre)
    materia 3 (nombre)
    fulano1...
    nota
    nota
    nota
    ...fulano n
    nota
    nota
    nota

    2.- hacer un programa en c++ que permita ingresar una matriz de 3x5 (3 columnas y 5 filas) lo cual debe esta ordenado en un registro de variables enteras, el programa debe realizar el llenado de la matriz, calcular promedios horizontales para cada fila, y promedio verticales para cada columna y promedio general, los promedios y las notas deben ser guardados en una nueva matriz 4x6 la cual debe ser mostrada por pantalla.

    valor11
    valor21
    valor31
    promedio41
    valor15
    valor25
    valor35
    promedio45
    promedio16
    promedio26
    promedio36
    promedio general

    3.- hacer un programa en c++ que permita ingresar una matriz de 4x6 (4 columnas y 6 filas) lo cual debe esta ordenado en un registro de variables enteras, el programa debe realizar el llenado de la matriz, buscar el mayor y el menor general, el mayor y el menor por fila, de la columna 1 cuantas notas fueron menores de 10 y de la columna 3 cuantas fuero mayores o iguales a 10 y presentar los resultados como un resumen:

    nota mayor:
    nota menor:
    mayor fila 1
    mayor fila 2
    mayor fila 3
    menores de 10 en la columna 1:
    mayores o iguales a 10 columna 3:

    4.- realizar una calculadora que permita realizar operaciones de manera continua, que lea directamente el signo que ingrese el usuario, debe usar las operaciones basicas: +(suma) -(resta) *(multiplicación) /(división “colocar su respectiva division por 0”) operaciones especiales: ^(potencia “potencias a la n”) _(raiz “se permiten las raíces de números negativos y se debe mostrar resultados complejos”) se puede usar la libreria math.h después de cada operación la calculadora debe presentar el resultado (y tenerlo en memoria para otra operacion) se debe indicar que para finalizar debe presionar “s” o “f” en el momento de ingresar el signo

    ResponderEliminar
  3. para esto pueden enviar un correo y ver http://www.f1code.cl

    ellos se especializan en esto, a ellos le envian un problema y los resuelven y dan la explicación, Suerte :D

    ResponderEliminar