Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/07/2010, 10:31
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: pasar una estructura por referencia

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct cuenta{
  5.          char nom[100];
  6.          float saldo;
  7. };
  8.  
  9. int main(){
  10.  
  11. void aumento();
  12. void decremento();
  13.  
  14. struct cuenta cliente[3];
  15. struct cuenta *punt;
  16.  
  17. int i;
  18. char c;
  19.  
  20.  
  21. for(i=0; i<=2; i++){
  22.         printf("Nombre: ");
  23.         scanf("%99s", cliente[i].nom);
  24.         printf("Saldo: ");
  25.         scanf("%f", &cliente[i].saldo);
  26. }
  27. do{
  28.    printf("A--> Aumentar el saldo.\n");
  29.    printf("D--> Decrementar el saldo.\n");
  30.    printf("S--> Salir.\n");
  31.    scanf("%c", &c);
  32.    if((c=='A') || (c=='a')){
  33.          printf("Numero del cliente: ");
  34.          scanf("%d", &i);
  35.          punt = &cliente[i];
  36.          aumento(cliente[i]);
  37.          
  38.    }
  39.    if((c=='D') || (c=='d')){
  40.          printf("Numero del cliente: ");
  41.          scanf("%d", &i);
  42.          punt = &cliente[i];
  43.          decremento(cliente[i]);
  44.    }
  45. }
  46. while((c != 's') && (c != 'S'));
  47.  
  48. for(i=0; i<=2; i++)
  49.          printf("\nEl saldo del cliente %d: %.2f\n", i, cliente[i].saldo);
  50. }
  51. void aumento(cuenta &sal){
  52.          float inc;
  53.  
  54.          printf("Incremento del saldo: ");
  55.          scanf("%f", &inc);
  56.          sal.saldo=sal.saldo+inc;}
  57.  
  58. void decremento(cuenta &sal){
  59.          float dec;
  60.  
  61.          printf("Decremento del saldo: ");
  62.          scanf("%f", &dec);
  63.          sal.saldo=sal.saldo+dec;}

Error al compilar. pasar_estructura_por_referencia.c:51: error: expected ‘)’ before ‘&’ token
pasar_estructura_por_referencia.c:58: error: expected ‘)’ before ‘&’ token

Si se trata de pasar una estructura por referencia no hay que usar el operador "->" en lugar del "."