PDA

Visualizza la versione completa : [c] Dev-C++ non compila...


ice-on-fire
05-02-2008, 15:56
ciao, ho finito di scrivere il sorgente in C...

però quando clicco su "compila ed esegui" mi dà questo:

Circular Matematicando <- Matematicando.o dependency dropped.

C:\Documents and Settings\Dark Angel\Documenti\Ambrox\programming
\ Matematicando\Makefile.win [Build Error] [Matematicando.exe] Error 1

che cosa significa?

pallinopinco
05-02-2008, 15:58
che cosa significa?


Che il codice scritto contiene almeno un errore (un riferimento circolare di sicuro), non potendo vedere il sorgente è impossibile dirti quale/quali sono nel dettaglio. :stordita:

ice-on-fire
05-02-2008, 16:37
riferimento circolare???

cmq il codice è lungo oltre 200 righe...

MItaly
05-02-2008, 17:04
Se non lo posti non ti possiamo aiutare.

pallinopinco
05-02-2008, 17:24
riferimento circolare???


Sì, hai presente il gatto che si morde la coda o il problema "è nato prima l'uovo o la gallina"? :D

Probabilmente hai gestito male gli include, ma senza dare un'occhiata al codice è impossibile trovare l'errore.

Potresti iniziare postando i blocchi include dei vari file che compongono il tuo progetto.

ice-on-fire
05-02-2008, 18:10
l'unico include è:

#include <stdio.h>

...

poi ho messo uno switch dentro un altro, vale a dire:

case 1:
{
switch


e poi ovviamente continua...

potrebbe essere quello il problema?

pallinopinco
05-02-2008, 18:22
La dipendenza circolare potrebbe essere a livello di progetto Dev-C++ e non nel codice. Prova a compilare il sorgente da linea di comando...

ice-on-fire
06-02-2008, 13:09
allora, ho provato a compilare il sorgente da linux, con riga di comando:


ambrox@ambrox-laptop:~/programming_c/matematicando$ gcc eseguimi compila.c
gcc: eseguimi: Nessun file o directory
compila.c: In function ‘main’:
compila.c:84: error: ‘a’ undeclared (first use in this function)
compila.c:84: error: (Each undeclared identifier is reported only once
compila.c:84: error: for each function it appears in.)
compila.c:91: error: ‘som1’ undeclared (first use in this function)
compila.c:95: error: ‘som2’ undeclared (first use in this function)
compila.c:97: error: ‘rissom’ undeclared (first use in this function)
compila.c:105: error: ‘b’ undeclared (first use in this function)
compila.c:126: error: ‘c’ undeclared (first use in this function)
compila.c:143: error: ‘rosmol’ undeclared (first use in this function)
compila.c:149: error: ‘d’ undeclared (first use in this function)
compila.c:191: error: expected ‘)’ before ‘numscel’
compila.c:207: error: expected ‘;’ before string constant
compila.c:207: error: expected statement before ‘)’ token
compila.c:214: error: expected ‘)’ before ‘cubo’
compila.c:240: error: expected ‘)’ before ‘numver’
compila.c:247: error: expected ‘)’ before ‘numver’
compila.c:256: error: expected declaration or statement at end of input
compila.c:256: error: expected declaration or statement at end of input
ambrox@ambrox-laptop:~/programming_c/matematicando$ gcc compila.c
compila.c: In function ‘main’:
compila.c:84: error: ‘a’ undeclared (first use in this function)
compila.c:84: error: (Each undeclared identifier is reported only once
compila.c:84: error: for each function it appears in.)
compila.c:91: error: ‘som1’ undeclared (first use in this function)
compila.c:95: error: ‘som2’ undeclared (first use in this function)
compila.c:97: error: ‘rissom’ undeclared (first use in this function)
compila.c:105: error: ‘b’ undeclared (first use in this function)
compila.c:126: error: ‘c’ undeclared (first use in this function)
compila.c:143: error: ‘rosmol’ undeclared (first use in this function)
compila.c:149: error: ‘d’ undeclared (first use in this function)
compila.c:191: error: expected ‘)’ before ‘numscel’
compila.c:207: error: expected ‘;’ before string constant
compila.c:207: error: expected statement before ‘)’ token
compila.c:214: error: expected ‘)’ before ‘cubo’
compila.c:240: error: expected ‘)’ before ‘numver’
compila.c:247: error: expected ‘)’ before ‘numver’
compila.c:256: error: expected declaration or statement at end of input
compila.c:256: error: expected declaration or statement at end of input


Tutti questi problemi però non me li dava...

ora, per le variabili mi dice che non sono state dichiarate eppure:


int main(void)



{ //MAIN-START



// definisco le variabili valide per tutto il software

int scel;



//variabili valide x l'opzione 1

char scel1;



//variabili valide x l'addizione



int add1,add2,addris;



// variabili x la sottrazione



int sot1,sot2,rissot;



// variabili x la moltiplicazione



int mol1,mol2,rismol;



// variabili x la divisione



int div1,div2,risdiv;



// variabili valide x l'opzione 2

int numscel, cicstart,ristab;



// variabili valide x l'opzione 3

int numqc,cubo,quad;



// variabili valide x l'opzione 4



//variaibli valide x l'opzione 5



int numver;



Poi, i problemi delle parentesi me li segnala ad esempio qui:


case 3:

{ //case 3 start



system("cls");



printf(" PROGRAMMA PER ELEVARE AL CUBO E AL QUADRATO UN NUMERO\n\n");



printf" Digita il numero da elevare al cubo e al quadrato..\n\n");



scanf("%d", &numqc);



cubo= numqc*numqc*numqc;

quad= numqc*numqc;



printf(" Il quadrato è uguale a %d, il cubo è uguale a %d", quad cubo);



break;



} //case 3 stop

per ora vediamo questi...

grazie mille

MItaly
06-02-2008, 16:40
Originariamente inviato da ice-on-fire
ora, per le variabili mi dice che non sono state dichiarate eppure:

In quello spezzone di codice non mi pare che siano dichiarate le variabili di cui si lamenta...
Inizia a sistemare il problema delle variabili (e posta TUTTO il codice, così lo possiamo provare), poi vediamo quello delle parentesi (può darsi che semplicemente manchi un ;).
---EDIT---


printf" Digita il numero da elevare al cubo e al quadrato..\n\n");
Manca la parentesi dopo printf.

Loading