Visit Our UNIX and Linux User Community


C++ little question


 
Thread Tools Search this Thread
Top Forums Programming C++ little question
# 1  
Old 03-09-2011
C++ little question

Hi,

I am doing a C++ self-study and I got stuck with this problem.
I want to have a code that asks the suer to enter two numbers and then it lists the numbers between these two numbers. It has also to print a message if these two numbers are equal.
Here is what I wrote:
Code:
#include <iostream>

int main()
{
  int i, j;
  std::cout << "Enter two numbers:" << std::endl;
  std::cin >> i >> j;
  std::cout << "You etered: " << i << " and " << j << "!" << std::endl;
  
  if (i=j)
    std::cout << "They are equal" << std::endl;
  else {
    if (i<j) {
      std::cout << i << std::endl;
      ++i;
    }
    else if (i>j) {
      std::cout << j << std::endl;
      j++;
    }
  }  
  return 0;  
  
}

I have also tried many alterations using while and for statements. My question is: Why it does stuck at the first if statement, and then quits?

Thanks,

faizlo
# 2  
Old 03-09-2011
change

Code:
if (i=j)
    std::cout << "They are equal" << std::endl;
  else {


to

Code:
if (i==j)
{
    std::cout << "They are equal" << std::endl;
}
  else {


------------------------

== is the comparison whereas = is used to set

Last edited by pludi; 03-09-2011 at 05:46 AM..
# 3  
Old 03-09-2011
Thanks for the reply

I did the following:
Code:
#include <iostream>

int main()
{
  int i, j;
  std::cout << "Enter two numbers:" << std::endl;
  std::cin >> i >> j;
  std::cout << "You etered: " << i << " and " << j << "!" << std::endl;
  
  if (i==j)
    std::cout << "They are equal" << std::endl;
  else {
    for (i, j; i<j; i++) {
      std::cout << i << std::endl;
      ++i;
    }
    for (i, j; i>j; j++) {
      std::cout << j << std::endl;
      j++;
    }
  }
  
  return 0;  
  
}

Still, I am not getting the right answer!

~faizlo
# 4  
Old 03-09-2011
I would nest the if statement in {} brackets, not sure if that matters, probably me being OCD :P

Anyway, you cannot be certain that the first number is smaller that the second number entered, so i would do something like this..

Code:
int x, y;
if (i==j)
{
    std::cout << "They are equal" << std::endl;
}
else {
     if( i > j)
     {
       x = j;
       y = i;
     }
      else {
          x = i;
          y = j;
      }

      //now you x and y (x being the smallest number)

      for(x; x < y; x++)
      {
        std::cout << x << std::endl;
       }

code might not be 100% but you should get the idea, will make life easier knowing the smallest number

Moderator's Comments:
Mod Comment Please use [CODE] tags

Last edited by pludi; 03-09-2011 at 07:54 AM..
# 5  
Old 03-09-2011
Hi again and thank you all.

Here is what I tried. Since I have two numbers and better than speculating which is which, I tried this:
Code:
#include <iostream> int main() { std::cout << "Please specify two natural numbers:" << std::endl; int i, j, k; std::cin >> i >> j; if (i >= j) { k = j; j = i; i = k; } for (int x = i; x <= j; ++x) std::cout << x << " "; std::cout << std::endl; return 0; }

Still, I do not know why my second posted code (the one with if ( i==j ) ) doesn't work?
No matter what the two numbers are, it prints the message that the two numbers are equal!

~faizlo
# 6  
Old 03-09-2011
Quote:
Originally Posted by faizlo
No matter what the two numbers are, it prints the message that the two numbers are equal!
It works for me... Maybe you forgot to recompile it after editing. Or are compiling the wrong file.
# 7  
Old 03-09-2011
Hi Again,

Corona688, I have compiled it again, and I tried it again, as in post 3, here is what I got:
Code:
faizlo@faizlo-laptop:~/C++_tut$ ./range 
Enter two numbers:
10
12
You etered: 10 and 12!
10
faizlo@faizlo-laptop:~/C++_tut$ ./range 
Enter two numbers:
10
20
You etered: 10 and 20!
10
12
14
16
18
faizlo@faizlo-laptop:~/C++_tut$

Any clue!?

~faizlo

Previous Thread | Next Thread
Test Your Knowledge in Computers #634
Difficulty: Easy
The first iPhone featured an internal rechargeable nickel cadmium battery.
True or False?

7 More Discussions You Might Find Interesting

1. AIX

df question

Hi, Can anyone please explain a little about df command. I have following question: Following example is showing % used as 4 where as total free blocks are 15.46 out of 16.00 MB blocks. df -m /test Filesystem MBblocks Free %Used Iused %Iused ... (5 Replies)
Discussion started by: itsabhi9
5 Replies

2. Hardware

question

How to add 3 moniters to a pc set up? (2 Replies)
Discussion started by: clicstic
2 Replies

3. Shell Programming and Scripting

question about wc

Hey my friend was asking me if i knew a way to cout how many different words in a file. I told him no not off hand, but i was thinking about it, and i started to wonder also. I imagine this is probably pretty simple im just missing something, I keep confusing my self with how you would compair and... (16 Replies)
Discussion started by: yodadbl07
16 Replies

4. UNIX for Dummies Questions & Answers

Question

hallo, ik heb hier een vraagje. hoeveel gebruikers kunnen er op 1 unix systeem. hopelijk antwoorden golle nu want ik moet da vinde voor school en die leerkracht zaagt. :p groetjes eu wacht wa was mijne nick ah ja vraagje groetjes vraagje ik kan geen engels dus antwoord liever in het... (1 Reply)
Discussion started by: vraagje
1 Replies

5. UNIX for Dummies Questions & Answers

mv question

Hello if I like to move file from defined directories system to new directory that not contained any directories system structure . But I like to create the same file system structure as source directory for example : I have 2 directories: foo1 and foo2 foo1 have directories and foo2 have... (2 Replies)
Discussion started by: umen
2 Replies

6. Solaris

vi question

Im trying to edit a 113 meg file in VI and i get the error TMP FILE TOO LARGE. Does someone know how to get around this? Thanks! (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies

7. Programming

Yet Another Question

Now that I have getch() to work, I have yet another problem. BTW, thank you for answering these questions, I do ask a lot, only because I am eager to know, what is a board used for anyways :) Ok, he's the problem... #include iostream.h #include conio.h int main() { char movement; ... (2 Replies)
Discussion started by: mbolthouse
2 Replies

Featured Tech Videos