Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Tutorial] C++ tutorial
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  

Should I continue the tutorial?
Yes
58%
 58%  [ 10 ]
No
41%
 41%  [ 7 ]
Total Votes : 17

Author Message
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Fri Jun 08, 2007 4:53 pm    Post subject: [Tutorial] C++ tutorial Reply with quote


Votes So Far
Yes = 10
No = 7


take that mod

C++ is a greatly known languange know and used by many people. I think you will find that is a fun language to learn. Now before I get started, I would like you to know, that you can't always just take a concept read the page and be done with it. C++ is fun but is also confusing. Sometimes grasping the concept will always be easy and you will have to read through. In that case you shouldn't just give up and tell yourself that it is too hard, not important, who cares. Anyway on to the tutorial.

In C++ when writing a program you must have a header files, which tells the program before it executed from functions you are going to use in the program. In C++ the most comman header file, and the one that almost every tutorial starts out with is this.

Code:

#include <iostream>


I will use this header file throughout the tutorial. Ok, now the first program we are going to make is this. Yes, it is a hello world program.

Code:


#include <iostream>

using namespace std;

int main()

{
    cout<<"Hello world!\n";
    cin.get();
}


I will explain each part of this program.

As you know, we have the header file, so if you were paying attention you should already know what that does.

The second part of the code "using namespace std", tells the program to use a list of functions from the standard library (std).

Now onto "int main()". This is very important. It tells the program that there is a function, main, and that that function will return an integer, hence the int.

The curly brackets ( { and } ), signal the start and end of the all the functions and the blocks of codes and other such things.

The 'cout' is an object used to display text and handle output. The '<<' also known as "insertion operators" to indictate what you're going to output. In this case it was "Hello world!". If you are smart you know that the " and " are used to indicate the beginning and the the finish of the text. The '\n' indicates a new line. But notice the semicolon, ';'. This is so that all the codes don't run into each other so to speak.

Now, I'm sure your getting bored of this, and are like, "Oh god, just tell me how to make a f***ing program!", I know it's boring for me, as I am sitting at my computer screen righting this down on a notepad file. But this is the last command in the whole thing and we can move on! YAY! Ok, well the next command is 'cin.get()'. It is another function calls, it handles input intsead of output like cout. In this paticular program it expects the user to hit the return key, which would be any button, and it would close the program.

