![]() |
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); } |
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... |
| La zona horaria es GMT -6. Ahora son las 09:23. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.