Dev - C++ - Menu en funcion.

   
Vista:

Menu en funcion.

Publicado por Christian (1 intervención) el 09/03/2009 05:49:29
Saludos,

Estoy intentando hacer un menu con funciones y he tenido muchos problemas, solo pido si alguien tiene un menu con funciones sencillo que pueda subir los codigo fuente para yo tomarlo aunque sea de referencia.

Se lo agradeceria por favor.

Gracias.
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

Un sencillo editor de texto

Publicado por eduardo (26 intervenciones) el 15/03/2009 19:51:12
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>

#define LIN 100 /* lineas de texto */
#define LONG 255 /* caracteres por linea */

#define MAX 4

/* prototipos */
char menu( void );
int readText( char s[][LONG + 1] );
void printText( const char s[][LONG + 1], const int t );
void printLine( const char s[][LONG + 1], const int t );

/* la función main() comienza la ejecución del programa */
int main()
{
char texto[LIN][LONG + 1] = { "" }; /* iniciar todas las cadenas a nulo */
int t;
char opcion;

/* ciclo de control del programa */
while ( (opcion = menu()) != 'S' ) {
switch( opcion ) {
case 'N':
t = readText( texto );
break;
case 'M':
printText( texto, t );
break;
case 'F':
printLine( texto, t );
break;
default:
printf( " Opcion no valida " );
break;
}
printf( " Pulse una tecla para volver al menu principal " );
getch(); /* pausa */
}

return 0; /* indica terminación exitosa */

} /* fin de main() */

/* devuelve la opción elegida por el usuario */
char menu( void )
{
char c;

clrscr();
printf( " " );
printf( " N. Nuevo texto "
" M. Mostrar texto "
" F. Mostrar un fila "
" S. Salir " );

printf( " Opcion: " );

c = (char)toupper(getch());
clrscr();

return c;
}

/* lee el texto y devuelve el número de lineas ingresadas */
int readText( char s[][LONG + 1] )
{
register int t;

printf( " Ingrese su texto (una linea en blanco para terminar): " );

/* iniciar la primera cadena a nulo */
s[0][0] = ''; // *s[0] = ''

for ( t = 0; t < LIN; ++t ) {
printf( "%3d: ", t );
gets( &s[t][0] ); // gets( s[t] )

/* salir en caso de linea en blanco */
if ( !s[t][0] ) // !*s[t]
break;
}

return t;
}

/* imprime el texto caracter a caracter */
void printText( const char s[][LONG + 1], const int t )
{
register int i, j;

/* si la primera cadena del texto es nula */
if ( !s[0][0] ) // !*s[0] */
printf( " Texto vacio " );
else {
printf( " Su texto es: =========== " );

for ( i = 0; i < t; ++i ) {
printf( "%3d: ", i );

for ( j = 0; s[i][j]; ++j )
printf( "%c", s[i][j] );
printf( " " );
}
}
}

/* imprime una linea de texto especificada por el usuario */
void printLine( const char s[][LONG + 1], const int t )
{
char *p;
int fila;

long int obtFila( const int t ); /* prototipo */

printText( s, t );

/* si la primera cadena del texto no es nula */
if ( s[0][0] ) { // *texto[0] */
printf( " " );

fila = obtFila( t );

/* hacer que 'p' apunte a la fila deseada */
p = (char *)s[fila];

printf( " Fila %3d -> %s ", fila, p );
}
}

/* devuelve el número de fila ingresada por el usuario */
long int obtFila( const int t )
{
char cadNum[MAX + 1];
int numero;
int err = 1; /* indicador de error */

char *obtNatural( char *s, const int max ); /* prototipo */

/* ciclo para controlar error en la entrada */
do {
printf( " Que fila desea mostrar: " );
obtNatural( cadNum, MAX );

numero = atoi( cadNum );

if ( !cadNum[0] ) // !*cadNum
printf( " Cadena vacia " );

else if ( numero >= t )
printf( " Fila fuera de rango " );

else
err = 0;

} while( err ); /* fin do...while */

return numero;
}

/* devuelve un puntero a la cadena "s" que contiene un N(Natural) */
char *obtNatural( char *s, const int max )
{
register char c;
int i = 0;

char *strcatchr( char *cad, char c, int *t ); /* prototipo */

/* iniciar la cadena a nulo */
s[0] = ''; // *s = '';

while ( (c = (char)getch() ) != ' ' ) {
/* si pulsa Backspace y se han contabilizado caracteres */
if ( c == '' && i > 0 ) {
putchar( '' );
putchar( ' ' );
putchar( '' );
i--;
s[i] = '';
}
else {
if ( i < max ) {
if ( c >= '0' && c <= '9' ) {
putchar( c );
strcatchr(s, c, &i);
}
}
}
}
putchar( ' ' );

return s;
}

/* concatena el caracter 'c' a la cadena apuntada por "cad" */
char *strcatchr( char *cad, char c, int *t )
{
cad[*t] = c;
*t = *t + 1;
cad[*t] = '';

return cad;
}
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

editor de iconos

Publicado por marco (1 intervención) el 02/02/2010 18:01:14
tengo un problema llevo una materia que se llama estructuras de datos B y tengo que hacer un proyecto para esta tiene que ser un juego en 2 dimensiones el problema es que tengo que hacer un editor de iconos pero el problema es que en la materia anterior a esta no vi como manejar graficos en dev c++ y no se como crearlo
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

editor de iconos

Publicado por carlota (1 intervención) el 14/11/2011 02:23:04
hola oye me puedes pasar el codigo del editor de iconos en lenguaje Dev c++ por favor
gracias
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