Ok, I lied, one last thing (I'm lying again, or am I, bumbumbum), the final brace closes the functions, and returns the integer 0, why we told main to return an integer, this tells our program that we suceeded, and it returned right away. But if we wanted to tell it to return something else you would have to do it manually. Such as you could use the same code but you could tell it to return 1.

Code:


#include <iostream>

using namespace std;

int main()

{
    cout<<"Hello world!\n";
    cin.get();

    return 1;
}


You should compile this program and try running it. Now on that note let me talk about compiling!

Compiling

When you write a source code for a file, you can't just save it and say, "Yay, I made a program." and try to run it. You will ALWAYS get an error. First you have to compile it. I will put a compiler link at the end of this tutorial. When you compile something it turns your source code into binary numbers so that your computer can read your file and run it. Otherwise your computer will see your source code and again give you an error. When you compile something it is usually best to just run it and see if you can find any errors or bugs to fix. After that you can save it and you will get a .cpp file (c plus plus) with your source code an an .exe file (executable) that you will run and you will see your program in action.

Commenting

Commenting is very common in all languages and is very helpful. It is helpful for people reading your source code and wonder what each thing does. It also is helpful for yourself. If you made a program, and then a month later decided to update it, you might have forgotten what each function did. But if you had comment marks, it would be easier for you to remember what your program did. You really shouldn't over comment. Only use it on important or confusing parts of the code. There are two kinds of comments. There is '//' and "/* */". The '//' is used for one line of comment such as this:

Code:

cout<<"Hello world!\n"; //This displays the text "Hello world!".


The "/* */ can take up multiple lines such as this:

Code:

/*********************************************************************
This program will automaticly pwn all other programs running

pwn equals close! XD. AND IF YOU CLOSE THIS PROGRAM YOU GET A TROJAN!!!
*********************************************************************/



Varibles

Varibles, well variables, um..., wow this is sad can't think of anything to say with variables, writers block god damit, well I guess I will just have to move on with this and get to variables instead of making a speech about it.

There are a couple of types of variables.

Code:

int bla


Code:

float bla


Code:

double bla


Code:

char bla


These aren't really variables, they are keywords to decalare variables, the variable, in this case is 'bla'. Each keyword will do something different.

int will declare a variable as an integer or whole number. It will not be accepted as a decimal, character letters or a letter, etc.

float is another keyword. float declares a variable as a decimal, such as 1.2. It takes 4 bytes on about any RAM (memory). It ranges through 1.E-36 through 1.E+36

double is a doulbe-precision float. It ranges through 1.E-303 to 1.E+303. It takes 8 bytes to store.

char stand for character. It decalres a variable to be a letter or a string of letters.

Now that I have finished with that, I will give you a sample code.

Code:

#include <iostream>

using namespace std;

int main()

{
    int number
   
    cout<<"Please enter a number.\n";
    cin>> number;
    cin.ignore();
    cout<<"You chose " << number <<" as your number.\n";
    cin.get();
}


You know the whole beginning so I will skip that. In the beginning I declare number as an integer variable. After that I use the cout function to show the text "Please enter a number." As you know the '\n' stands for new line and the ';' tells its the end of that line of code.

The 'cin>>' read the input that the user "inputted" and then reads the value into number. The user first has to press enter so that cin can do all of that.

'cin.ignore()' is another function that reads and discards a character. Remember that when type an input into a program it takes the an enter key to tell the program to continue. But we don't really need this so we throw it away.

Again I used the cout function to display the text. But when I put " << number <<", I was telling the program to insert the value of the variable number into the line of text. So say you put the number 5 as your number. The cout function would display this piece of text: You chose 5 as your number.

You already know what '\n' does and the ';' and the 'cin.get();'. so I won't goe into that.

But you have to remember, thatt it is kind of boring to keep variables the same, some weays to change them are with these signs: *, /, +, -, =, ==, >, <. In order they mean, multiply, divide, add, subtract, greater than, less than. I skipped two though, = and ==. The '='doesn't mean it equals, it really moves a value into a variable. Like the 'mov' command in asm. The '==' checks to see if the variables, left and right, are equal. In fact, I will put a whole section on these two commands, plus the > and <. But remember, when trying to remember something, always remember the order of operations. Do everything in parenthesis first. Then multiply and divide left to right, and add subtract left to right. So if you put this for example:

Code:

5 + (6 * 7) -  (10/2) * 5


Some people would do 5 + 6 = 11. Then 11 * 7 = 77. 77 - 10 = 67. 67 / 2 = 33.5.
33.5 * 5 = 167.5 and think that is their answer. But really you have to do this.

Code:

(6 * 7 = 42),  (10/2 = 5) (5 * 5 = 25)


Code:

(5 + 42 = 47), (47 - 5 = 42), (42 * 25 = 1050)


See the difference? That is a big difference, especially with different formualas, you might think that it will turn out one way when it will turn out another.

Constants

Constants are like variables except that they cannot be changed. Their are two types of constants, a symbolic constant, and a literal constant. I am going to start with a symbolic constant. A symbolic constant can be declared two ways.

Code:

#define me 11


The syntax of that way, or the way of writing it, is #define NAMEOFCONSTANT literalvalue. The other way is this.

Code:

const int me 11


The syntax of this is const keyword CONSTANTNAME literalvalue. A literal constant can be declared this way.

Code:

int bla = 150


The syntax for this is (yes I know, so many syntaxes, it's even boring for me...) is keyword variablename = literalvalue. Literl constants are also referred to as "magic numbers."

Ok, now that I have bored you, but taught you, I will now talk about why constants are useful. Let's say you have a program that needed your age, and you were 16. So your code would like like this.

Code:

#define age 16


Now you wanted to change that though because you just turned 17. But you didn't want to have to change all the numbers. All you have to do is change the code and everything in your source code referring to 'age' will be updated.

Code:

#define age 17


Ways to write variable names
Some of you may think that when you are writing a variable name you can name it to whatever you want. That isn't true. There are certain rules for naming variables and other things. You can't put any special symbol in a variable name. You can't start it with a number. You can't have anyspaces. You can have underscores, _. Here is a chart to help you.

Code:

My Chart to Help Remember How to Name Varibles

int example //You can do that

int example_code //You can do that, has an underscore

int _example_code //You can do that, has an underscore

int 150example //You can't do that, starts with numbers

int example#code //You can't do that, has a special symbol

int example code //You can't do that, has a space


Strings
Strings are usually used for variables declared as a char, but that doesn't mean you can't use it with numbers either, you can do that too. Strings basicly, well, give you a string of text, that is when you're using it with a char (you'll find you do that a lot). Here is an example.

Code:

char who_hackers_hate[9] = 'leechers'


This is pretty simple, I decalred 'who_hackers_hate' as a char variable and then gave it a string of 9. I then moved the value 'leechers' into 'who_hackers_hate'. But if you count leechers, you only get 8 letters, so why give a string of text of 9 letters. That is because in C++ you start counting from 0. So leechers has 8 letters. 0, 1, 2, 3, 4, 5, 6, 7, 8. Already at seven do you have 8 numbers, but when you get to 8, it isn't anything, it's just there. 8 is now the null terminator, '\0', and the 9th letter. So when you are declaring a string, always declare it with one more letter than how many letters you have. If you declare to little, you will get an error.

=, ==, >, <

Ok, as you should know the '=' doesn't mean equal, it means to move a value. The '==' means to check a value. You usually would use those for the if statement which I will get into later. Here is a sample code though.

Code:

how_many_coins = 5
how_many_coins = 5 * 7
how_many_coins = 35 - 20
how_many_coins == 5


As you can see, it first moves the value of 5 into 'how_many_coins'. Then it moves the value of 5 multiplied by 7. Next it moves the value of 35 - 20 'how_many_coins'. And finally it checks to see if 'how_many_coins' equals 5.

There is also the '>' '<'. These you should have learned in 1st grade. But if you didn't or your just a retard, '>' means greater than, and '<' means less than. Here is a sample code.

Code:

how_many_coins > 150
how_many_coins < 150
how_many_coins == 150


If and else statements.

If and else statements are pretty self explanetory. That plus if you know any other langauge I guarantee that you know about if and else statements. To write an if and else statement, it's pretty easy. Just do this.

Code:

#include <iostream>

using namespace std;

int main()

{
    int bla;
   
    cout<<"Please enter a number.\n";
    cin>> bla;
    cin.ignore();
    if ( bla >= 15 ) {
         cout<<"You are close...\n";
    }     
                     
    else {
         cout<<"Man, you're way off from the f***ing number...\n";
    }
    cin.get();
}


Ok, now you should be able to figure this out. But if you can't I will explain it to you. First off, I start doing my header file and all that other stuff, blablabla, w/e! Ok, now to the code.

I had was going to use a variable, so I decalred a variable named bla as an integer.

Next I asked for a number. Then I told cin to read the input and put the value into bla. Then I throw away enter.

Now here is the if statement, YAY!!! Ok, so I said if bal is greater than or equal to (>=) 15 display the text "You are close..." and then start a new line. But then I put if any other input is put, common sense says that is 14 or lower (<=), display the text "Man, you're way off from the f***ing number..." and then start a new line. Then I just ended then I put in 'cin.get()'.

Ok, I showed you a sample code but this is really the syntax.

Code:

if ( variablename any_operator ) {
   code to be executed
}


And for an if-else statement you would do this.

Code:

if ( variablename any_operator ) {
   code to be executed
}
else {
     code to be executed
}


If you are confused with the any operator that just means like, ==, >=, <=, that kind of thing.

Loops

Loops are used in C++ to repeat the same block of code again and again. Just a little side note, for loops and if statements you should probably know true and false. Ok w/e, lets go on. One of the more useful loops is the for loop.

Code:

for ( variable_initialization; condition; variable_update ) {
  code to be executed [b]while the condition is true[/b]
}


Just notice really quickly that each of these are seperated by a semicolon, ';', even if their empty they must be seperated like that. The 'variable_initialization' allows you to decalre a variable and give it a value or change a already existing variable's value. The 'condition' tells the program that while the condition is still true to keep repeating its self over and over. The variable_update is where you can do such things like: x++, x = 150, x = random (150). Here is a sample code.

Code:

#include <iostream>

using namespace std;

int main()

{
    for ( int x = 0; x < 150; x++ ) {
        cout<< x <<endl;
    }   
    cin.get();
}


This would be a pretty long thing to look at, ok but lets see. Ok, first I start with my loop. I declare x as a variable and move the value of 0 into. Then I say x is less then 150. Next I say to add 1 to x until the condition is met. Now remember how cout handles output, well, in this case I'm telling it to display what my loop did. Then I have my cin.get(); blablabla. In fact run this code just for fun, see what happens.

The next loop is the while loop. While loops are kind of like for loops. But while loops don't have the variable_initialization, so you have to have already declared a variable. In the order of a while loop it is: condition, code to be executed, variable_update. Look at the syntax below, and then there is a sample code.

Code:

while (condition)
      code to be executed [b]while the condition is true[/b]
      variable_update
}


