Ciao,
in università ho da poco fatto i puntatori ma siccome stavo male non ho potuto seguire quindi ora mi ritrovo indietro. Ho letto le slide del prof e un pò qua e la sul web e mi sembra di aver capito ma poi quando vado a svolgere l'esercizio più facile del mondo non so come farlo..
Come questo
Date le seguenti enumerazioni:
codice:
typedef enum {FALSE, TRUE} bool;
typedef enum {ERROR, OK} status;
Implementare la seguente funzione:
codice:
status divisione_sicura(double num, double den, double* ris);
se den diverso da 0 viene restituito in ris il risultato della divisione, la funzione restituisce OK
altrimenti, la funzione restituisce ERROR.
Io ho scritto:
codice:
#include <stdio.h>
#define N 5
typedef enum {FALSE, TRUE} bool;
typedef enum {ERROR, OK} status;
status divisione_sicura(double num, double den, double* ris);
menu() {
//system("clear");
printf("\n0 - Uscita");
printf("\n1 - divisione_sicura");
printf("\n2 - addizione_modulo_n");
printf("\n3 - conta_occorrenze");
printf("\n4 - parse_int");
printf("\n5 - quali_parsificabili_con_max_cifre");
printf("\nInserisci una risposta: ");
int risp;
scanf("%d", &risp);
getchar();
return risp;
}
main() {
double num;
double den;
double* ris;
while(1) {
int scelta = menu();
switch(scelta) {
case 0:
exit(0);
case 1:
printf("\nInserisci un numeratore: ", num);
scanf("%lf", &num);
printf("\nInserisci un denominatore: ", den);
scanf("%lf", &den);
divisione_sicura(num, den, ris);
break;
/*case 2:
indiceminmax();
break;
case 3:
cercainarray();
break;
case 4:
ordinati();
break;
case 5:
piuLungaNegativa();
break;*/
default:
exit(0);
}
}
}
status divisione_sicura(double num, double den, double* ris) {
if(den != 0) {
*ris = num / den;
return OK;
}
else
return ERROR;
}
Quando lo compito mi dice:
codice:
In function 'main' warning: incompatible implicit declaration of built-in function 'exit' [enabled by default]
Il menu fatto in questo modo l'ho eseguito in altri programmi più volte e mi è sempre andato.. Quindi mi sembra strano che il problema sia quello.. Le parti commentate ignoratele (servono a me per aggiungere altri metodi).
Chi mi aiuta?
Grazie infinitamente..