Errores de compilacion en C

Iniciado por maxbox, 11 Julio 2018, 16:45 PM

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

maxbox

Buenas
necesito ayuda con un programa que estoy realizando, se que solo se ve como practica, pero quiero recalcar que soy un nuevo programador y no tengo la experiencia necesaria para realizar el programa tan lineal como la verdad yo quisiera. pero la verdad pido de su ayuda. abajo les dejare anexado el programa


coloco el programa en un compilador online y me resaltan los errores es lo ("<", ">" y "!") y no estoy seguro de por que.


/*2.- Una persona tiene una cuenta corriente en un Banco Nacional con un monto inicial de 520 Bolivares Fuertes.

La persona ingresa por teclado su clave de acceso compuesta de cuatro dígitos y luego una opción numérica para
realizar las siguientes operaciones:

1.- Consulta saldo.

2.- Retiro (El monto de retiro se ingresa por teclado).

3.- Deposito (El monto de deposito se ingresa por teclado).


Efectuar un algoritmo para:

a) Ingresar la clave de acceso y validar.

b) Ingresar la opción del usuario y realizar la transacción solicitada.
(Imprima saldo).

c) Validar todas las opciones e incluso cuando esta sea incorrecta.

*/



#include <stdio.h>

#include <conio.h>

#define fo_i 520

main(){

int clave, a, b, c, op, ci;


printf("Bienvenido a el Banco Nacional de Venezuela"); //que no sirve para media *****

printf(" por favor intrdusca su clave"); //nose para que carajos la piden si no sirve el sistema

scanf("%d", &clave);

do {
printf("introduzca la contraseña de 4 digitos");

scanf("%d", &clave);

if((clave =< 999) || (clave => 10000)){

printf("ha introducido una contraseña con una cantidad invalida de digitos");

}

}while(clave=<999 || clave =>10000);


printf("1.-consulta de saldo");

printf("2.-retiro de fondos");

printf("3.-deposito de fondos");

printf("4.-¿desea salir del sistema?");

scanf("%d", &op);

if(!=4){


do{

printf("introduzca los 2 ultimos digitos de su cedula para continuar:");

scanf("%d", &ci);

if(ci=<9 || ci=>100){

printf("ha introducido mas digitos de los solicitados");

switch(op){

case 1:

printf("el saldo en su cuenta es:%d", fo_i+=a);

printf("el saldo de su cuenta es:%d", fo_i-=b);

break;

case 2:

printf("introduzca el saldo a retirar de la cuenta");

scanf("%d", &a);

printf("su saldo es:%d", fo_i+=a);

break;

case 3:

printf("introduzca el saldo a depositar en la cuenta");

scanf("%d", &a);

printf("su saldo es:%d", fo_i-=a);

break;

}while(ci=<9 || ci=>100);

}

}

}



aquí dejo la lista de errores que me aparecen:

main.c:26:1: warning: return type defaults to 'int' [-Wimplicit-int]
main(){
^
main.c: In function 'main':
main.c:38:14: error: expected expression before '<' token
}while(clave=<999 || clave =>10000);
^
main.c:45:12: error: expected expression before '!=' token
if(!=4){
^
main.c:50:10: error: expected expression before '<' token
if(ci=<9 || ci=>100){
^
main.c:54:46: error: lvalue required as left operand of assignment
printf("el saldo en su cuenta es:%d", fo_i=+a);
^
main.c:55:46: error: lvalue required as left operand of assignment
printf("el saldo de su cuenta es:%d", fo_i=-b);
^
main.c:60:33: error: lvalue required as left operand of assignment
printf("su saldo es:%d", fo_i=+a);
^
main.c:65:33: error: lvalue required as left operand of assignment
printf("su saldo es:%d", fo_i=-a);
^
main.c:67:12: error: expected expression before '<' token
}while(ci=<9 || ci=>100);
^
main.c:70:1: error: expected 'while' before '}' token
}
^
main.c:70:1: error: expected declaration or statement at end of input
main.c:70:1: error: expected declaration or statement at end of input
main.c:31:4: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &clave);
^
main.c:34:4: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &clave);
^
main.c:44:4: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &op);
^



· Los códigos deben ir en etiquetas GeSHi
· Los titulos deben ser descriptivos al problema
>aquí las reglas del foro
-Engel Lex

CalgaryCorpus

Los operadores para comparar son >= o <=
osea el < o el > van antes que el =

En tu codigo aparecen al reves osea escribiste => o =<
Aqui mi perfil en LinkedIn, invitame un cafe aqui

engel lex

tienes montones de errores por descuidar detalles y no revisar 2 veces la info




primero que nada si todos los errores provienen de lo mismo

Citarexpected expression before '<' token

deberías preguntarte si el error está en la operación

esta es la primera
(clave =< 999) || (clave => 10000)


si revisamos los operadores
https://es.wikipedia.org/wiki/Anexo:Operadores_de_C_y_C%2B%2B

vemos que son "<=" Y ">=" menor/mayor o igual que, no igual o menor/mayor que




main.c:45:12: error: expected expression before '!=' token
if(!=4){


esto no tiene sentido... diferente de 4, pero qué?




main.c:54:46: error: lvalue required as left operand of assignment
printf("el saldo en su cuenta es:%d", fo_i=+a);


y fo_i está definido como directiva del precompilador

#define fo_i 520

es decir, es una constante, no la puedes cambiar, los "lvalue" son cosas que acepten valores como las variables, por definición las constantes no...




main.c:70:1: error: expected 'while' before '}' token
}


la identación del codigo (los espacios a la izquierda) son vitales para su correcta lectura... el error se da porque estás cerrando donde no debes

este es tu sección despues de identar... mira el error

do {
 printf("introduzca los 2 ultimos digitos de su cedula para continuar:");
 scanf("%d", & ci);

 if (ci = < 9 || ci => 100) {
   printf("ha introducido mas digitos de los solicitados");

   switch (op) {

   case 1:
     printf("el saldo en su cuenta es:%d", fo_i += a);
     printf("el saldo de su cuenta es:%d", fo_i -= b);
     break;

   case 2:
     printf("introduzca el saldo a retirar de la cuenta");
     scanf("%d", & a);
     printf("su saldo es:%d", fo_i += a);
     break;

   case 3:
     printf("introduzca el saldo a depositar en la cuenta");
     scanf("%d", & a);
     printf("su saldo es:%d", fo_i -= a);
     break;

   }while (ci = < 9 || ci => 100);

 }

}





los warning
ignoring return value of 'scanf'

puedes ignorarlos simplemente se producen por cascada
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.