[C] struct e funzioni

di il
1 risposte

[C] struct e funzioni

Perchè mi da problemi col primo parametro dell' header della funzione appAttività?
errore: incompatible type for argument 1 of `appAttivita'
#include <stdio.h>
#include <stdlib.h>
#define MAX 20

 struct app{
        int ora;
        int min_d;
        char attivita;
        };

typedef struct app appuntamento;


int random_N(int min, int max);
char random_L(char min, char max);
void init(appuntamento *app);
[color=#FF00BF]appuntamento appAttivita(appuntamento a[MAX], char att);[/color]
int main(int argc, char *argv[])

{
    srand(time(0));
    appuntamento a[MAX],app;
    int i,risposta;
    char x;
    
    
    i=0;
    while(i<=MAX){
    printf("Ora: ");
    scanf("%d", &a[i].ora);
    printf("Durata: ");
    scanf("%d", &a[i].min_d);
    printf("Attivita': ");
    fflush(stdin);
    scanf("%c", &a[i].attivita);
    printf("Per inserire un altro appuntamento digitare 1, altrimenti 0: ");
    scanf("%d",&risposta);
    if(risposta==1){
             i++;
             }else{
                   i=MAX+1;}}
    
     printf("\n");               
     printf("----------------------------------------------------------------------\n");  
    init(&app);
    
    printf("\n");               
     printf("----------------------------------------------------------------------\n"); 
     
     x='A';
     [color=#FF00BF]appAttivita (a[MAX],x);[/color]                   
    system("PAUSE");
    return 0;
}
  

 int random_N(int min, int max){
     return rand()%(max-min+1)+min;}

char random_L(char min, char max){
     return rand()%(max-min+1)+min;}
     
     
void init(appuntamento *app){ 
     app->ora= random_N(0,23);
     printf("Ora:%d\n", app->ora);
     printf("Durata: ");
     scanf("%d", &app->min_d);
     if((app->min_d)<15 || (app->min_d>120)){
                       printf("durata appuntamento non compresa tra 15 e 120");
                       printf("Durata: ");
                       scanf("%d", &app->min_d);}
     app->attivita= random_L('A','F');
     printf("Attivita':%c\n", app->attivita);
}
     
[color=#FF00BF]appuntamento appAttivita(appuntamento a[MAX], char att){
             int i;
             char x;
             att=x;
             i=0;
             while (i<=MAX){
             if((a[i].attivita)==x){
                                   //printf("%d  %d  &c"a[i].ora,a[i].min_d,a[i].attivita);}
                                   return a[i];
             i++;}
             }[/color]}
             

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte