Foros del Web » Programación para mayores de 30 ;) » C/C++ »

uso del typedef

Estas en el tema de uso del typedef en el foro de C/C++ en Foros del Web. Hola, en este ejercicio uso el typedef para mostrar los clientes que cobran por encima de los 100 euros, pero el compilarlo me da el ...
  #1 (permalink)  
Antiguo 26/02/2010, 15:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
uso del typedef

Hola, en este ejercicio uso el typedef para mostrar los clientes que cobran por encima de los 100 euros, pero el compilarlo me da el siguiente error:

uso_typedef.c: En la función ‘main’:
uso_typedef.c:16: error: expected expression before ‘datos’
uso_typedef.c:17: error: expected expression before ‘datos’
uso_typedef.c:18: error: expected expression before ‘datos’
uso_typedef.c:24: error: expected expression before ‘datos’
uso_typedef.c:25: error: expected expression before ‘datos’
uso_typedef.c:25: aviso: faltan argumentos para el formato
Mi programa es este:

#include <stdio.h>
#define N_CLIENTES 100

typedef struct{
int identificador;
char nom[30];
float saldo;
}datos;

int main(){
datos cliente[N_CLIENTES];
int i;

for(i=0; i<N_CLIENTES; i++){
printf("Escribe idenfificador, nombre y saldo:\n");
scanf("%d",&cliente[datos].identificador);
scanf("%29s",cliente[datos].nom);
scanf("%f",&cliente[datos].saldo);
}

printf("\n %s","Los clientes que cobran por encima de los 100 euros son:\n");

for (i=0; i<N_CLIENTES; i++){
if (cliente[datos].saldo > 100)
printf("%s %.2f\n",datos[i].nom,datos[i].saldo);
}
}
Para mostrar el código con el numero de lineas al margen y coloreado para hacerlo más legible no sé cómo se hace. ¿Puedes decírmelo? por favor, si sirve de algo uso ubuntu. Gracias por la ayuda me está siendo muy útil. Gracias
  #2 (permalink)  
Antiguo 26/02/2010, 15:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: uso del typedef

Código C++:
Ver original
  1. struct
  2. {
  3.     int identificador; 
  4.     char nom[30];  
  5.     float saldo;
  6. }typedef datos;
  #3 (permalink)  
Antiguo 26/02/2010, 15:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: uso del typedef

¿tu hiciste ese código?, tiene mas errores... de todo tipo
  #4 (permalink)  
Antiguo 26/02/2010, 15:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: uso del typedef

Código C++:
Ver original
  1. #include <stdio.h>
  2. #define N_CLIENTES 100
  3.  
  4. typedef struct
  5. {
  6.     int identificador; 
  7.     char nom[30];  
  8.     float saldo;
  9. }datos;
  10.  
  11. int main()
  12. {
  13.     datos cliente[N_CLIENTES];
  14.     int i;
  15.  
  16.     for(i=0; i<N_CLIENTES; i++)
  17.     {
  18.         printf("Escribe idenfificador, nombre y saldo:\n");
  19.         scanf("%d%29s%f",&cliente[i].identificador, cliente[i].nom, &cliente[i].saldo);
  20.     }
  21.    
  22.     printf("\n %s","Los clientes que cobran por encima de los 100 euros son:\n");
  23.  
  24.     for (i=0; i<N_CLIENTES; i++)
  25.     {
  26.         if (cliente[i].saldo > 100)
  27.             printf("%s %.2f\n", cliente[i].nom, cliente[i].saldo);
  28.     }
  29.    
  30.     return 0;
  31. }
  #5 (permalink)  
Antiguo 27/02/2010, 07:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: uso del typedef

Hola, en este mismo ejercicio donde definimos 100 clientes, si al usuario sólo le interesa introducir los datos de 3 clientes,¿Cómo se haría?. Lo he estado probando y no me sale. Gracias.

1.
#include <stdio.h>
2.
#define N_CLIENTES 100
3.

4.
typedef struct
5.
{
6.
int identificador;
7.
char nom[30];
8.
float saldo;
9.
}datos;
10.

11.
int main()
12.
{
13.
datos cliente[N_CLIENTES];
14.
int i;
15.

16.
for(i=0; i<N_CLIENTES; i++)
17.
{
18.
printf("Escribe idenfificador, nombre y saldo:\n");
19.
scanf("%d%29s%f",&cliente[i].identificador, cliente[i].nom, &cliente[i].saldo);
20.
}
21.

22.
printf("\n %s","Los clientes que cobran por encima de los 100 euros son:\n");
23.

24.
for (i=0; i<N_CLIENTES; i++)
25.
{
26.
if (cliente[i].saldo > 100)
27.
printf("%s %.2f\n", cliente[i].nom, cliente[i].saldo);
28.
}
29.

30.
return 0;
31.
}

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:42.