Ecco il codice sorgente del programma da copiare nel blocco note e salvare come file .TXT, per poterlo poi utilizzare con il compilatore DEV-C++ come già descritto in questo articolo.
------------inizio codice------------
//Programma di Grando Ruggero
			//TEST CALCOLO IN ALU CON LA SERIE DI FIBONACCI RICORSIVA
			
			#include <iostream> //includo la libreria di visualizzazione
			#include <time.h> //includo la libreria della funzione time
			#include <string>
			#include <fstream>
			#include <iomanip>
			#include <windows.h>
			#include <stdlib.h>
			#include <stdio.h>
			#include <conio.h>
			#include <process.h>
			
			
			using namespace std;
			
			long fib (long); //prototipo di funzione
			void outputline (const char *,const char *, const char*, const char *, int);
			
			int main()
			{
			long N;
			string verificatest;
			string verificainse;
			string leggidatabase;
			
			cout << "TEST DI CALCOLO PER IL PROCESSORE, UNITA' ALU (operazioni con numeri interi)." << endl;
			cout << "Calcolo con la serie di Fibonacci in grado di occupare al massimo i sistemi di calcolo piu' potenti." << endl;
			cout << "Prima versione by Grando Ruggero";
			cout << endl << endl;
			
			cout << "Vuoi iniziare il test? (SI/NO)";
			cin >> verificatest;
			for (int i=0; i < verificatest.length(); i++) {
			verificatest[i] = toupper (verificatest[i]);
			}
			while (verificatest == "SI") {
			
			cout << "Il test calcolera' il tempo di esecuzione della serie di Fibonacci con" << " il numero 42." << endl;
			int N=42;
			time_t now = time (0); //nella variabile now inizia il tempo
			cout << "Fibonacci (" << N << ") e' " << fib(N) << "\n\n";
			time_t after = time (0); //nella variabile after è registrato il termine del calcolo di fibonacci
			double seconds = difftime (after,now); //nella variabile seconds vi è la differenza in secondi tra i due test
			cout << "Tempo totale di esecuzione richiesto dalla CPU in ALU " << seconds << " secondi" << endl << endl;
			
			ofstream outsistemafile ("sistema.dat", ios::app);
			if ( !outsistemafile )
			{
			cerr << "Il file non può essere aperto" << endl;
			exit (1);
			}
			
			char CPU [30];
			char SCHEDA [30];
			char RAM [30];
			char SISTEMA [30];
			int TEST;
			cout << "Per inserire i record scrivere OK" << endl;
			cin >> verificainse;
			for (int j=0; j < verificainse.length(); j++) {
			verificainse[j] = toupper (verificainse[j]);
			}
			while (verificainse == "OK")
			{
			cout << "Inserisci il modello di processore senza spazi?"<< endl;
			cin >> CPU;
			cout << "Inserisci il modello di scheda madre?" << endl;
			cin >> SCHEDA;
			cout << "Inserisci la quantita' di ram di sistema?" << endl;
			cin >> RAM;
			cout << "Inserisci quale sistema operativo stai utilizzando per il test?" << endl;
			cin >> SISTEMA;
			cout << "Inserisci il tempo di esecuzione del test precedente del tuo sistema?" << endl;
			cin >> TEST;
			outsistemafile << CPU << ' ' << SCHEDA << ' ' << RAM << ' ' << SISTEMA << ' ' << TEST << '\n';
			
			cout << "Se vuoi inserire un'altro record (digita OK), altrimenti premi un tasto per continuare." << endl;
			cin >> verificainse;
			for (int j=0; j < verificainse.length(); j++) {
			verificainse[j] = toupper (verificainse[j]);
			}
			}
			outsistemafile.close();
			cout << "Vuoi visualizzare il database del sistema?";
			cin >> leggidatabase;
			for (int l=0; l< leggidatabase.length(); l++) {
			leggidatabase[l] = toupper (leggidatabase[l]);
			} //fine del ciclo for
			while (leggidatabase == "SI")
			{
			cout << "Benissimo ecco la visualizzazione dei dati del database" << endl << endl;
			ifstream outsistemafile ("sistema.dat", ios::in);
			if (!outsistemafile) {
			cerr << "Il file non può essere aperto";
			exit (1);
			}
			cout << setiosflags (ios::left) << setw (19) << "PROCESSORE" << setw(15) << "SCHEDAMADRE" << setw(9)<< "MEMORIA" << setw (21)<< "SISTEMA OP." << setw (12)<< "RIS. TEST" << endl << endl;
			while (outsistemafile >> CPU >> SCHEDA >> RAM >> SISTEMA >> TEST) {
			outputline (CPU, SCHEDA, RAM, SISTEMA, TEST);
			}
			outsistemafile.close ();
			cout << "Vuoi visualizzare nuovamente il database del test?";
			cin >> leggidatabase;
			for (int l=0; l< leggidatabase.length(); l++) {
			leggidatabase[l] = toupper (leggidatabase[l]);
			} //fine del ciclo for
			}//fine del ciclo while
			
			
			cout << "Vuoi iniziare di nuovo il test? ";
			cin >> verificatest;
			for (int i=0; i < verificatest.length(); i++) {
			verificatest[i] = toupper (verificatest[i]);
			} //fine del ciclo for
			
			} // fine del ciclo while
			
			cout << "Grazie per aver utilizzato il test";
			
			
			
			return 0;
			} //fine del main
			
			//Definizione della funzione ricorsiva di Fibonacci
			long fib(long n)
			{
			if (n <= 2)
			return 1;
			else
			
			return fib(n-1) + fib(n-2);
			}
			// Definizione della funzione outpuline
			void outputline (const char *proc, const char *main, const char *mem, const char *sistop, int risult)
			{
			cout << setiosflags (ios::left) << setw (19) << proc << setw (15) << main << setw (9)<< mem << setw(24) <<sistop << setw (5)
			<< resetiosflags (ios::left)
			<< setiosflags (ios::fixed | ios::showpoint)
			<< risult << '\n';
			
			}
--------------fine codice-------------
Menu Sezione/Pagina Precedente/Pagina Successiva/Torna alla Homepage
			
Sito:www.megaoverclock.it