Code:

#include <iostream>

using namespace std;

int main()
{
  int age = 1; 
 
  while ( age < 13 ) { 
    cout<< age <<endl;
    age++;             
  }
  cin.get();
}



See, while loops are pretty close to the for loop. But see, first I had to declare age as an integer and move the value of 1 into it. Then I set the condition and then the code to be executed, not the variable_update. Lastly I put the variable update.

Ok, now for our last loop, the DO..WHILE loop. It is kind of like a reversed while loop. A while loop says, "Loop while the condition is true, and execute this block of code." A DO..WHILE loops says, "Execute this block of code, and loop while the condition is true." It looks like this.

Code:

do {
}  while (condition);


Here is an exeample code.

Code:

#include <iostream>

using namespace std;

int main()
{
  int x;

  x = 0;
  do {
    cout<<"Hello, world!\n";
  } while ( x != 0 );
  cin.get();
}


This code I took from a website actually, but it is a pretty good one. Notice though how the "Hello world!" is executed first. In fact if you run this program you won't even get any numbers you would just get that.

Pointers
You should probably remember pointers from other programming languages, or if you hack maplestory you definately use pointers and know pointers. Pointers are very useful in a program.

Pointers point to locations in memory. I like to think of them as deposit boxes. Let's say your really rich and you are going to store a pearl necklace, your passport, and a ring in a desposit box. You buy two deposit boxes. The first one inside has a key. That key is the key for the second deposit box with all your stuff it. That is how pointers work.

