Dev-C++

Iniciado por Blap, 21 Abril 2019, 20:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Blap

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.

K-YreX

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
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;