#include "pch.h" #include "Shudu.h" //判断字符串是否只有数 using namespace std; bool isnum(string s) { stringstream sin(s); double d; char c; if (!(sin >> d)) return false; if (sin >> c) return false; else return true; } int main(int argc, char** argv) { int n; ofstream out("sudotiku.txt"); //判断输入是否合法 if (argc == 3) { if (strcmp(argv[1], "-c") == 0) //-c:生成的数独棋盘的数量 { if (!isnum(argv[2])) { cout << "Error input parameter" << endl << "Please re-enter an integer:"; cin >> n; } else { n = atoi(argv[2]); } } else { cout << "Error input parameter" << endl << "Please re-enter an integer:"; cin >> n; } } else { cout << "Error input parameter" << endl << "Please re-enter an integer:"; cin >> n; } //判断输入的数字是否为0 while (n == 0) { cout << "Error input parameter" << endl << "Please re-enter an integer:"; cin >> n; } Shudu *sd = new Shudu[n];//动态生成n个数独 srand(unsigned(time(NULL)));//产生随机数种子,防止每次产生的随机数相同 for (int i = 0; i < n; i++) { sd[i].GenerateShudu(); sd[i].PrintShudu(); sd[i].WriteFile(out); cout << endl; out << endl; } delete[] sd; return 0; }