The syntax for a pointer is actually pretty easy.

Code:

keyword *variable_name


You can also declare a pointer and then another variable that isn't a pointer in one line.

Code:

int *this_is_a_pointer, this_is_not_a_pointer


The '*' declares a pointer. There are two ways to make pointers access information. You can simply have it give the actuall address to another variable. You would do that by using the name of the pointer without the '*'. The technical name for this is dereferencing the pointer; in essence, you're taking the reference to some memory address and following it, to retrieve the actual value. It can be tricky to keep track of when you should add the asterisk. Remember that the pointer's natural use is to store a memory address; so when you use the pointer.

Code:

call_tO_function_expecting_memory_address(pointer);


Then it evaluates to the address. You have to add something extra, the asterisk, in order to retrieve the value stored at the address. You'll probably do that an awful lot. Nevertheless, the pointer itself is supposed to store an address, so when you use the bare pointer, you get that address back.

When actually pointing something, you have to get the memory address of the variable your pointing to first. To do so put the '&' sign in front of it. This is called the address-of operator. Here is an example.

Code:

#include <iostream>

using namespace std;

int main()

{
    int thing_pointed_to;
    int *pointer;
   
    pointer = &thing_pointed_to;
    cin>> thing_pointed_to;
    cin.ignore();
    cout<< *pointer<<"\n";
    cin.get();
}


