radec/src/radec.cpp

40 lines
1023 B
C++

#include "Simulation.h"
using namespace std;
int main() {
// 1. Parse circuit file to create in-memory data structure of Gates and Wires
// to simulate
string fileName;
Simulation e;
int len = 60;
cout << "Please enter filename: ";
getline(cin, fileName);
e.parseCircuit(fileName);
// 2. Parse the vector file to initialize the simulation Queue with initial
// Wire state (i.e., value) changes
e.parseVector(fileName);
// 3. Simulate the circuit using Event-driven control
// first, remove the top Event e in the Queue
// second, determine if e causes a future Wire state change
// third, create and queue any future Wire state changes as new Events
// fourth, apply e's effects
e.simulate(len);
// 4. Ask how long you want the line length to be
// Print the results of the simulation
cout << "How long do you want to simulate to (default 60)? ";
if (cin.peek() == '\n') {
len = 60;
}
else if (!(cin >> len)) {
cout << "Invalid input using 60.\n";
}
e.print(len);
system("pause");
}