Anuncio

Colapsar
No hay ningún anuncio todavía.

Duda ejercicio programación en C

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • C/C++ Duda ejercicio programación en C

    Hola,estoy usando Linux para compilar en el lenguaje C, díganme por favor si tengo errores en el desarrollo de este ejercicio:

    [FONT=sans-serif]Suponiendo que cada cliente de una sucursal bancaria tuviera 2 cuentas cuyos datos de cada cuenta fueran: número de cuenta y saldo. Escribir un programa en C que pida por pantalla para 3 clientes: su nombre y datos de sus dos cuentas, y escriba para cada cliente, su nombre, los datos de sus dos cuentas y el saldo total del cliente.

    No he dado nada de bucles todavía.
    [/FONT]
    Gracias


    #include <stdio.h>

    typedef struct {
    int num_cuenta;
    float saldo;
    } Tcuentas;

    Tcuentas cuentas [2];

    typedef struct {
    char nombre [80];
    Tcuentas cuentas [2];
    float saldo_total;
    } Tdato;

    Tdato clientes [3];


    int main (void) {

    printf ("introduzca los cuatro primeros numeros de la cuenta:")
    scanf ("%d",&cuentas.num_cuenta);
    printf ("Introduzca el saldo de la cuenta:");
    scanf ("%f",&cuentas.saldo);

    printf ("introduzca el nombre del cliente:");
    scanf ("%[^\n]", clientes.nombre);
    printf ("introduzca los cuatro primeros numeros de la cuenta:")
    scanf ("%d",&cuentas.num_cuenta);
    printf ("Introduzca el saldo total de la cuenta");
    scanf ("%f",&cuentas.saldo_total);

    ¿Está bien? ¿errores de sintaxis?

  • #2
    Re: Duda ejercicio programación en C

    Hola de sintaxis no puedo opinar, lo poco que entiendo lo veo bien,
    el tema es que no has calculado el saldo total como la suma de saldos de cada cuenta.
    tampoco has hecho un contador que limite la cantidad de veces a pedir datos que es solo para 3 clientes.

    un comentario al margen , pues si vas aprendiendo de a poco, te va a servir a futuro,

    Te conviene armar un array de datos con las variables definidas en funcion de su tipo(char, float, ) el array puede tener una extensión mayor a 3 registros, luego imprimir la informacion que quieras en funcion de la busqueda que hagas, así se maneja una base de datos muy rudimentaria.

    Es conveniente que le des una hojeada a como impolementar los bucles y las sentencias condicionales en el lenguaje C o el que prefieras , y eso te dara una vision mas amplia de como encarar los ejercicios, que se iran reduciendo en tamaño , pero no en complejidad...

    Saludos
    Última edición por Richard R Richard; 09/11/2016, 17:03:59.

    Comentario


    • #3
      Re: Duda ejercicio programación en C

      Hola, terminé el ejercicio pero me salen errores al ejecutar en la terminal de Linux:

      #include <stdio.h>

      typedef struct {
      int num_cuenta ;
      float saldo ;
      } Testructura;

      Testructura cuentas [2];

      typedef struct {
      char nombre [80];
      Tcuentas cuentas [2];
      float saldo_total;
      } Tdato;

      Tdato clientes [3];


      int main (void) {

      printf ("introduzca los cuatro primeros numeros de la cuenta:");
      scanf ("%d",&cuentas[0].num_cuenta);
      printf ("introduzca los cuatro primeros numeros de la cuenta:");
      scanf ("%d",&cuentas[1].num_cuenta);

      printf ("Introduzca el saldo de la cuenta:");
      scanf ("%f",&cuentas[0].saldo);
      printf ("Introduzca el saldo de la cuenta:");
      scanf ("%f",&cuentas[1].saldo);

      printf ("introduzca el nombre del cliente:");
      scanf ("%[^\n]", clientes[0].nombre);
      printf ("introduzca el nombre del cliente:");
      scanf ("%[^\n]", clientes[1].nombre);
      printf ("introduzca el nombre del cliente:");
      scanf ("%[^\n]", clientes[2].nombre);




      printf ("introduzca los cuatro primeros numeros de la cuenta:");
      scanf ("%d",&clientes[0].num_cuenta);
      printf ("introduzca los cuatro primeros numeros de la cuenta:");
      scanf ("%d",&clientes[1].num_cuenta);
      printf ("introduzca los cuatro primeros numeros de la cuenta:");
      scanf ("%d",&clientes[2].num_cuenta);
      printf ("Introduzca el saldo total de la cuenta");
      scanf ("%f",&clientes[0].saldo_total);
      printf ("Introduzca el saldo total de la cuenta");
      scanf ("%f",&clientes[1].saldo_total);
      printf ("Introduzca el saldo total de la cuenta");
      scanf ("%f",&clientes[2].saldo_total);

      }

      Estos son los errores que me salen y que no entiendo:
      ALIEN_1.c:12:4: error: unknown type name ‘Tcuentas’
      Tcuentas cuentas [2];
      ^
      ALIEN_1.c: In function ‘main’:
      ALIEN_1.c:42:25: error: ‘Tdato {aka struct <anonymous>}’ has no member named ‘num_cuenta’
      scanf ("%d",&clientes[0].num_cuenta);
      ^
      ALIEN_1.c:44:25: error: ‘Tdato {aka struct <anonymous>}’ has no member named ‘num_cuenta’
      scanf ("%d",&clientes[1].num_cuenta);
      ^
      ALIEN_1.c:46:25: error: ‘Tdato {aka struct <anonymous>}’ has no member named ‘num_cuenta’
      scanf ("%d",&clientes[2].num_cuenta);

      ¿Cuál es mi error?

      Comentario


      • #4
        Re: Duda ejercicio programación en C

        Escrito por CARLIN Ver mensaje

        Tcuentas cuentas [2];
        No has cambiado el nombre de Tcuenta a Tesctuctura? o no , puede que allí surjan errores en cadena, por falta de definición de datos.

        pides para cada una de las dos cuentas de un cliente el saldo y sigo sin ver que luego lo sumes y presentes la suma de ambos para cada cliente.

        Por referencias de sintaxis y errores espera mas ayuda del foro, yo hasta allí aventuro. Saludos

        Comentario


        • #5
          Re: Duda ejercicio programación en C

          Estás definiendo mal las estructuras, te falta el identificador de las mismas. https://es.wikibooks.org/wiki/Progra...uras_y_Uniones
          Si bien es posible al utilizar typedef no tener el identificador, es recomendable

          Ahora también ten cuidado la estructura anidada. Ya que intentas definir un vector TEstructura denominado cuentas y luego lo vuelves a definir dentro de la estructura Tdato. No necesitas definirlo afuera del cuerpo de la estructura Tdato. Luego para hacer referencia a un miembro de cuentas desde Tdato es simplemente Tdato.cuentas[1].num_cuenta
          Última edición por Julián; 10/11/2016, 15:13:43.
          Por más bella o elegante que sea la teoría, si los resultados no la acompañan, está mal.

          Comentario

          Contenido relacionado

          Colapsar

          Trabajando...
          X