Now let me explain. I first declared an integer called 'thing_pointed_to'. Then I declared a pointer called '*pointer'. I then told the program to give the memory location of 'thign_pointed_to' to pointer, I did so with the address-of operator, &. Next I input the value of 'thing_pointed_to' with the 'cin' function. Ok, I'm boring myself so I will get this over quick...I threw away enter next. Then outputted the value of pointer using the 'cout' command.

Here is a quick note. The pointer is told to point to a specific memory address before it is actually used. If this didn't happen, it could point to anything. This can lead to very unpleasant consequences to the program. An example of what might happen, the operating system might not allow you to access the memory address that it knows your program doesn't "own". That would cause your program to crash. But that is just a minor program error. If it did let you access the memory you could mess with the memory of any running program. Let's say you had a notepad file open, you could change the text in there. But the good thing is that, modern operating systems will block you from accessing that memory and just crash your program.

You can also initialize pointers using free memory. The keyword new allows you to initialize pointers with memory from free store, meaning you can take it from any program.

Code:

int *ptr = new int


This makes it so 'ptr' points to a memory address the size of int. If your confused with that. Each variable has a different size (usually in bytes). An example would be how float takes up 4 bytes and double takes up 8 bytes. This memory now becomes unavailable to other programs. So when yoru coding you should give back the memory when your done using it. To do so you just do this.

Code:

delete ptr


But after you delete a pointer, you should always reset it to point to 0. The reason to tis is because when you assign 0 to a pointer the pointer becomes a null pointer, it points to nothing. This helps, because when you do something dumb or foolish with the pointer (yes it happens to really good programmers too), you find out right away instead of when its too late, when you have done considerable damage.

Now that I think about it, the idea of using the null pointer is constantly used as a way of telling the coder or user a problem.

Functions

Ok, well an example of a function is a 'cin.get()'. Functions are just blocks of code that preform pre-defined commmands.

Functions that a programmer writes will generally require a prototype. Just like a blueprint, the prototype tells the compiler what the function will return, what the function will be called, as well as what arguments the function can be passed. When I say that the function returns a value, I mean that the function can be used in the same manner as a variable would be. For example, a variable can be set equal to a function that returns a value between zero and four.

Here is an example from a website.

Code:

#include <cstdlib>

using namespace std;

int a = rand();


What this does is it includes the function 'rand()' with the header file. Then it makes 'rand()' "visible". But 'a' will not change at random. It will be set to the value returned when the function is called, but after that it will not, cannot be chaThnged.

The syntax for a prototype is pretty easy.

Code:

return-type function_name ( arg_type arg1, ..., arg_type argN );


arg_type means the type of arguments. That would mean like int, float, double, char.

There can be more than one or no functions. Here is a function prototype.

Code:

int mult ( int x, int y );


The prototype says that the function mult will accept two arguments, both the integers x and y, and that it will return an integer.

Ok, now we're going to look at a simple program that will multiply two integers.

Code:

#include <iostream>

using namespace std;

int mult ( int x, int y );

int main()

{
    int x;
    int y;
   
    cout<<"Please input two numbers to be multiplied.\n";
    cin>> x >> y;
    cin.ignore();
    cout<<"The prdouct is "<< mult ( x, y ) <<".\n";
    cin.get();
}
   int mult ( int x, int y )
{
   return x * y;
}


Ok, the only thing that I will notify you of before we get into the couts, and variables is in the beginning. I made a prototype with the function mult. It accepts two integers, x and y, and will return an integer value. But we have to put this before 'main()' or we will get an error.

