Problema esecuzione programma C in windows 7 (prima volta)

di il
6 risposte

Problema esecuzione programma C in windows 7 (prima volta)

Salve ragazzi, avendo in programma un esame tra tre settimane ho deciso che era ora di iniziare a studiare un po' questo linguaggio C, così mi sono scaricato devc++ e ho iniziato a fare qualcosa...ora sono arrivato ad un problema...faccio partire il mio sorgente compilato si blocca e non riesce ad invocare la funzione che gli ho creato...qualcuno sa come mai? grazie mille per le risposte!
il programma è banalmente lo studio di un numero per vedere se è primo o no...
#include <stdio.h>
typedef enum {true,false} bool;
int num;
bool risultato;

int x;
int y=0;
float prova;

bool primo (int num) {
     for (x=2;x=(num-1);x++) {prova=num%x; if (prova==0) y=1;}
     if (y==1) return(false);else return(true); }


int main() {
     printf ("inserisci un numero e vediamo se e' primo...");
     scanf ("%d",&num);
     if (primo(num)==true) printf("il numero e' primo");
     else printf ("il numero non e' primo");
     system("pause");
     }

6 Risposte

  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    Non puoi definire variabili o strutture con il nome di comandi o parametri standard del C o C++. Nel tuo caso 'bool' è standard nel C e C++ e definisce proprio una variabile booleana. Ora puoi utilizzare al posto dell'enumerazione una variabile di tipo 'bool' oppure cambi nome all'enumerazione cambiando ad esempio solo la prima lettera, chiamandola così 'Bool' e non 'bool' , dato che il C è un linguaggio 'case-sensitive'. Per me comunque sarebbe meglio usare una variabile 'bool' anziché definire un tipo di enumerazione che alla fine ha gli stessi valori di una 'bool' ! Però, se questo è un esercizio per imparare ad usare gli 'enum' , allora fai pure.
  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    Ma il problema mi sa che non riesco ad invocare le funzioni....perchè ho appena provato a fare un altro programma e non riesce ad accedere alle funzioni che creo io...
    comunque l'esercizio era per effettuare lo studio di un numero se primo o no attraverso una chiamata di funzione....che non avviene >_>
  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    Come ti ha spiegato Vins3Xtreme, non puoi definire un tipo col nome "bool " essendo un tipo predefinito del C, quindi
    
    typedef enum {true,false} bool;
    
    lo devi eliminare , salva , ricompila e vedi se funziona
  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    Ok grazie!
  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    @(FYP|ABP)
    In verita' nel C non esiste la definizione booleana se non per riferimento agli enumeratori interi.
    La specifica e' stata inserita nelle features del C99 (probabilmente in seguito al crescente sviluppo del C++) ma DEVE essere dichiarata includendo l'header stdbool.h
    Dev-C++ utilizza Mingw (Minimalist GNU for Windows) un porting di gcc, il quale supporta il C99 ma solo se espressamente indicato da 'std=C99' || '-std=gnu99'
    Se parliamo di C99 dobbiamo includere tutta una serie di caratteristiche 'dialettali' aggiunte, che possiamo accettare o meno, non sempre disponibili su vari compilatori.

    Edit:
  • Re: Problema esecuzione programma C in windows 7 (prima volta)

    L'errore era nel ciclo for comunque xD
Devi accedere o registrarti per scrivere nel forum
6 risposte