Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rafavel

Páginas: [1]
1
Hola, estoy haciendo un programa y el supuesto funcionamiento del programa debe ser el siguiente:

--------------------------------------------------------------------------------------------
MENU PRINCIPAL
A) OPERACIONES NUMERICAS
B) OPRACIONES ALFANUMERICAS
C) SALIR
MENU OPERACIONES NUMERICAS
a) RESOLUCION DE LA ECUACION GENERAL DE SEGUNDO GRADO
b) OBTENER LOR PRIMEROS 100 NUMEROS PRIMOS
c) OBTENER EL FACTORIAL DE UN NUMERO (NUMERO MAXIMO 50)
d) REGRESAR MENU ANTERIOR
MENU OPERACIONES ALFANUMERICAS
X ) LEER UN TEXTO MAXIMO 500 CARACTERES Y MOSTRAR TEXTO INTRODUCIDO Y
TEXTO AL REVES.
Y) LEER UN TEXTO MAXIMO 500 CARACTERES Y CONTAR Y MOSTRAR CUANTAS LETRAS
VOCALES HAY ESCRITAS (CUANTAS A, CUANTAS E, CUANTAS I, CUANTAS O, CUANTAS U).
Y CUANTOS SIGNOS DE PUNTUACION HAY.
Z) REGRESAR MENU ANTERIOR.
----------------------------------------------------------------------------------------------

Tengo varios problemas:

1.-NO FUNCIONA y lamentablemente mi profesor de asignatura no me ayuda

2.-En la situación "Y", no encuentro como hacerlo sin errores y ademas de eso no se como hacer la parte de los signos de puntuación.

3.-en las ultimas opciones de cada menú (SALIR O REGRESAR A LO ANTERIOR NO ME DA)

4.-Si hipotéticamente se resolvieran mis anteriores problemas las respuestas a los incisos solo se muestran 1ms y se van, no se como hacer que se queden ahí
ESPERO ME PUEDAN AYUDAR, GRACIAS (se que soy un asco en esto lol)


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#define numVocales 5
#define tamFrase 500

int a,b,c,d;
int ipp,xpp,cont;
int xf,numerof;
int ivt = 0;
int j;
int vocales[5],xvv;
float xg,yg;
float factorial=1;
char m1, m2,sm1,sm2;
char cadena[500];
char frase[100];
enum {a1v,e1v,i1v,o1v,u1v};
void contar(char frase[500],int vocales[5]);
 

int main()
{
system("color f0");

do{
system("cls");
printf(" M E N U  P R I N C I P A L  ");
printf("\n A).-Operaciones Numericas");
printf("\n B).-Operaciones Alfa-Numericas");
printf("\n C).-Salir");
printf("\n\n Elija la opcion: ");
scanf("%c",&m1);

switch(m1)
{
case 'A':
do{
system("cls");

printf("\n OPERACIONES NUMERICAS");
            printf("\n a).-Resolucion de la ecuacion general de segundo grado \n");
            printf("\n b).-Obtener los primeros 100 numeros primos \n");
            printf("\n c).-Obtener el factorial de un numero (maximo:50) \n");
            printf("\n d).-Regresar al menu anterior \n");
            printf("\n\n Elija una opcion: ");
            scanf("%c",&sm1);
           
            switch(sm1)
            {
            case 'a':
            printf("Dame el valor de a: ");
                    scanf("%d",&a);
while (a == 0)
{
printf("Dame el valor de a: ");
scanf("%d",&a);}
printf("Dame el valor de b: ");
scanf("%d",&b);
printf("Dame elvalor de c: ");
scanf("%d",&c);
d = b*b-4*a*c;
if (d > 0)
{
xg = (-b+sqrt(d))/(2*a);
yg = (-b-sqrt(d))/(2*a);
printf("x1 = %.2f\n",xg);
printf("x2 = %.2f\n",yg);}
else if (d == 0) {
xg = (-b)/(2*a);
printf("x1 = %.2f\n",xg);}
else
printf("La ecuacion no tiene solucion");
           
        break;
       
        case 'b':
        for(ipp = 2 ; ipp <=542;ipp++)
{
    for(xpp = 2 ; xpp <= ipp;xpp++)
if(ipp % xpp == 0)
cont++;
if(cont == 1)
printf("%d-",ipp);
cont = 0 ;}
        break;
       
        case 'c':
        printf("Introduce un numero:");
                scanf("%d",&numerof);
                for(xf=numerof;xf>1;xf--)
{
  factorial=factorial*xf;
}
printf("%f",factorial);
        break;
       
        case 'd':break;
           
}
}while(sm1!='d');
   
case 'B':
system("cls");
printf("\n OPERACIONES ALFA-NUMERICAS");
printf("\n X).-Leer un texto (maximo 500 caracteres) y mostrar el texto introducido al reves \n");
printf("\n Y).-Leer un texto (maximo 500 caracteres) y contar cuantas letras vocales hay escritas \n");
printf("\n Z).-Regresar al menu anterior \n");
printf("\n\n Elija una opcion: ");
scanf("%c",&m2);

case 'X':
printf("Introduce tu texto: ");
gets(cadena);
printf("\nTu texto es: %s\n", cadena);
while(cadena[ivt]!='\0'){
ivt++;}
printf("El texto al rev\x82s es: ");
for (j=ivt-1; j>=0; j--){
printf("%c", cadena[j]);}
puts("");

    break;
       
    case 'Y':
for(xvv=0;xvv<5;xvv++){
vocales[xvv]=0;
}printf("ESCRIBA UNA FRASE: ");
gets(frase);
printf("\n La frase escrita es: %s",frase);
contar(frase,vocales);
printf("\n VOCAL \t Repite");
printf("\n A \t %d",vocales[a1v]);
printf("\n E \t %d",vocales[e1v]);
printf("\n I \t %d",vocales[i1v]);
printf("\n O \t %d",vocales[o1v]);
printf("\n U \t %d",vocales[u1v]);
getchar();
return 0;}
void contar(char frase[100], int vocales[5]);
{
for(int xvv=0;frase[xvv] !='\0' && frase[xvv] !='\n';xvv++){
switch(frase[xvv]){
case 'a': case 'A': vocales[a1v]++; break;
case 'e': case 'E': vocales[e1v]++; break;
case 'i': case 'I': vocales[i1v]++; break;
case 'o': case 'O': vocales[o1v]++; break;
case 'u': case 'U': vocales[u1v]++; break;}
}
    }
    break;




}while(m1!='C');

system("pause");
return 0;
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".