• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 19:48
CET 01:48
KST 09:48
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets0$21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7)12Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns7[BSL21] Non-Korean Championship - Starts Jan 103SC2 All-Star Invitational: Jan 17-1822
StarCraft 2
General
Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns Spontaneous hotkey change zerg Chinese SC2 server to reopen; live all-star event in Hangzhou SC2 All-Star Invitational: Jan 17-18
Tourneys
$25,000 Streamerzone StarCraft Pro Series announced $21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7) WardiTV Winter Cup WardiTV Mondays SC2 AI Tournament 2026
Strategy
Simple Questions Simple Answers
Custom Maps
Map Editor closed ?
External Content
Mutation # 508 Violent Night Mutation # 507 Well Trained Mutation # 506 Warp Zone Mutation # 505 Rise From Ashes
Brood War
General
Potential ASL qualifier breakthroughs? BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion StarCraft & BroodWar Campaign Speedrun Quest Data analysis on 70 million replays
Tourneys
[Megathread] Daily Proleagues [BSL21] Grand Finals - Sunday 21:00 CET [BSL21] Non-Korean Championship - Starts Jan 10 SLON Grand Finals – Season 2
Strategy
Game Theory for Starcraft Simple Questions, Simple Answers Current Meta [G] How to get started on ladder as a new Z player
Other Games
General Games
Beyond All Reason Nintendo Switch Thread Awesome Games Done Quick 2026! Mechabellum Stormgate/Frost Giant Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Things Aren’t Peaceful in Palestine Trading/Investing Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread
Sports
2024 - 2026 Football Thread
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List TL+ Announced
Blogs
My 2025 Magic: The Gathering…
DARKING
Physical Exercise (HIIT) Bef…
TrAiDoS
Life Update and thoughts.
FuDDx
How do archons sleep?
8882
James Bond movies ranking - pa…
Topin
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1781 users

C++ revision help! - Page 2

Blogs > konadora
Post a Reply
Prev 1 2 3 4 5 6 7 Next All
Revabug
Profile Blog Joined June 2009
United Kingdom147 Posts
June 28 2009 15:20 GMT
#21
Okay, so I've got that cleared. Now, I need to tackle all these 'floats', 'doubles', 'integers', etc. What are the names of these? Are they the 'return data types'?


They're just data types, they can be used to return but they're not 'return data types'
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
June 28 2009 15:22 GMT
#22
On June 29 2009 00:16 Uligor wrote:
Show nested quote +
On June 29 2009 00:15 tec27 wrote:
On June 28 2009 23:47 AcrossFiveJulys wrote:
On June 28 2009 23:42 konadora wrote:
I don't really quite understand the concept of 'returning an integer', what does it mean?

Also, if you go for int main(), you must end off with a return 0; , but if you use void main(), you don't have to, right?


no. if you make main's return type int, then you can return any integer you want. the point of this is so that a program that calls your main function (such as the program you are using to test it, like a terminal or visual studio) can retrieve the return value. you can use this communication to return error codes... i.e., return 0 if all goes well, or return > 0 if an error occurred.

if you make main void, then it has no return type, and will always return 0 to the caller.

