Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: saserromdp en 6 Marzo 2012, 01:42 am



Título: ayuda porfa
Publicado por: saserromdp en 6 Marzo 2012, 01:42 am
Hola. Empece a estudiar prog y tengo un monton de probllemas. Estoy usando el de c++
y cuando copio un codigo me tira error en scanf, float, printf y en todo. Algunos que copie de internet me los ejecuta pero la mayoria no. EN este ejemplo que estoy haciendo mal?
int main()
{
    float total-compra=0 descuento=0;
    float total-a-pagar=0;
    scanf ("%f", & total-compra);
    descuento=total-compra*0.15;
    total-a-pagar=total-compra - descuento;
    printf ("el total es: $ %f", total-a-pagar);
}

Esto es lo que me sale despues de copilar:
   
 C:\Dev-Cpp\Sin Nombre1.c In function `main':
3 C:\Dev-Cpp\Sin Nombre1.c syntax error before '-' token
4 C:\Dev-Cpp\Sin Nombre1.c syntax error before '-' token
5 C:\Dev-Cpp\Sin Nombre1.c `total' undeclared (first use in this function)
  (Each undeclared identifier is reported only once
  for each function it appears in.)
5 C:\Dev-Cpp\Sin Nombre1.c `compra' undeclared (first use in this function)
6 C:\Dev-Cpp\Sin Nombre1.c `descuento' undeclared (first use in this function)
7 C:\Dev-Cpp\Sin Nombre1.c `a' undeclared (first use in this function)
7 C:\Dev-Cpp\Sin Nombre1.c `pagar' undeclared (first use in this function)

Si pueden darme una mano se los agradeceria muchísimo. 








Título: Re: ayuda porfa
Publicado por: Ferno en 6 Marzo 2012, 01:53 am
Primero que nada, para poder utilizar las funciones "scanf" y "printf" el compilador tiene que ubicarlas! (porque tú no las escribes, ¿verdad?).
Entonces para ello se llama a las librerías que contienen dichas funciones:

Código
  1. #include <stdio.h>

El otro error es el uso de "-" en el nombre de las variables. No uses guiones medios. Una forma de separar dos palabras en el nombre de una variable es comenzar cada palabra con mayúscula.
Por ejemplo, total-compra sería "TotalCompra" (recuerda también que el lenguaje de programación C es case sensitive, esto es, que distingue entre mayúsculas y minúsculas, es decir, TotalCompra NO es lo mismo que totalcompra).

Veo un error de sintaxis en la primer línea del main. Además de cambiar el nombre de las variables, cuando vas a declarar dos variables en una misma línea, éstas deben ir separadas por una coma.


Título: Re: ayuda porfa
Publicado por: Caballo_Alado en 6 Marzo 2012, 01:57 am
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    float total_compra=0,descuento=0;
  6.    float total_a_pagar=0;
  7.    scanf ("%f", & total_compra);
  8.    descuento=total_compra*0.15;
  9.    total_a_pagar=total_compra - descuento;
  10.    printf ("el total es: $ %f\n", total_a_pagar);
  11. system("PAUSE");
  12.  
  13. }
  14.  

1- Los nombres de las variables no deben llevar símbolos tal como - o otros que ahora no me acuerdo todos pero hay siertas reglas a la hora de los nombres de variables.

2- las variables que declaraste en la primera linea deben ser separados por un "," un coma tal como ahí muestra.

3- Te recomiendo que empieces a buscar información sobre librerías del lenguaje


Título: Re: ayuda porfa
Publicado por: rir3760 en 6 Marzo 2012, 02:16 am
1- Los nombres de las variables no deben llevar símbolos tal como - o otros que ahora no me acuerdo todos pero hay siertas reglas a la hora de los nombres de variables.

En C al declarar una variable su nombre solo puede consistir de caracteres alfabéticos, numéricos y el carácter '_'. El nombre debe tener como carácter inicial uno alfabético o '_'.

Sin embargo no se recomienda iniciar el nombre con '_' ya que estos pueden ser utilizados por la implementación (traducción al buen cristiano: existe la posibilidad de un conflicto y si eso sucede es, como usuarios, nuestra culpa).

Un saludo


Título: Re: ayuda porfa
Publicado por: Anastacio en 6 Marzo 2012, 18:40 pm
Te recomiendo que busques ejemplos por todos lados, con los ejemplos y vete probando con un compilador, entonces poco a poco vas entendiendo como funciona cada cosa, al menos, si tienes algo de tiempo para aprender, yo pienso que es una buena manera.

Saludos y Suerte!

Nota: Por lo que se el uso de System no es muy bueno, es una funcion muy pesada. Ademas le quita portabilidad a los programas. Un return 0 hubiese sido mejor quizas.


Título: Re: ayuda porfa
Publicado por: saserromdp en 6 Marzo 2012, 20:23 pm
Muchas gracias a todos. De a poco voy entendiendo como funciona ;-)


Título: Re: ayuda porfa
Publicado por: Anastacio en 6 Marzo 2012, 21:50 pm
Si, yo tambien, muy de a poquito, pero algo aprendo al finalizar el dia, y eso es reconfortante, por suerte empeze a estudiar esto 6 años antes de empezar la universidad,  :laugh: :laugh: :laugh: