elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dev-C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dev-C++  (Leído 1,421 veces)
Blap

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Dev-C++
« en: 21 Abril 2019, 20:02 pm »

Tengo un error y no logro identificarlo, intento hacer "una calculadora" pero la app me lanza un error, les dejare el comando por si me ayudan: (Error expected unqualified-id before ´{´:


#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
//Ecuaciones cuadráticas (globals)
int num1=0, num2=0, num3=0, res=0, opc, respuesta;
//Escribir Ecuación
;void menu() ;
;void Suma () ;
;void Resta () ;
//menu
main ()
{
   menu();
   getch();
}
// Implementa Ecuacion
void menu();
{   
do
   {
      Printf ("ºººººEcuacionººººº") ;
      Printf ("\n\n1.- ecuacion  ") ;
      Printf ("2. - suma     ") ;
      Printf ("3.- resta    ") ;
      {
         Printf ("\n\nElija su estilo de ecuación:\n\n") ;
         scanf ("%d",&opc) ;
         switch(opc)
         {
            case 1 :
            Suma() ;
            break ;
            case 2 :
            Resta() ;
            break ;
            default :
            printf ("::::Esta maldita opcion no existe:::::") ;
            break ;
         }
      }
      printf ("\n\¿Desea hacer alguna otra operacion?  Si=1  // No=2") ;
      scanf ("%d" ,&respuesta) ;
   }
   while (respuesta=1) ;
}
void Suma ()
{
   printf ("ººººSUMAºººº") ;
   printf ("la primera parte de su ecuación (Ax^2)") ;
   scanf ("%d", & num1) ;
   printf ("Ahora escriba la segunda parte de su ecuación (Bx)") ;
   scanf ("%d", & num2) ;
   printf ("Escriba la tercera parte de la ecuacion (c)") ;
   scanf ("%d", & num3) ;
   printf ("La suma de %d y %d y %d es: %d",num1,num2,num3,res);
}
{
   void Resta ()
   printf ("ººººRESTAºººº") ;
   printf ("La primera parte de su ecuación(Ax^2)") ;
   scanf ("%d" , & num1) ;
   printf ("Ahora escriba La tercera parte de su ecuación(Bx)");
   scanf ("%d" , & num2);
   printf ("Escriba la tercera parte de su ecuación(C)");
   scanf ("%d" , & num3);
   printf ("La resta de %d y %d y %d es: %d",num1,num2,num3,res);
}


Gracias por la ayuda.


« Última modificación: 21 Abril 2019, 20:05 pm por Blap » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Dev-C++
« Respuesta #1 en: 21 Abril 2019, 20:22 pm »

Lo primero coloca tu código entre etiquetas de código GeSHi (encima del cuadro de texto tienes un menú desplegable para elegir el lenguaje en el que está el código)...

A ver tienes un par de errores y unas cuántas mejoras que puedes hacer.
Vamos a ver los errores que tienes:
  • Antes de las declaraciones de las funciones <menu()>, <suma()> y <resta()> tienes un punto y coma que no debería estar ahí.
  • En la implementación de la función <menu()> te sobra el punto y coma antes del corchete. Cuando declaras prototipos las funciones terminan en punto y coma, pero cuando implementas el cuerpo de la función, no se pone punto y coma.
  • En la función <menu()> tienes escrito <Printf()> en lugar de <printf()>. En C/C++ hay distinción entre minúsculas y mayúsculas, es decir; la función <sumar()> no es la misma que la función <Sumar()> y la variable <numero> no es la misma que la variable <Numero>.
  • En C/C++ las comparaciones se hacen con dos iguales "==" y las asignaciones con un igual "=". En el <while> de <menu()> estás usando un solo igual por lo que estás asignando a respuesta el valor 1 y entonces siempre se considera la condición como verdadera (ya que se entiende 0 = false y 1 = true).
  • No haces operaciones sobre la variable <res>. Entonces el resultado siempre se muestra 0.

Y ahora vamos a ver algunos consejos:
  • No usar la librería <conio.h>. La función <getch()> de <conio.h> se puede sustituir por <getchar()> de <stdio.h> (para C) o <cin.get()> de <iostream> para C++
  • No usar variables globales innecesarias.
  • Las funciones es mejor que retornen el resultado en vez de mostrarlo porque a veces querrás calcular muchas sumas y no querrás que todas se muestren por pantalla. Hay que darle generalidad a las funciones para poder reutilizarlas.

Suerte :-X


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines