Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-12-2007, 20:07   #1
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
[C++] Programma per equazioni 2° grado...

Salve raga.....ho creato un programma per la risoluzione delle equazioni di secondo grado soltanto che c'è un problema....prima d tt sottolineo che è stato fatto in C++ e ed fatto da varie funzioni....tra queste mi crea problema quella per il controllo del DELTA....nel caso sia maggiore, minore o uguale a zero...ecco a voi il codice....
Codice:
// Calcolo del determinante 
float delta (void) 
{ 
   float a, b, c, result; 

      // Chiamata alla funzione che legge i valori 
      coeff ("CALCOLO DEL DELTA", &a, &b, &c); 

      // Calcolo del delta 
      result = (b*b) - 4 * (a) * (c); 

         cout <<endl << "Il DELTA risulta: "; 
         cout <<endl << b <<"^2" <<" -  4*" <<a <<"*" <<c <<"="; 
         cout << result <<endl <<endl; 


    // Chiamata alla funzione che controlla il delta 
     find_sign (result); 

     } 




// Implementazione funzione che controlla il determinante 
float find_sign (float result) 
{ 
   float ris; 
   int caso_1, caso_2, caso_3; 
   char caso; 

      // Se il delta è MAGGIORE di zero 
      if (ris > 0) return 1; 

      // Se il delta è MINORE di zero 
      else if (ris < 0) return 2; 

      // Se il delta è UGUALE a zero 
      else if (ris = 0); return 3; 



 switch (caso) 
 { 
   // Caso 1: delta MAGGIORE di zero 
   case 1: 
   { 
        #ifdef _DEBUG_ 
         cout << "Equazione con due possibili soluzioni"; 
        #endif 

   // Chiamata funzione per il calcolo delle soluzioni 
      soluz(ris); 

   } 

   // Caso 2: delta MINORE di zero 
   case 2: 
   { 
        #ifdef _DEBUG_ 
         cout << "Equazione IMPOSSIBILE"; 
        #endif 

     // Uscita dal programma immediata 
      break; 

   } 

   // Caso 3: delta UGUALE a zero 
   case 3: 
   { 
         #ifdef _DEBUG_ 
         cout << "Equazione IDENTICA: una sola soluzione"; 
         #endif 

      // Chiamata funzione per il calcolo delle soluzioni 
      soluz (ris); 

   } 
 } 

}
Il problema sta nel fatto che quando chiamo find_sign dalla funzione che calcola il delta non mi controlla quest'ultimo....cm fare???
a presto ciaociao
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2007, 21:27   #2
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
WOW....cavolo...in poche parole un disastro....ammazza....cmq doma provo a vedere se riesco a metterlo a posto grz ai tuoi suggerimenti ..... poi vi faccio sapere.....grazie mille ancora....
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 14:10   #3
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
Rieccomi qua a rompervi purtroppo....dunque....nn ho capito varie cose:

1) a find_sign ho passato (result) poichè è il parametro che devo far controllare alla funzione...almeno mi hanno insegnato così....quindi ho chiamato localmente float ris in modo da passargli il valore....poi magari sbaglio....;

2) come faccio a dire alla funzione find_sign di controllare result? è questo il problema d fondo....che si rimanda al punto 1).....in poche parole ho fatto i vari if dicendo che se maggiore di zero e deve (return 1) che sarebbe il primo caso dello switch, l'altro if dice se minore d zero e deve (return 2) che sarebbe il secondo caso dello switch e così via....

per favore è importante sto esercizio sennò mi becco il debito...
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 15:38   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da pixie Guarda i messaggi
Rieccomi qua a rompervi purtroppo....dunque....nn ho capito varie cose:

1) a find_sign ho passato (result) poichè è il parametro che devo far controllare alla funzione...almeno mi hanno insegnato così....quindi ho chiamato localmente float ris in modo da passargli il valore....poi magari sbaglio....;

