PDA

View Full Version : [C++] Errore di windows nell'esecuzione del programma


PaCo87
28-03-2008, 19:48
salve a tutti, come mai quando eseguo un programma che ho creato io con C++ arriva al risultato e mi da un errore di windows O.o . Io ogni tot di tempo compilo il programma , per vedere come sta venendo , ora dopo l'ennesima compilazione alla fine dell'esecuzione del programma mi da questo errore di windows .

ho incollato il link per farvi vedere in uno screenshoot l'errore che mi da :

http://img412.imageshack.us/img412/9243/immaginewq9.jpg


ho allegato anche il file però in txt su cui stavo lavorando , però ovviamente è ancora una bozza non è definitivo devo capire ancora alcune cosette di questo C++. :D

Torav
28-03-2008, 20:08
beh scusa ma tu metti i valori che prendi da tastiera in x e y e poi li butti via perchè poni x = x1, y = y1, ecc con le varie x1, y1, ecc che in effetti non hanno alcun valore... credo che tu intendessi fare il contrario, cioè

leggiDatiCerchio (x,y,raggio);

x1 = x ;
y1 = y ;

leggiDatiCerchio (x,y,raggio);

x2 = x;
y2 = y;

:confused: :confused: :confused:

tra l'altro in questo modo secondo me fai un passaggio di troppo...potresti tranquillamente non utilizzare x e y in questo modo:

leggiDatiCerchio (x1,y1,raggio);

leggiDatiCerchio (x2,y2,raggio);

tra l'altro in c++ dovresti includere gli header senza .h (ma a quel punto devi stare attento ad utilizzare i namespace!)

gugoXX
28-03-2008, 20:13
Hai invertito l'assegnazione delle variabili dopo ogni uscita dalla funzione
leggidaticerchio

cosa significa

x = x1 ;
y = y1 ;


Comunque il voto per intanto e' 2, ma non tanto per l'informatica, quanto per la geometria!!!
Ma ti pare che la prima funzione restituisca la distanza tra 2 punti?

xblitz
28-03-2008, 21:53
scusate se mi attacco al post ma:


CUT

tra l'altro in c++ dovresti includere gli header senza .h (ma a quel punto devi stare attento ad utilizzare i namespace!)

cos'è questa storia? io credevo che i l'uso dei namespace (l'using tanto per capirci) andava fatta sempre e comunque a prescindere o meno del .h, quali differenze ci sono
Grazie!

Torav
28-03-2008, 22:13
beh prova! guarda non sono un grande esperto ma se uso il .h mi dà il solito warning sul deprecated header ma mi fa usare cout senza using namespace std... boh :p

PaCo87
28-03-2008, 23:58
Hai invertito l'assegnazione delle variabili dopo ogni uscita dalla funzione
leggidaticerchio

cosa significa

x = x1 ;
y = y1 ;


Comunque il voto per intanto e' 2, ma non tanto per l'informatica, quanto per la geometria!!!
Ma ti pare che la prima funzione restituisca la distanza tra 2 punti?

Grazie per le risposte ,al max diamolo al prof un bel 2 xD perchè il professore ci ha impostato tutti i parametri , noi dovevamo solo applicare i sottoprogrammi -.- , cmq il problema era l'errore di windows dipendeva da questa cosa?

cionci
29-03-2008, 07:54
cos'è questa storia? io credevo che i l'uso dei namespace (l'using tanto per capirci) andava fatta sempre e comunque a prescindere o meno del .h, quali differenze ci sono
Non pretendere troppo da Borland C++ di 8 anni fa :D La Borland era solita non aderire agli standard.
Certo non capisco come in certe scuole si ostinino ad usare compilatori obsoleti quando ci sono disponibili compilatori e IDE gratuiti di ottimo livello.
Il bello è che vogliono insegnare il C++ senza conoscerlo (vedi return in fondo alla funzione void, "void main", l'uso dei float che sicuramente è stato ereditato dal Turbo C del DOS, l'indentazione penosa

Comunque l'errore ad occhio non dipende da quel codice, il codice è corretto.
Edit: ho detto una cazzata :D Queste sono le istruzioni corrette al posto di quelle che ci sono:
x1 = x ;

y1 = y ;




x2 = x;

y2 = y;

E pensare che se l'ha scritte il professore :O

PaCo87
29-03-2008, 13:01
Non pretendere troppo da Borland C++ di 8 anni fa :D La Borland era solita non aderire agli standard.
Certo non capisco come in certe scuole si ostinino ad usare compilatori obsoleti quando ci sono disponibili compilatori e IDE gratuiti di ottimo livello.
Il bello è che vogliono insegnare il C++ senza conoscerlo (vedi return in fondo alla funzione void, "void main", l'uso dei float che sicuramente è stato ereditato dal Turbo C del DOS, l'indentazione penosa

Comunque l'errore ad occhio non dipende da quel codice, il codice è corretto.
Edit: ho detto una cazzata :D Queste sono le istruzioni corrette al posto di quelle che ci sono:
x1 = x ;

y1 = y ;




x2 = x;

y2 = y;

E pensare che se l'ha scritte il professore :O

Purtroppo il professore è un po menefreghista riguardo la scuola , ci dice spesso cose sbagliate e quando fa lui la risoluzione di esercizi la fa sempre in maniera diversa da quella che dice la traccia , nel senso che parecchi punti che devono essere riportati nell'esercizio vengono saltati. Mah è un tipo molto ma molto strano. Infatti voglio passare quest'esame e non ne voglio sapere più di informatica -.-' perchè non mi piace proprio , poi si ci aggiunge anche il professore che non te la fa piacere.


Dimenticavo ma perchè mettendo x1 = x .... funziona e mettendolo come ho messo io non funziona e mi dava quell'errore? O.o

Torav
29-03-2008, 13:50
perchè l'operatore = assegna il valore della variabile alla sua destra alla variabile alla sua sinistra! quindi tu stavi assegnando a x il valore di x1, mentre quello che devi fare tu è il contrario :D

PaCo87
29-03-2008, 13:55
perchè l'operatore = assegna il valore della variabile alla sua destra alla variabile alla sua sinistra! quindi tu stavi assegnando a x il valore di x1, mentre quello che devi fare tu è il contrario :D

mamma mijj quest'esame lo vedo ogni giorno sempre più lontano -.-' grazie Torav chi vuole farlo al posto mio l'esame ?? :P Lo pagooo !!! xD