Retroceder   Foros del Web > Temas generales de computación > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 15-ene-2006, 04:41   #1 (permalink)
Amagoia686 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 53
ayuda con programa

Tengo que hacer este programa y no me sale a ver si me veis los fallos porke por mas que miro peor.
Tengo qu realizar este programa con el siguiente menú:

1.probar * que es la llamada a una funcion que escribe en pantalla tantos asteriscos como indique el parámetro
2.Escribir serie, que es la llamada a una funcion que recibe dos numero y tiene que ir de uno numero a otro(ej: si metes 12 y 15 el programa tiene que ir 12,13,14,15)
3.Repetir carácter que es la llamada a una funcion que recibe como parámetros un carácter y un numero que se tiene que repetir tantas veces como indique el usuario
4.menor, es la llamada a una funcion que recibe como parámetros tres caracteres y devuelve el mas pequeño (ejemplo: si metes la A y la Z el programa debe devolver la A)

Y esto es lo que hecho (borland c++):

#include <stdio.h>
#include <conio.h>

void menu(void);
int probar (int asteriscos);
int serie (int num1,int num2);
char menor (char car1,char car2,char car3);
char repetir_caracter (char letra,int num);

/*Funcion principal*/

void main (void)
{
menu();
}

/*Funcion Menu*/

void menu (void)
{
int asteriscos,opcion,num,num1,num2;
char car1,car2,car3,letra;

printf("Elige una opcion, por favor:\n\n - Para dibujar en pantalla asteriscos, pulsa [1]\n - Para realizar una serie de numeros, pulsa [2]\n - Para repetir caracteres un numero de veces, pulsa [3]\n - Para ver el menor caracter, pulsa [4]\n - Para Salir, pulsa [5]\n");
scanf("%d",&opcion);

switch(opcion)
{
case 1: opcion='1';
printf("Introduce el numero de asteriscos a pintar:\n");
scanf("%d",&asteriscos);
clrscr();
printf("%d",probar(asteriscos));
getch();
clrscr();
menu();
break;

case 2: opcion='2';
printf("Introduce un numero:\n");
scanf("%d",&num1);
printf("Introduce otro numero:\n");
scanf("%d",&num2);
clrscr();
printf("%d",serie(num1,num2));
getch();
menu();
break;

case 3: opcion='3';
printf("Introduce el numero de veces :\n");
scanf("%d",&num);
printf("Introduce un caracter:\n");
scanf("%c",&letra);
printf("%c %d",repetir_caracter(letra,num));
getch();
menu();
break;

case 4: opcion='4';
printf("Introduce 3 caracteres:\n\n");
scanf("%c %c %c",&car1,&car2,&car3);
clrscr();
printf("%c",menor(car1,car2,car3));
getch();
menu();
break;

case 5: opcion='5';
printf("ADIOS!!");
getch();
break;

}

}


/*Funcion dibujar asteriscos*/

int probar (int asteriscos)
{
int i;
for(i=0; i<=asteriscos; i++)
{
printf("*");
}
return(printf("*"));
}

/*Funcion serie de numeros*/

int serie (int num1,int num2)
{
int i;

for (i=num1; i<=num2; i++)
{
printf("%d\n",i);
}

return(printf("%d\n",i));
}


/*Funcion repetir_caracter*/

char repetir_caracter (char letra,int num)
{
int i;

for(i=1; i<=num; i++)
{
printf("%c\n",letra);
}
return(printf("%c\n",letra));
}


/*Funcion Menor*/

char menor (char car1,char car2,char car3)
{

if (car1<car2 && car1<car3)
{
printf("El menor caracter es:\n %c",car1);
}
if (car2<car1 && car2<car3)
{
printf("El menor caracter es:\n %c",car2);
}
if (car3<car1 && car3<car2)
{
printf("el menor caracer es:\n %c",car3);
}
return(car1,car2,car3);
}
Amagoia686 está desconectado   Responder Citando
Antiguo 20-ene-2006, 15:41   #2 (permalink)
Mephisto está en el buen camino
 
Avatar de Mephisto
 
Fecha de Ingreso: enero-2006
Ubicación: Mexico DF
Mensajes: 183
Primero: todas las funciones definelas como void Funcion(Parametros); no requieres de regresar valore ya que estas imprimiendo tu resultado en la funcion.

Segundo: en el switch, para cada case igualas una variable int con un char
opcion = '1'; la verdad no le veo el caso a esa igualdad.

Tercero: Para cada caso del switch mandas llamar a la fucion menu(), en vez de eso, tienes dos opciones, colocar un do-while para verificar sea pro ejemplo 0 y es cuando acaba o defines int menu (void); y cuando sea el valor 0 le mandas un return para finalizar la ejecución de la funcion...
__________________
Saludos...

Todos somos sabios, solo que en diferentes disciplinas...
Mephisto está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 08:36.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93