2) come faccio a dire alla funzione find_sign di controllare result? è questo il problema d fondo....che si rimanda al punto 1).....in poche parole ho fatto i vari if dicendo che se maggiore di zero e deve (return 1) che sarebbe il primo caso dello switch, l'altro if dice se minore d zero e deve (return 2) che sarebbe il secondo caso dello switch e così via....

per favore è importante sto esercizio sennò mi becco il debito...
1) devi usare la variabile risultato all'interno della funzione find_sign! ris è dichiarata ma non inizializzata!
o scrivi ris = result; come prima operazione nella funzione e tieni così tutto in resto (che però ha poco senso)
oppure sostituisci tutti i ris con risultato ed è ok.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 15:40   #5
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
ok va bn....c'ero già arrivato prima della risposta però non mi funziona lo switch e nn capisco....praticamente non mi effettua il controllo agli if per poi andare agli switch-case...
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 15:41   #6
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
Vizz se t agg a msn e mi aiuti li 10 min è un problema?
sia inteso: NN sn omosessuale....per evitare equivoci....
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 15:45   #7
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
rileggendo ora capisco che non ti è ancora chiara una cosa.
il comando return termina la funzione! non interagisce in alcun modo con lo switch successivo.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 15:57   #8
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
t ho agg a msn....ho troppo bisogno per sto programma davvero...cmq s il return so cs è....infatti l'ho tolto dal programma...e ho messo void delta....
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:06   #9
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
posso aiutarti solo qui sul forum, sono anche al lavoro eheheh
riincolla il codice che hai modificato fino ad ora.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:10   #10
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
Codice:
// Calcolo del determinante
void delta (void)
{
	float a, b, c, result;

		// Chiamata alla funzione che legge i valori
		coeff ("CALCOLO DEL DELTA", &a, &b, &c);

		// Calcolo del delta
		result = (b*b) - 4 * (a) * (c);

			cout <<endl << "Il DELTA risulta: ";
			cout <<endl << b <<"^2" <<" -  4*" <<a <<"*" <<c <<"=";
			cout << result <<endl <<endl;


	 // Chiamata alla funzione che controlla il delta
	  find_sign (result);
}



// Implementazione funzione che controlla il determinante
float find_sign (float result)
{

	char caso;

		// Se il delta è MAGGIORE di zero
		if (result > 0) caso = 1;

		// Se il delta è MINORE di zero
		else if (result < 0) caso = 2;

		// Se il delta è UGUALE a zero
		else if (result == 0); caso = 3;



 switch (caso)
 {
	// Caso 1: delta MAGGIORE di zero
	case 1:
	{
		  #ifdef _DEBUG_
			cout << "Equazione con due possibili soluzioni";
		  #endif

	// Chiamata funzione per il calcolo delle soluzioni
		soluz(result);

	}

	// Caso 2: delta MINORE di zero
	case 2:
	{
		  #ifdef _DEBUG_
			cout << "Equazione IMPOSSIBILE";
		  #endif

	  // Uscita dal programma immediata
	   break;

	}

	// Caso 3: delta UGUALE a zero
	case 3:
	{
		   #ifdef _DEBUG_
			cout << "Equazione IDENTICA: una sola soluzione";
		   #endif

	   // Chiamata funzione per il calcolo delle soluzioni
		soluz (result);

	}
 }

 return result;
}

// Implementazione funzione di calcolo delle soluzioni
float soluz (float result)
{
   float a, b, c, ris, soluz_1, soluz_2;

   // Calcolo prima soluzione
   soluz_1 = (-b + sqrt(ris))/2*a;
	cout <<endl << "La PRIMA soluzione è: ";
	cout <<endl <<"-" <<b <<" + " <<"rad " <<ris <<endl <<" /" <<" 2" <<"*" <<a;
	cout <<" = " <<soluz_1 <<endl <<endl;

   system ("pause");

   // Calcolo seconda soluzione
   soluz_2 = (-b - sqrt(ris))/2*a;
	cout <<endl << "La SECONDA soluzione è: ";
	cout <<endl <<"-" <<b <<" - " <<"rad " <<ris <<endl <<" /" <<" 2" <<"*";
	cout <<a <<" = " <<soluz_2 <<endl <<endl;

	system ("pause");


	}


