-
Notifications
You must be signed in to change notification settings - Fork 0
/
assisted-compiler-win.cpp
107 lines (107 loc) · 4.12 KB
/
assisted-compiler-win.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE) ;
int main(){
string filename="", name="";
int scelta=0;
char continua;
bool cont;
do{
system("cls");
SetConsoleTextAttribute (h, 2);
std::cout<<"[C/C++ File Compiler ~ by Gab8bit]\n\n";
SetConsoleTextAttribute (h, 9);
std::cout<<"Single Compilation:";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n1- Compile one C file\n2- Compile one C++ file\n\n";
SetConsoleTextAttribute (h, 9);
std::cout<<"Multiple Compilation:";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n3- Compile multiple C files\n4- Compile multiple C++ files\n\nChoice: ";
std::cin>>scelta;
std::cout<<"\n\n";
switch(scelta){
case 1:{
system("cls");
SetConsoleTextAttribute (h, 9);
std::cout<<"[Single Compilation of a C file]";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n\nFilename: ";
std::cin>>filename;
SetConsoleTextAttribute (h, 14);
std::cout<<"\n\nCompiler output:\n";
SetConsoleTextAttribute (h, 7);
name = "g++ " + filename + ".c -o " + filename;
system(name.c_str());
std::cout<<"\n\n";
break;
};
case 2:{
system("cls");
SetConsoleTextAttribute (h, 9);
std::cout<<"[Single Compilation of a C++ file]";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n\nFilename: ";
std::cin>>filename;
SetConsoleTextAttribute (h, 14);
std::cout<<"\n\nCompiler output:\n";
SetConsoleTextAttribute (h, 7);
name = "g++ " + filename + ".cpp -o " + filename;
system(name.c_str());
std::cout<<"\n\n";
break;
};
case 3:{
system("cls");
SetConsoleTextAttribute (h, 9);
std::cout<<"[Multiple Compilation of C files]";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n\nNumber of files: ";
int num, i=0;
std::cin>>num;
string filenames[num];
while(i<num){
std::cout<<"\nFilename: ";
std::cin>>filenames[i];
SetConsoleTextAttribute (h, 14);
std::cout<<"\n\nCompiler output:\n";
SetConsoleTextAttribute (h, 7);
name = "g++ " + filenames[i] + ".c -o " + filenames[i];
system(name.c_str());
std::cout<<"\n\n------------------";
++i;
}
break;
};
case 4:{
system("cls");
SetConsoleTextAttribute (h, 9);
std::cout<<"[Multiple Compilation of C++ files]";
SetConsoleTextAttribute (h, 7);
std::cout<<"\n\nNumber of files: ";
int num, i=0;
std::cin>>num;
string filenames[num];
while(i<num){
std::cout<<"\nFilename: ";
std::cin>>filenames[i];
SetConsoleTextAttribute (h, 14);
std::cout<<"\n\nCompiler output:\n";
SetConsoleTextAttribute (h, 7);
name = "g++ " + filenames[i] + ".cpp -o " + filenames[i];
system(name.c_str());
std::cout<<"\n\n------------------";
++i;
}
break;
};
};
std::cout<<"\n\n\nCompile more files? (y/n) ";
std::cin>>continua;
if(continua == 'y' || continua == 'Y'){
cont=true;
}else cont=false;
}while(cont);
}