C/Visual C - PROYECTO FINAL!!!!!!!!!EXEL

 
Vista:

PROYECTO FINAL!!!!!!!!!EXEL

Publicado por EMILIANO DAMIANO (7 intervenciones) el 22/08/2007 23:17:02
AGRADEZCO SINCERAMENTE LA PREOCUPACION DE TODOS POR HABER CONTESTADO:
AHORA` PASO A LO QUE IMPORTA: ES VERDAD TRI DIMENSIONAL , NO ERA LA IDEA
ASI QUE YA LA CAMBIE .

AHORA LES MANDO EL EL PROYECTO COMPLETO ....... HABER QUE LES PARECE OK?
ME FALTA MUCHO PERO HABER QUE ONDA!!!!!!!!!!!
LA IDEA ES AHORA.... EN LO PRONTO UNA FUNCION CELDA QUE QUE LE PERMITA INGRESAR AL USUARIO EL NUMERO DE FILA Y COLUMNA EN DONDE QUIERE INGRESAR EL VALOR Y A CONTINUACION EL VALOR. COMO SE HARIA ESO????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROYECTO FINAL!!!!!!!!!EXEL

Publicado por EMILIANO DAMIANO (7 intervenciones) el 22/08/2007 23:29:13
#include <stdio.h>
#include <conio.h>

#define n_f 100
#define n_c 100

//void inicializar (int n);
void suma ();
void captura () ;
void mostrar ();
//void celda();
//void guardar();
void ordenar_f ();
void ordenar_c ();
void menor ();
void mayor ();
void promedio ();

int matriz[n_f][n_c],nf,nc;

int main ()
{

char opc,opco,opcm,opci,opcion;
do
{

printf ("\n\n\n");
printf (" ********************************************\n");
printf (" ********* PLANILLA EXEL / MS -DOS **********\n");
printf (" ********************************************\n\n");
printf ("\n\n 1- CREAR PLANILLA EXEL ");
printf ("\n\n 2- EDITAR CELDA ");
printf ("\n\n 3- VISUALIZAR DESDE / HASTA");
printf ("\n\n 4- ORDENAR VALORES ");
printf ("\n\n 5- SUMA DE VALORES");
printf ("\n\n 6- PROMEDIO");
printf ("\n\n 7- MÁXIMO / MÍNIMO ");
printf ("\n\n 8- BORRAR PLANILLA");
printf ("\n\n 9- MODIFICAR EL AUTOR ");
printf( "\n\n 10- GURDAR");
printf( "\n\n 11- SALIR DELN SISTEMA\n\n");
printf( "\n\nopcion elegida :");
scanf ("%c", &opc);
switch(opc)
{
case '1':
do{
printf(" \n\n//////CREAR PLANILLA//////\n\n ");
printf(" \n\n1- CAPTURAR PLANILLA\n\n");
printf(" \n\n2- MODIFICAR \n\n");
printf(" \n\n3- ELIMINAR PLANILLA\n\n");
printf(" \n\n4- VOLVER \n\n");
printf ("\n\n opcion elegida");
scanf("%c" ,&opco);

switch(opco)
{
case '1':
printf ("\n 1º- Numero de Filas: ");
scanf("%d",&nf);
printf ("\n 2º- Numero de Columnas: ");
scanf("%d",&nc);
printf("\n");
captura();
break;
case'2':
printf ("\n\n Modificar\n\n");
break;
case'3':
printf ("\n\n Eliminar\n\n");
break;
case'4':
printf ("\n\n Volver \n\n");
break;
}
}
while (opco!='4');
break;

case '2':
do {
printf ("\n\n\EDITAR CELDA\n\n");
printf(" 1- ingrese numero de fila en que desea ingresar valor\n");
printf(" 2- ingrese numero de columna en que desea ingresar valor\n");
printf(" 3- ingrese valor\n");
printf(" 4- volver");
scanf ("%c", &opcion);
switch(opcion)
{
case '1':
printf(" 1- ingrese numero de fila en que desea ingresar valor\n");
//celda();
break;
case '2':
printf(" 2- ingrese numero de columna en que desea ingresar valor\n");
break;
case '3':
printf(" 3- ingrese valor\n");
break;
}
}
while(opcion!='4');
break;
case '3':
printf(" \n\nSu planilla creada es :\n\n");
mostrar();
getch();
break;
case '4':do
{
printf ("\n\n\//////ORDENAR//////\n\n\n");
printf ("\n1- ORDENAR FILAS \n");
printf ("\n2- ORDENAR COLUMNAS\n\n");
printf ("\n3- VOLVER ");
scanf ("%c", &opcm);
switch(opcm)
{
case '1':
printf ("\n\tORDENADO POR FILAS\n\n");
printf ("\n\n\n");
ordenar_f();
getch();
break;
case '2' :
printf (" \n\tORDENADO POR COLUMNAS\n\n");
printf ("\n\n\n");
ordenar_c();
getch();
break;
case '3' :
printf ("\n\n VOLVER \n\n");
break;

}
}
while(opcm!='3');
break;
case '6' :
printf("\n\nOPERACION PROMEDIO\n");
printf ("\n\ RESULTADO : ");
promedio();
getch();
break;
case '5':
printf ("\n\n OPERACION SUMA\n");
printf("\n\tRESULTADO : ");
suma ();
getch();
break;
case '7':
printf ("\n\n\MINIMO / MAXIMO\n\n\n");
menor();
mayor();
getch();
break;
case '8':
printf("\n\n BORRAR PLANILLA\n\n");
break;
case '9':
printf ("\n\nMODIFICAR EL AUTOR \n\n");
break;
/*case '10':
printf("\n\ntGURDAR\n\n");
case '11':
printf("\n\ntSALIR DELN SISTEMA\n\n");
break;*/
}
}
while(opc!='9');
}

void captura()
{
int i,j,k;
printf ("\n\tPLANILLA EXEL :\n ");
printf ("\n");
for (i=0;i<nf;i++)
for (j=0;j<nc;j++)
{
//matriz[i][j]=0;
printf ("\tElemento [%d][%d]: ",i,j);
scanf ("%d",&matriz[i][j]);
}

printf("\n\n");
printf ("%d",matriz[i][j]);


}

void mostrar ()
{
int i,j;
printf ("\tPLANILLA:\n");
printf ("\n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4d\t", matriz[i][j]);
printf ("\n");
}
}


void ordenar_f()
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j]=matriz[i][j];
}
for (j=0;j<nf;j++)
{
for (i=0;i<nc-1;i++)
{
for (k=i+1;k<nc;k++)
{
if (matriz[j][i] > matriz[j][k])
{
aux = matriz[j][i];
matriz[j][i] = matriz[j][k];
matriz[j][k] = aux;
}
}
}
}
printf ("\n\tOrdenado por filas\n\n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4d\t", matriz[i][j]);
printf ("\n");
}
printf ("\n");
}

void ordenar_c()
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j]=matriz[i][j];
}
for (j=0;j<nc;j++)
{
for (i=0;i<nf-1;i++)
{
for (k=i+1;k<nf;k++)
{
if (matriz[i][j] > matriz[k][j])
{
aux = matriz[i][j];
matriz[i][j] = matriz[k][j];
matriz[k][j]= aux;
}
}
}
}
printf ("\n\tOrdenado por culumnas\n\n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4d\t", matriz[i][j]);
printf ("\n");
}
printf ("\n");
}

void menor()
{
int i,j,auxm=1,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxm > matriz[i][j])
{
auxm=matriz[i][j];
posf=i;
posc=j;
}
}
}
printf ("\n\n\tEl numero menor es: %d posicion [%d][%d] ",auxm,posf+1,posc+1);
}

void mayor()
{
int i,j,auxM=0,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxM < matriz[i][j])
{
auxM=matriz[i][j];
posf=i;
posc=j;
}
}
}
printf ("\n\n\tEl numero mayor es: %d posicion [%d][%d] ",auxM,posf+1,posc+1);
}

void promedio()
{
int i,j;
float acu=0,p;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
acu+=matriz[i][j];
}
}
p = acu/(nf*nc);
printf ("\n\n\tEl promedio la matriz es: %4.2f",p);
}

void suma()
{
int i,j;
float contador=0,resultado;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
contador+=matriz[i][j];
}
}
resultado = contador=+contador;
printf ("\n\n\tla suma es : %.1f",resultado);
}
/*void inicializar (int n)
{
int i,j;
float contador=0,resultado;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
n = 0;
}
}
resultado = contador=+contador;
}
*/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

a ver que tal

Publicado por Nelek (816 intervenciones) el 23/08/2007 07:09:25
En primer lugar... si escribes en minusculas se entiende igualmente. Y si intentas escribir correctamente (que conste que los acentos me dan igual) se te entendera mejor.

Respecto a tu funcion...

int nFila = 0, nColumna = 0;
float nContenido = 0.0;
printf ("Donde quieres incluir el numero?\n");
REPITEFILA:
printf ("Fila: \n");
scanf ("%d", nFila);
if (nFila <= 0)
{
printf ("Entrada no valida, por favor escriba un numero positivo");
goto REPITEFILA;
}
REPITECOLUMNA:
printf ("Columna : \n");
scanf ("%d", nColumna );
if (nColumna <= 0)
{
printf ("Entrada no valida, por favor escriba un numero positivo");
goto REPITECOLUMNA;
}

printf ("Introduce el contenido de la celda");
scanf ("%f", nContenido);

Matriz [i][j] = nContenido;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:a ver que tal

Publicado por Diego (1 intervención) el 23/08/2007 14:47:36
Buenas.

Tu funcion podria ser algo asi (suponiendo tabla estatica de N x M)

#define N <numero_filas>
#define M <numero_columnas>

int funcion(void)
{
unsigned int fila, columna;
int dato;
char opcion;

do{
printf("Escribe la posicion de la celda (fila y columna) y el valor: ");
scanf("%d %d %d",&fila, &columna, &dato);

if( fila < 0 || columna < 9 || fila < N || columna < M )
return EXIT_FAILURE;

matriz[fila][columna] = dato;

printf("Agregar otro valor? (S/N) ");
if(tolower(getchar()) == 'n')
return EXIT_SUCCESS;

}while(opcion);

return EXIT_FAILURE;
}

PD: Es una mala practica usar goto

Salu2, Diego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar