1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / C lenguajeC programa con menú ecuación segundo grado números primos factorial
« en: 06 de Septiembre 2020, 03:50 »
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)
--------------------------------------------------------------------------------------------
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;
}