Just to be clear here, making main type void makes it return *no* value which is not at all the same as returning 0. At a lower level, the return value of a function is usually stored in a register, therefore, if the operating system (which in this case acts as a 'calling function' expects main to be of type int and calls it that way, it will receive an effectively random value in return if it is type void. As you might imagine, thats a bad thing that just happens to turn out okay sometimes. In short, make your main function type int.


You're wrong, the compiler automatically makes the main function return 0 when it's specified as void. (xor eax, eax before ret)


That was my understanding as well. To his defense, of course, if you are using a compiler which does not do this, you might have problems. But overall this is a very petty concept.
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
Last Edited: 2009-06-28 15:25:20
June 28 2009 15:23 GMT
#23
My teachers didn't explain any of these differences, just gave us terms, they're like, 'put these here and here, you get a program. now try it'.

That's why... :S

What data type do I use if I want to use a fraction? I'm currently doing this exercise where I'm supposed to convert inputted Farenheit temperature into centigrade and vice versa, and I need to use the fraction 5/9.
POGGERS
ms291052
Profile Joined April 2008
United States24 Posts
June 28 2009 15:24 GMT
#24
On June 28 2009 23:49 konadora wrote:
Oh I see, so it's just that int main() allows you to identify whether your program has an error or not, but void main() can't?


This is essentially true. Some people prefer to always use int as it is "good form." Honestly though, if you don't understand the difference yet, which one you use will make no difference at all.

As for the second program, you read in a NRIC, which is apparently some sort of barcode or something. You then check to see if it's valid by using a check digit, a computable extra number added to the string:

int weight[8] = { 0,2,7,6,5,4,3,2 };
for (int i=1; i<=7; i++)
sum = sum + ( nric[i] - '0' ) * weight[ i ];

// nric[ i ] is the ith character of the nric
// nric[ i ] - '0' is a kind of kludge that will turn a character representation of a digit into a numerical represention of the same digit. That is '9' - '0' = 9 and '6' - '0' = 6, et cetera. Obviously '0' - '0' = 0.
// You then multiply each digit of the nric by some pre-determined "weight" and add them up.
// This algorithm is arbitrary, but as long as it's reproducible any check-digit algorithm is fine.

char digit[ 12 ]= { 'x', 'A', 'B','C','D','E','F','G','H','I','Z','J' };
int checkdigit = 11 - ( sum % 11 );
if( digit[ checkdigit ] == nric[ 8 ] )

// You then take the resulting sum and use modulus arithmetic to reduce it to the range [ 1, 11 ]
// Then you look up the character with that index (from 1 to 11) in the "digit" array to get the 'secret' character that belongs with this string. If they match, you then output saying so. Otherwise you output an error.

Examples:

If your NRIC is 12345678H then your sum is 2*2 + 3*7 + 4*6 + 5*5 + 6*4 + 7*3 + 8*2 = 135 (Note that you ignore the first character, since its index is 0 and i starts from 1)
Then you see that 135 % 11 = 3, so your "check digit" is 11 - 3 = 8.
So you then look up 8 in the digit[] array to get 'H'.
You compare the calculate check digit with the check digit at the end of the number. Lo and behold, a match!

Now, if your NRIC is 93843248B then your sum is 2*3 + 3*8 + 4*4 + 5*3 + 6*2 + 7*4 + 8*8 = 165.
Then you see that 165 % 11 = 0, so your check digit is 11 - 0 = 11.
You look up digit[ 11 ] to get 'J', and compare that to the check digit on the end of the NRIC. They don't match, so clearly I inputted my number wrong.
treason
Profile Joined February 2009
Germany72 Posts
Last Edited: 2009-06-28 15:30:07
June 28 2009 15:28 GMT
#25
On June 29 2009 00:13 konadora wrote:
Show nested quote +
On June 29 2009 00:09 treason wrote:
On June 28 2009 23:36 konadora wrote:
#include <iostream>
#include <string>
using namespace std;

void main() {
char digit[12]= { 'x', 'A', 'B','C','D','E','F','G','H','I','Z','J'};
int weight[8] = { 0,2,7,6,5,4,3,2 };
string nric;
int sum=0; // init cumulative sum to zero

// get NRIC input
cout << "Enter NRIC: ";
getline (cin,nric);
cout << nric << endl;
// calculate check digit
for (int i=1; i<=7; i++) {
sum = sum + (nric[i]-'0')*weight[i];
}
cout << sum << endl;
int checkdigit = 11 - (sum%11);
// check if the user's NRIC check digit matches to confirm valid nric
if (digit[checkdigit]==nric[8])
cout << "valid NRIC number" << endl;
else
cout << "Invalid NRIC number" << endl;
}


char digit[12]= { 'x', 'A', 'B','C','D','E','F','G','H','I','Z','J'};
creates an array of characters with the length of 12, digit[0] == 'x', digit[1] == 'A', ... , digit[11] == 'J'
int weight[8] = { 0,2,7,6,5,4,3,2 };
same with integer values
cout << "Enter NRIC: ";
getline (cin,nric);

here you get an input from the user, he types something on his keyboard, and the input is saved in the string (string = array of char) nric.
for (int i=1; i<=7; i++) {
sum = sum + (nric[i]-'0' )*weight[i];
}

this for-loop iterates through the array the user has typed. Its strange, that you dont start with i = 0, since arrays in C, Java and C++ are beginning with the index 0.

I need help with explanation on the 'arrays' part, I can't find the notes online on my school's e-learning platform. Step-by-step explanation would help so much, I would love you for life

An array is a field of values. Lets say, you want to save 5 numbers:
int number1, number2, number3, number4, number5;
number1 = 0;
number2 = 3;
number3 = 7;
number4 = 12;
number5 = 1;

Thats really annoying, you have to write alot and you can make some mistakes if you are sleepy :D
Thats why arrays were invented:

int example[5];
example[0] = 0;
example[1] = 3;
example[2] = 7;
example[3] = 12;
example[4] = 1;

Thats also to long, you can write it in a shorter way:
int example[] = {0,3,7,12,1};
the first line int example[5]; declares a field of integer values with the length of 5, in the next 5 lines i put some values into this field. Now, 5 values are saved into this field, and you can access its content via the [ ] operator.
If you want to print the first number, you can do:
cout >> number1>> endl;
and with the array:
cout >> example[0] >> endl;
Another good thing about arrays is, that you can use a for-loop the access all contents of the field:
for(int i = 0; i<=4; i++){
cout >> example[i] >> endl;
}

will write:
0
3
7
12
1

on the screen.


konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
Last Edited: 2009-06-28 15:36:08
June 28 2009 15:32 GMT
#26
@ms291052:

// nric[ i ] - '0' is a kind of kludge that will turn a character representation of a digit into a numerical represention of the same digit. That is '9' - '0' = 9 and '6' - '0' = 6, et cetera. Obviously '0' - '0' = 0.
// You then multiply each digit of the nric by some pre-determined "weight" and add them up.

Why is the -0 necessary? (Great first post btw, thanks lol)

@treason:
so if you put number[5], you'll have 5 different values, but if you want to access the nth number, you must use number[n-1]?

Also, this part

for(int i = 0; i<=4; i++){
cout >> example[i] >> endl;
}


Means that something like:

First, display the 0th line's number, and since it's not greater than example[4], display 0+1 (making it 1th) line's number, and continue until it reaches i = 4 (where it cannot exceed i = 4 and ends there), right?
POGGERS
Superbia
Profile Blog Joined April 2008
Netherlands8889 Posts
June 28 2009 15:38 GMT
#27
On June 29 2009 00:32 konadora wrote:
@ms291052:

Show nested quote +
// nric[ i ] - '0' is a kind of kludge that will turn a character representation of a digit into a numerical represention of the same digit. That is '9' - '0' = 9 and '6' - '0' = 6, et cetera. Obviously '0' - '0' = 0.
// You then multiply each digit of the nric by some pre-determined "weight" and add them up.

Why is the -0 necessary? (Great first post btw, thanks lol)

@treason:
so if you put number[5], you'll have 5 different values, but if you want to access the nth number, you must use number[n-1]?


The character '0' has a different value than int 0 (char '0' is in fact 48 int, '1' is 49 etc). But when you subtract the character with '0', you essentially do -48. So when the character is '1' (49), it becomes 49-48 = 1.
Minimal effort.
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 15:40 GMT
#28
On June 29 2009 00:38 Uligor wrote:
Show nested quote +
On June 29 2009 00:32 konadora wrote:
@ms291052:

// nric[ i ] - '0' is a kind of kludge that will turn a character representation of a digit into a numerical represention of the same digit. That is '9' - '0' = 9 and '6' - '0' = 6, et cetera. Obviously '0' - '0' = 0.
// You then multiply each digit of the nric by some pre-determined "weight" and add them up.

Why is the -0 necessary? (Great first post btw, thanks lol)

@treason:
so if you put number[5], you'll have 5 different values, but if you want to access the nth number, you must use number[n-1]?


The character '0' has a different value than int 0 (char '0' is in fact 48 int, '1' is 49 etc). But when you subtract the character with '0', you essentially do -48. So when the character is '1' (49), it becomes 49-48 = 1.

Oooh, okay thanks, didn't know that!
POGGERS
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 15:48 GMT
#29
My next question:

What data type do I use if I want to use a fraction? I'm currently doing this exercise where I'm supposed to convert inputted Farenheit temperature into centigrade and vice versa, and I need to use the fraction 5/9.
POGGERS
Superbia
Profile Blog Joined April 2008
Netherlands8889 Posts
June 28 2009 15:49 GMT
#30
On June 29 2009 00:48 konadora wrote:
My next question:

Show nested quote +
What data type do I use if I want to use a fraction? I'm currently doing this exercise where I'm supposed to convert inputted Farenheit temperature into centigrade and vice versa, and I need to use the fraction 5/9.


float or double.
Minimal effort.
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 15:53 GMT
#31
Isn't double for numbers with decimal points? What's the difference between float and double?

(Sorry if these questions are very basic, but no revision + 1 month of missing school + bad teacher = sucky at language)
POGGERS
tec27
Profile Blog Joined June 2004
United States3702 Posts
June 28 2009 15:56 GMT
#32
On June 29 2009 00:16 Uligor wrote:
Show nested quote +
On June 29 2009 00:15 tec27 wrote:
On June 28 2009 23:47 AcrossFiveJulys wrote:
On June 28 2009 23:42 konadora wrote:
I don't really quite understand the concept of 'returning an integer', what does it mean?

Also, if you go for int main(), you must end off with a return 0; , but if you use void main(), you don't have to, right?


no. if you make main's return type int, then you can return any integer you want. the point of this is so that a program that calls your main function (such as the program you are using to test it, like a terminal or visual studio) can retrieve the return value. you can use this communication to return error codes... i.e., return 0 if all goes well, or return > 0 if an error occurred.

if you make main void, then it has no return type, and will always return 0 to the caller.

Just to be clear here, making main type void makes it return *no* value which is not at all the same as returning 0. At a lower level, the return value of a function is usually stored in a register, therefore, if the operating system (which in this case acts as a 'calling function' expects main to be of type int and calls it that way, it will receive an effectively random value in return if it is type void. As you might imagine, thats a bad thing that just happens to turn out okay sometimes. In short, make your main function type int.


You're wrong, the compiler automatically makes the main function return 0 when it's specified as void. (xor eax, eax before ret)

I'm sorry, but you're wrong except for very specific compilers. Microsoft's compiler does this, but the standards do not support that. It was merely done to make bad code that they/other people had written in the past still work.

If you hop over to g++, however, you'll find that you can't even compile a program with 'void main':
voidmain.cpp:1: error: '::main' must return 'int'


Now, what is within the standards is to auto-return 0 for main functions declared as type int (IE: if no return statement is specified inside). While this is still bad practice, it should work on all standards-compliant compilers.

In short, don't encourage someone to not follow standards on a simple matter like this just because a certain compiler will fix the mistake for them. Its incredibly bad practice, and this is the kind of thing that, even though its small, will make lots of people have zero respect for you and your code.
Can you jam with the console cowboys in cyberspace?
tec27
Profile Blog Joined June 2004
United States3702 Posts
Last Edited: 2009-06-28 16:01:46
June 28 2009 15:58 GMT
#33
On June 29 2009 00:53 konadora wrote:
Isn't double for numbers with decimal points? What's the difference between float and double?

(Sorry if these questions are very basic, but no revision + 1 month of missing school + bad teacher = sucky at language)

Both double and float are for numbers with decimal points. A double has more precision than a float (IE: can store longer decimals), but is also therefore larger in memory.

Edit: Also, you probably don't need to use a floating-point format at all, you can just plug the 5/9 into the calculation itself.

IE: int celsius = (int)((farenheit - 32) * 5 / 9);

Should work (although it will be truncated to an integer).
Can you jam with the console cowboys in cyberspace?
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 16:01 GMT
#34
On June 29 2009 00:58 tec27 wrote:
Show nested quote +
On June 29 2009 00:53 konadora wrote:
Isn't double for numbers with decimal points? What's the difference between float and double?

(Sorry if these questions are very basic, but no revision + 1 month of missing school + bad teacher = sucky at language)

Both double and float are for numbers with decimal points. A double has more precision than a float (IE: can store longer decimals), but is also therefore larger in memory.

Oh okay, understand now.

Thanks for all the responses so far, I just need to refresh my memory since I did practice quite a bit... a few months ago. Currently doing an exercise, will post questions once again here if I get stuck, can't say this enough but thanks again!
POGGERS
Superbia
Profile Blog Joined April 2008
Netherlands8889 Posts
June 28 2009 16:03 GMT
#35
On June 29 2009 00:53 konadora wrote:
Isn't double for numbers with decimal points? What's the difference between float and double?

(Sorry if these questions are very basic, but no revision + 1 month of missing school + bad teacher = sucky at language)



double and float are for numbers like 1.234, yes. The difference between double and float is float is 32 bit and double is 64 bit.

Maybe I misunderstood your question, you wanted to know what datatype you should use in an algorithm to convert Farenheit temperature into centigrade and viceversa? Or did you want to know how to output a fraction in the console?

On June 29 2009 00:56 tec27 wrote:
Show nested quote +
On June 29 2009 00:16 Uligor wrote:
On June 29 2009 00:15 tec27 wrote:
On June 28 2009 23:47 AcrossFiveJulys wrote:
On June 28 2009 23:42 konadora wrote:
I don't really quite understand the concept of 'returning an integer', what does it mean?

Also, if you go for int main(), you must end off with a return 0; , but if you use void main(), you don't have to, right?


no. if you make main's return type int, then you can return any integer you want. the point of this is so that a program that calls your main function (such as the program you are using to test it, like a terminal or visual studio) can retrieve the return value. you can use this communication to return error codes... i.e., return 0 if all goes well, or return > 0 if an error occurred.

if you make main void, then it has no return type, and will always return 0 to the caller.

Just to be clear here, making main type void makes it return *no* value which is not at all the same as returning 0. At a lower level, the return value of a function is usually stored in a register, therefore, if the operating system (which in this case acts as a 'calling function' expects main to be of type int and calls it that way, it will receive an effectively random value in return if it is type void. As you might imagine, thats a bad thing that just happens to turn out okay sometimes. In short, make your main function type int.


You're wrong, the compiler automatically makes the main function return 0 when it's specified as void. (xor eax, eax before ret)

I'm sorry, but you're wrong except for very specific compilers. Microsoft's compiler does this, but the standards do not support that. It was merely done to make bad code that they/other people had written in the past still work.

If you hop over to g++, however, you'll find that you can't even compile a program with 'void main':
Show nested quote +
voidmain.cpp:1: error: '::main' must return 'int'


Now, what is within the standards is to auto-return 0 for main functions declared as type int (IE: if no return statement is specified inside). While this is still bad practice, it should work on all standards-compliant compilers.

In short, don't encourage someone to not follow standards on a simple matter like this just because a certain compiler will fix the mistake for them. Its incredibly bad practice, and this is the kind of thing that, even though its small, will make lots of people have zero respect for you and your code.


It is true that it is compiler specific (I use MSVS08 and I was under the impression kona used this as well, hence the windows explanation of what happens with the exitcode). I apologize because I used "the compiler" instead of specifying the compiler I was talking about, this made it seem like I was belittling your knowledge of compiler specifics.
Minimal effort.
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 16:08 GMT
#36
Maybe I misunderstood your question, you wanted to know what datatype you should use in an algorithm to convert Farenheit temperature into centigrade and viceversa?


Yup, which datatype.

Also, fyi, I'm using Microsoft Visual C++ Express Edition.
POGGERS
tec27
Profile Blog Joined June 2004
United States3702 Posts
June 28 2009 16:12 GMT
#37
Also, sorry if I'm coming off as rude, Uligor. I just think its a really bad idea to teach newer programmers to use 'void main()' before they even know how it affects anything, since its super-easy to learn the other way at the beginning, but somewhat harder to fix old habits later on.
Can you jam with the console cowboys in cyberspace?
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
June 28 2009 16:13 GMT
#38
Okay, I've managed to complete the exercise, using this:

#include <iostream>
using namespace std;

int main()
{
double c,f;
cout << "Please enter the temperature in Centigrade." << endl;
cin >> c;
f = ((c*1.8)+32);
cout << "The temperature is " << f << " degrees Farenheit." << endl;

cout << "Please enter the temperature in Farenheit." << endl;
cin >> f;
c = ((f-32)*5/9);
cout << "The temperature is " << c << " degrees Centigrade." << endl;

return 0;
}


But I want the user to choose which one he's inputting first (whether he's going to input Farenheit or Centigrade), and use that, and end the program. Which loop do I use, and how?
POGGERS
tec27
Profile Blog Joined June 2004
United States3702 Posts
Last Edited: 2009-06-28 16:20:44
June 28 2009 16:20 GMT
#39
I don't think you need to use a loop for that, just use an if/else statement. Just input a character to decide which one to use or whatever and then check it:


if(myChar == 'c' ) {
// do Celsius -> Farenheit calculation
}
else if(myChar == 'f' ) {
// do Farenheit -> Celsius calculation
}
else {
// Tell the user to follow instructions, better luck next time
}
Can you jam with the console cowboys in cyberspace?
konadora *
Profile Blog Joined February 2009
Singapore66358 Posts
Last Edited: 2009-06-28 16:21:59
June 28 2009 16:21 GMT
#40
What is the myChar?

Or is that the 'character'? lol
POGGERS
Prev 1 2 3 4 5 6 7 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 11h 12m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft532
White-Ra 137
SpeCial 128
UpATreeSC 92
SteadfastSC 75
CosmosSc2 45
StarCraft: Brood War
Britney 9981
Shuttle 880
Artosis 796
Sexy 66
NaDa 15
GoRush 14
Dota 2
capcasts112
canceldota19
League of Legends
C9.Mang0215
Counter-Strike
summit1g6029
Coldzera 1005
Foxcn186
Super Smash Bros
PPMD59
Other Games
tarik_tv6484
shahzam442
B2W.Neo225
XaKoH 157
Maynarde134
Dewaltoss56
Ketroc6
Organizations
Other Games
gamesdonequick2374
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• davetesta18
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki21
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota21548
• WagamamaTV479
Other Games
• imaqtpie2357
• Shiphtur215
Upcoming Events
WardiTV Invitational
11h 12m
PiGosaur Cup
1d
WardiTV Invitational
1d 11h
The PondCast
2 days
OSC
2 days
OSC
3 days
All Star Teams
4 days
INnoVation vs soO
sOs vs Scarlett
uThermal 2v2 Circuit
4 days
All Star Teams
5 days
MMA vs DongRaeGu
Rogue vs Oliveira
Sparkling Tuna Cup
5 days
[ Show More ]
OSC
5 days
Replay Cast
6 days
Wardi Open
6 days
Liquipedia Results

Completed

Proleague 2026-01-12
Big Gabe Cup #3
NA Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
BSL 21 Non-Korean Championship
CSL 2025 WINTER (S19)
OSC Championship Season 13
Underdog Cup #3
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025

Upcoming

Escore Tournament S1: W4
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Rongyi Cup S3
Thunderfire SC2 All-star 2025
Nations Cup 2026
BLAST Open Spring 2026
ESL Pro League Season 23
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.