Ok, so I decalre x and y as integers. I tell the program to display the text "Please input two numbers to be multiplied." and start a new line. Then I have the input be named as x and y. Remember to put the '>>' between the x and y or the program will think that 'x y' is one variable, and then not only do you get a error on it not being declaan't have a space in a name? Ok then I throw away enter. Next I tell the user the answer to the problem. But I insert the value of x and y being multiplied. That is all you really need to know.

Well that is the end of my Part 1 tutorial. Hopefully this was better than my first tutorial.
Download Dev C++ from here. I suggest the one at the top of the list. http://bloodshed.net/dev/devcpp.html

_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing


Last edited by oib111 on Mon Jun 11, 2007 10:10 pm; edited 10 times in total
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Ch04s
Master Cheater
Reputation: 0

Joined: 28 May 2007
Posts: 406
Location: One never knows.

PostPosted: Fri Jun 08, 2007 4:59 pm    Post subject: Reply with quote

Extremly helpful. THank You
Back to top
View user's profile Send private message
UnLmtD
Grandmaster Cheater
Reputation: 0

Joined: 13 Mar 2007
Posts: 894
Location: Canada

PostPosted: Fri Jun 08, 2007 5:08 pm    Post subject: Reply with quote

http://forum.cheatengine.org/viewtopic.php?t=91848
Except his is better, and you copied a lot from there.

_________________
Back to top
View user's profile Send private message
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Fri Jun 08, 2007 5:40 pm    Post subject: Reply with quote

I know his is better. His is the ultimate one, I can't top that. Heh, I like your avvy.
_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
DeltaFlyer
Grandmaster Cheater
Reputation: 0

Joined: 22 Jul 2006
Posts: 666

PostPosted: Fri Jun 08, 2007 7:09 pm    Post subject: Reply with quote

You boast a C tutorial in both your title and your first line. Yet, the first thing you attempted to explain is the import of iostream, which is a standard C++ header. Then you follow to attempt to explain namespace, which is another C++ addition to C.

Basically, your whole tutorial becomes misleading.

Then you attempt to explain variables, but forget semicolons on every single line. The stuff about float and fractions are just wrong.

You spelled "divide" wrong.

"double" is not a command, it's a keyword.

The char type has everything to do with numbers. It stores the ASCII value of the character in its memory.

It's convention that all constants be defined with ALL_CAPTITALS_WITH_UNDERSCORES.

How the hell is the stack like a constant?

A constant declared by const is still a symbolic constant.

An equal sign is needed to initialize the constant declared by "const".

"int kaboom_in_seconds = 5" is not a literal constant, the "5" is.

Looks like you still didn't take my advice and learn to use simple quote tags properly.

Single quotes are used to quote a character. Double quotes for a string of characters.

Having more memory declared than you need in a char array does not give you an error. Having too little will.

I vote "no".

_________________

Wow.... still working at 827... what's INCA thinking?
zomg l33t hax at this place (IE only). Over 150 people have used it, what are YOU waiting for?
Back to top
View user's profile Send private message
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Fri Jun 08, 2007 7:36 pm    Post subject: Reply with quote

Wow, sorry I'm am not a complete know it all like you. I am not a super person. I can teach somewhat of C. I do not know all of the concepts completely since the person who taught me didn't teach them very well. And I didn't want to look like an idiot and just copying everything Nigtronix did. And I don't take to hart the stupid ' ' and " ". Plus sorry, after I wrote the tutorial I realized that char did have to do with numbers, but I had to have dinner, and then I went to play catch. Yes I know I spelled divide wrong, it was 1am, whadda yo uexpect from a half asleep zombie person? And it's true if you run that program and put in 1/2 it closes. But if you but 0.5 it stays open. I also learned that an overflow would, so go tell that to the person who taught me. Btw it is like the stack, because when you push and pop something into and from the stack its value doesn't change. With a constant its value doesn't change either. There, I edited the title to C++. I also changed all the C's in my tutorial to C++'s. The #include <iostream> I didn't know, and the using namespace std; was just dumb of me.
_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing


Last edited by oib111 on Fri Jun 08, 2007 7:45 pm; edited 3 times in total
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Hixk
How do I cheat?
Reputation: 1

