Errore di virgola mobile

5 risposte [Ultimo messaggio]
Ritratto di Numerione
Numerione
(Junior)
Offline
Junior
Iscritto: 31/03/2006
Messaggi: 45

sto a programmare per le vacanze scolastiche (compito di scuola, unico al mondo che li fa, ma almeno mi servono per mantenere in esercizio per il c++ che sennò me lo scordo) un simulatore di telefonia mobile, ovvero ci sono tre gestori con diversi numeri telefonici che devono anche chiamarsi fra di loro. ma questo è la cosa meno importante. la cosa che non riesco a capire è la stranezza di alcune cose che mi capitano.

l'ultima cosa che non posso capire è perchè appena richiamata una funzione bool funzione() mi esegua la prima linea di cout<<"testo su video" e poi esca dal programma con un

Errorre di virgola mobile

eppure in quel preciso spezzone di codice non esiste neanche UNA operazione in virgola mobile, ma neanche mezzavariabile in virgola mobile. da cosa è definito un problema del genere?

vi copio ed incollo uno spezzone della funzione, ovviamente non si capirà a cosa serve ma diciamo che è inserita nel complesso dell'intelligenza artificiale che controlla il mercato.

<br />bool termina_chiamata_random()<br />{<br /><br />    cout&lt;&lt;&quot;Avviata termina chiamata random...&quot;&lt;&lt;endl; <br />//dopo quest a scritta il programma esce e da errore di virgola mobile<br />//l&#039;errore lo dà anche se tolgo il cout ma in qualsiasi caso non esegue il cout qua sotto anche se elimino quello sopra<br />    cout&lt;&lt;&quot;Questa scritta non fa in tempo a visualizzarsi&quot;;<br />chiamata * scorr = c_testa;<br /><br />int cc=0;<br />while (scorr!=NULL) {<br />                    cc++; scorr=scorr-&gt;c_next;<br />                    }<br />scorr=c_testa;<br />for (int i=0;i&lt;rand() % cc;i++)<br />{<br />scorr=scorr-&gt;c_next;<br />}<br />close_phone(scorr-&gt;c_prefix,scorr-&gt;c_number1);<br />return true;<br />}<br />

La maggiorparte dei problemi in un computer risiede fra la superfice dello schermo e lo schienale della sedia

Ritratto di roundrobin
roundrobin
(Monster)
Offline
Monster
Iscritto: 12/08/2005
Messaggi: 208

Se la lista è vuota "cc" rimane inizializzato a 0

Successivamente la divisione in modulo 0 nel for genera l'errore

[=666666][=x-small]Ci sono 642 cose che devono accadere in sequenza; noi siamo solo alla numero 8
[/][/]

Ritratto di trifo
trifo
(Newbie)
Offline
Newbie
Iscritto: 06/05/2011
Messaggi: 5

Ciao, se può esserti utile ho lo stesso problema con vlc e nvidia-xserver-settings.
non funzionano più da una settimana credo dopo un aggiornamento del sistema automatico. La sola indicazione che danno a terminale è : "errore di virgola mobile".

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 17/12/2010
Messaggi: 39

Caro Trifo,
a parte che le due cose sono ben diverse, e che il problema era gia` stato risolto, ma riesumare un post del 05/08/2006, dopo piu` di 5 anni di solito non ha molto senso!

Ciao,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di trifo
trifo
(Newbie)
Offline
Newbie
Iscritto: 06/05/2011
Messaggi: 5

Hi, ho risolto il problema di virgola mobile installando i driver nvidia della serie 270.... e
vlc e nvidia-setting magicamente funzionano nuovamente.

bye

Ritratto di trifo
trifo
(Newbie)
Offline
Newbie
Iscritto: 06/05/2011
Messaggi: 5

ops visto solo ora le date.

ciao.