ayuda porfa

Iniciado por saserromdp, 6 Marzo 2012, 01:42 AM

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

saserromdp

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. 







Ferno

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:

#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.

Caballo_Alado


#include <stdio.h>

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\n", total_a_pagar);
system("PAUSE");

}


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
♫           ♪ "I'm sexy and I know it"     ♪      ♫

rir3760

Cita de: Mr.Brooks en  6 Marzo 2012, 01:57 AM1- 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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Anastacio

#4
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.
You, stop to close my post, you were novice too!!!!!!!!!!!!

saserromdp

Muchas gracias a todos. De a poco voy entendiendo como funciona ;-)

Anastacio

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:
You, stop to close my post, you were novice too!!!!!!!!!!!!