Joined: 06 Dec 2006
Posts: 1

PostPosted: Fri Jun 08, 2007 7:40 pm    Post subject: Reply with quote

This failed to help me...
_________________
Someone fix my account.
Back to top
View user's profile Send private message MSN Messenger
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Fri Jun 08, 2007 7:47 pm    Post subject: Reply with quote

Hixk you is emo. And then go to Nigtronix's tutorial. Much better.
_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
TheSorc3r3r
I post too much
Reputation: 0

Joined: 06 Sep 2006
Posts: 2404

PostPosted: Fri Jun 08, 2007 8:08 pm    Post subject: Reply with quote

You know, you don't have to write a tutorial.
_________________


Don't laugh, I'm still learning photoshop!
Back to top
View user's profile Send private message
DeltaFlyer
Grandmaster Cheater
Reputation: 0

Joined: 22 Jul 2006
Posts: 666

PostPosted: Fri Jun 08, 2007 8:15 pm    Post subject: Reply with quote

Again, your tutorial is not on C.

If the person didn't teach you very well and you didn't want to look like an idiot, why did you write this?

Single and double quotes are not stupid. They distinguish what kind of data is contained.

One should never publish an unfinished work with known errors, especially for educational purposes.

Ok, the first time you wrote the thing, you were tired. What about the second? The third? When you responded multiple times? When you chose to copy and paste the code? Did you even look over the code?
My references: 12

You were talking from a coding side perspective. And my response was addressed with that assumption. From a coding point of view, 1/2 gives 0, which can be assigned to a float.

Go tell the person that taught you? YOU are responsible for what you put in your work, not some other guy.

Ok, let's see.... stack....
Code:
mov [esp],2

OMG I CHANGED THE STACK!

_________________

Wow.... still working at 827... what's INCA thinking?
zomg l33t hax at this place (IE only). Over 150 people have used it, what are YOU waiting for?
Back to top
View user's profile Send private message
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Fri Jun 08, 2007 8:24 pm    Post subject: Reply with quote

T.T Those was when I was super noob and C++. Now I'm just a noobish amatuer person, xP.
_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Icos
Grandmaster Cheater
Reputation: 0

Joined: 12 May 2007
Posts: 524

PostPosted: Fri Jun 08, 2007 9:27 pm    Post subject: Reply with quote

I always think it is better for them to grab an ebook to learn. As undead said, tutorials arent really needed for C++. What they need more is a book that explains the things better.
Back to top
View user's profile Send private message
sportskid300
Grandmaster Cheater
Reputation: 0

Joined: 22 Jun 2006
Posts: 944
Location: You Wish.

PostPosted: Fri Jun 08, 2007 9:37 pm    Post subject: Reply with quote

Very nice.
I should get props for the original tut making thing with votes Smile

_________________
Thanks to Mr.Mohammed for the Avatar!
http://forum.cheatengine.org/viewtopic.php?t=92760&sid=b5cfb5d8e759c2b023910472b2fac2e8 EXCELLENT ASM TUT!

If you need help, ask!
http://www.youtube.com/watch?v=cW44BpXpjYw INSANE Line Rider!
Back to top
View user's profile Send private message
oib111
I post too much
Reputation: 0

Joined: 02 Apr 2007
Posts: 2947
Location: you wanna know why?

PostPosted: Sat Jun 09, 2007 6:53 am    Post subject: Reply with quote

Heh, yeah. Maybe when I actually get really good at C++ I will make a better tutorial.
_________________


8D wrote:

cigs dont make people high, which weed does, which causes them to do bad stuff. like killing
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
UnLmtD
Grandmaster Cheater
Reputation: 0

Joined: 13 Mar 2007
Posts: 894
Location: Canada

PostPosted: Sat Jun 09, 2007 11:29 am    Post subject: Reply with quote

oib111 wrote:
T.T Those was when I was super noob and C++. Now I'm just a noobish amatuer person, xP.


Then you shouldn't teach.

_________________
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites