Código fuente de ejemplo de programación en lenguaje C
2013 65438 23 de febrero, 12:43:46
Propósito: Implementar la calculadora.
*/
# incluir ltstdio.h gt
# incluir ltctype.h gt
# incluir ltmath.h gt p>
char get _ Choice(void); //Obtiene las opciones ingresadas por el usuario y establece el objetivo.
char get _ first(void); //Obtiene las opciones ingresadas por el usuario y excluye las entradas incorrectas.
float get _ int(void); //Obtiene el valor calculado ingresado por el usuario.
float add(void); //Definir la función de suma
Resta de punto flotante (void); //Definir la función de resta
Multiplicación de punto flotante ( void) ;//Definir función de multiplicación
División flotante (void); //Definir función de división
Extracto flotante (void); //Definir función raíz
Cubo flotante (void); //Definir la función cuadrada
Cubo flotante (void); //Definir la función cúbica
int count = 0;
int main (void)
{
selección de caracteres;
Printf("***Bienvenido a la calculadora hecha por Xiaoqian* * \n ") ;
elección = get _ elección();
Y (elección! = 'q ')
{
Cambiar (elección )
{
Caso "a":
add();
Caso "b":
Resta(); Romper;
Caso "c":
Multiplicación();
Caso "d":
División(); Romper;
Caso "e":
Extraer();
Caso "f":
cuadrado();
Caso "g":
cubo();
Predeterminado:
Printf ("Ingresaste un error, vuelve a ingresar:");
}
fflush(stdin
choice = get _ Choice); ();
}
printf("Adiós");
Devuelve 0; //Obtener las opciones ingresadas por el usuario para crear el directorio.
char get_choice(void)
{
char ch
int a = 0;
// Crear un directorio
printf(" \ n-\ n ");
Printf ("A . Suma\t\t\tb. Resta\nc. Multiplicación\t\t \td. División\n");
Printf ("e. raíz \t\t\tf. Cuadrado\ng. Cubo\t\t\tq.
Salir\n ");
printf("-\n ");
Printf("Ingrese sus opciones: ");
ch = get_first ();
mientras(ch = = ' ' | | ch = = ' \n ' | | ch = = ' \t ')
ch = get _ first() ;
//Determinar si la opción ingresada por el usuario es incorrecta
And ((ch lta ' | | ch gtg ') amp; ampch!='q ')
{
putchar(ch);
Printf("La opción que ingresó es incorrecta, vuelva a ingresar:");
ch = get_first();
}
Return ch;
}
//Obtiene las opciones ingresadas por el usuario, excluir entrada incorrecta
char get_first(void)
{
char ch
ch = getchar();
//Eliminar nuevas líneas generadas cuando el usuario ingresa opciones
while(ch == '\n ')
{
ch = getchar() ;
}
Return ch;
}
//Obtiene el valor calculado ingresado por el usuario
<. p >float get_int(void){
Entrada de punto flotante;
char ch
int a;
if(count == 0)
Printf("¡Estimado! Por favor ingresa un valor: ");
if(count == 1)
Printf("¡Estimado! Ingrese el primer valor: ");
if(count == 2)
Printf("¡Estimado! Ingrese el segundo valor: ");
a = scanf("f ", amp input);
//Determina si la entrada del usuario es un valor numérico.
Y (a! = 1 )
{
//Eliminar caracteres ingresados incorrectamente por el usuario.
mientras((ch = getchar())!= '\n ')
{
putchar(ch);
Printf("No es un valor numérico, ingrese, por ejemplo, 3, 111.2 o -1 ");
a = scanf("f ", entrada de amplificador
}<); /p>
}
Devolver entrada;
}
//Definir función de suma
Suma de punto flotante (vacío)
{
flotante i, j, suma
cuenta = 0
cuenta = cuenta 1
I = get_int();
cuenta = cuenta 1;
j = get_int();
suma = I j;
printf(".2f .2f = .2f\n ", I, j, sum);
Devuelve la suma
}
// Definir función de resta
Resta de punto flotante (vacío)
{
float i, j, sum
count = 0; p>
p>
cuenta = cuenta 1;
I = get _ int();
cuenta = cuenta 1;
j = get _ int( );
suma = I-j;
printf(".2f - .2f = .2f\n ", I, j, suma
Devolver suma;
}
//Definir función de multiplicación
Multiplicación en coma flotante (no válida)
{ p>
float i, j, suma
cuenta = 0;
cuenta = cuenta 1
I = get _ int(); /p>
cuenta = cuenta 1;
j = get _ int();
suma = I * j;
printf(". 2f * .2f = .2f\n ", I, j, suma);
Devuelve la suma;
}
//Definir la función de división
División en coma flotante (no válida)
{
float i, j, sum
count = 0
<; p>cuenta = cuenta 1;I = obtiene _ int();
cuenta = cuenta 1
j = obtiene _ int(); /p>
/ /Determinar si el divisor es 0.
while(j == 0)
{
Printf("El divisor no puede ser 0\¡¡¡Vuelva a ingresar!!!\n");
Printf("El divisor no puede ser 0\¡¡¡Vuelva a ingresar!!!\n");
p>j = get _ int();
}
suma = I/j;
printf(".2f / .2f = .2f\n ", I, j, suma
<); p>Devuelve la suma;}
//Definir la función raíz
Extracción flotante (no válida)
{
float i, sum
count = 0;
I = get_int();
//Determine si el número raíz es menor que 0 .
Si es menor que 0, permita que el usuario vuelva a ingresar.
mientras(I lt0)
{
Printf("Por favor, introduzca un número mayor que 0\n ");
I = get _ int();
}
sum = sqrt(I);
printf(" . La raíz de 2f es igual a .2f\ n ", I, suma);
Devuelve la suma;
}
//Definir la función cuadrado
Cuadrado flotante ( vacío)
{
flotante i, suma
cuenta = 0
I = get _ int(); >
suma = i * i
Printf(".2f cuadrado es igual a .2f\n ", I, suma
Devuelve la suma; p>} p>
//Definir función cúbica
Cubo flotante (vacío)
{
flotador i, suma
count = 0;
I = get _ int();
sum = i * i * i
printf(" El cubo de f es igual a .3f\n " , I, suma);
Devuelve la suma;
}