void restart ()
{
	char conferma;

	cout <<"Vuoi riavviare il programma?...Premi [Y/N]";
	cin >> conferma;

	if (conferma = 'Y') {
	   cout <<"Hai deciso di riavviare il programma. BUON  PROSEGUIMENTO !!!";
	   goto inizio;
	}

	else {
	  cout <<"Hai deciso di terminare il programma. BUONA GIORNATA !!!" <<endl;

	  system ("pause");
	  exit ('0');
	}

}
questo è tt qnt....beh l'ultima parte se vuoi lasciala perdere
era solo per far ricominciare il programma
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:11   #11
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
ah sia chiaro...manca la parte del main e della lettura dei valori
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:17   #12
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
ah si è vero ke scemo ....cmq mi dice il compilatore (turbo c++) "code has no effect"....e me lo indica su "if (result == 0)..."
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:27   #13
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
uhm ok un problema l'hai risolto...grz mille...però ade ce n'è un altro....alla fine del programma...dopo il calcolo delle soluzioni mi dice "Invalid floating point operation" e mi indica in rosso la linea del find_sign(result) nel delta...in pratica qnd chiamo la funzione per controllo del delta
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:30   #14
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
no ok ho risolto....grz mille d tt...se ho ancora dei problemi t faccio sapere...grz ancora ciaociao
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:34   #15
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
noooooooo i goto nooooooooooo
meglio se trovi una soluzione senza usare i goto.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:40   #16
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
perchè????? .... okok...no cmq perchè?? cm faccio senza??? a parte che nn funziona lo stesso pure cn i goto....cmq

ah ho un nuovo problema....qnd calcolo le soluzioni a volte qnd queste sn negative il programma mi termina cn "equazione impossibile"...e cm se controllasse le soluzioni trovate...che cavolo!!!! perchè??
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 16:58   #17
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
http://it.wikipedia.org/wiki/GOTO qui ti spiega come mai non si dovrebbero usare i goto in programmi strutturati
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 17:11   #18
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
uhm capito....kiari cm sempre ....grz mille...ade devo andare via poi stase do un occhiata al programma e vediamo di metterlo a posto ....poi v faccio sapere e v rompo le balle cm sempre .....a presto ciaociao
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 21:25   #19
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
ok dunque....questa è la situazione...il programma d base è stato completato finalmente grz al vostro GRANDISSIMO buon animo....quindi ade vorrei inserire una funzione che mi faccia ripartire il programma....all'inizio del programma ho un main che chiede 1 per avviare il programma o 0 per chiudere il programma....in poche parole vorrei tornare a questo punto qnd si è in fondo al programma ma cm???
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2007, 21:50   #20
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
tt il programma dentro un while??? wow mai fatto dai provo
pixie è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Outlook Classic e Gmail: Microsoft pubbl...
HONOR MagicPad 4 porta OpenClaw su Andro...
Android Automotive diventa open source e...
Offerte Amazon di oggi: il meglio tra te...
Xbox Game Pass verso una rivoluzione: ab...
Nuovo DualSense dedicato a Marathon: des...
Lo smartphone XIAOMI 17 12/512GB con ott...
iPhone, iPad e Mac si aggiornano: le nov...
MOUSE: P.I. For Hire si prepara al debut...
Razer Viper V4 Pro: più leggero, ...
Windows 95 e l'anarchia degli installer:...
Gli smartphone sotto i 260€ in offerta s...
BAIC accelera sul futuro delle auto elet...
Wine 11 porta NTSYNC nel kernel mainline...
Huawei XMAGE Awards 2026: al via la deci...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v