944,100 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 5671
  • C RSS
You are currently viewing page 1 of this multi-page discussion thread
Nov 8th, 2004
0

Complex Numbers

Expand Post »
Any tips on starting a complex number calculator program?
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 8th, 2004
-1

Re: Complex Numbers

This is what i have at the moment.#include <stdio.h>
void main()
{

int a_real,a_imaginary;
int b_real,b_imaginary;

printf ("a real = ");
scanf ("%d",&a_real);

printf ("a imaginary = ");
scanf ("%d",&a_imaginary);

printf ("b real = ");
scanf ("%d",&b_real);
printf ("b imaginary = ");
scanf ("%d",&b_imaginary);


}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 8th, 2004
0

Re: Complex Numbers

Hello,

It might help to know what type of calculator program you are looking for. You might want to structure it so that the user has to input a function...

  1. Welcome to the Calculator Program.
  2. Would you like to Add, Subtract, Divide, or Multiply (A,S,D,M)?
  3.  
  4. You chose to _
  5.  
  6. Please enter in your 1st Number: __
  7. Please enter in your 2nd Number: __
  8.  
  9. Your answer is: ____
  10.  
  11. Would you like to calculate another?

Now, keep these things in mind:

* DO NOT ALLOW YOUR COMPUTER TO DIVIDE BY ZERO. That could crash out the computer, and give the user a nasty message. Put a check in there to ensure that b <> 0

* Be careful with the imaginary numbers. Review how they work.

* If you have to add trig functions, then make sure they follow the rules too.

* How are you going to handle exponents?

Some enhancement ideas:

* Implement a memory function that can store a value to be compared with later.

* Implement a small array, say 25 numbers, that you can average together or sort out (kinda like an adding machine thing).

Christian
Team Colleague
Reputation Points: 121
Solved Threads: 57
Posting Virtuoso
kc0arf is offline Offline
1,629 posts
since Mar 2004
Nov 9th, 2004
0

Re: Complex Numbers

cheers, i do need the user to put in a function either +,-,/,*.To calculate the complex number e.g. (1+j2) + (-6-j6) and it has to output the results in cartesian co-ordinates.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 9th, 2004
0

Re: Complex Numbers

What is wrong with the if statement, according to my notes its right but it keeps telling me ! expression syntax.
#include <stdio.h>
void main()
{

int a_real,a_imaginary;
int b_real,b_imaginary;
int complex_number;

int enter_operator;
printf ("a real = ");
scanf ("%d",&a_real);

printf ("a imaginary = ");
scanf ("%d",&a_imaginary);

printf ("b real = ");
scanf ("%d",&b_real);
printf ("b imaginary = ");
scanf ("%d",&b_imaginary);
printf ("Enter operator = ");
scanf ("%d",&enter_operator);
if (enter_operator = +);
complex_number = (a_real+b_real)+j(a_imaginary+b_imaginary);
if (enter_operator = -)
complex_number = (a_real-b_real)+j(a_imaginary-b_imaginary);


}
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 9th, 2004
0

Re: Complex Numbers

>according to my notes its right
And your notes have to be correct? Nope, sorry.

>void main()
int main ( void )

>int enter_operator;
char enter_operator;

>scanf ("%d",&enter_operator);
scanf ("%c",&enter_operator);

>if (enter_operator = +);
if (enter_operator == '+')

>if (enter_operator = -)
else if (enter_operator == '-')

>}
return 0;
}

Clear?
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004
Nov 9th, 2004
0

Re: Complex Numbers

That,s no good either,it's given me more errors.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 9th, 2004
0

Re: Complex Numbers

>That,s no good either
Then you're doing it wrong.

>it's given me more errors
Please start giving us workable information instead of complaining about your mythical non-working code. Your idiocy isn't entertaining anymore. More specifically, post the errors you get, and the code that causes them.
Administrator
Reputation Points: 6442
Solved Threads: 1393
Bad Cop
Narue is offline Offline
11,807 posts
since Sep 2004
Nov 12th, 2004
-1

Re: Complex Numbers

int main (void)
{

int a_real,a_imaginary,j;
int b_real,b_imaginary;
int complex_number;

char enter_operator;
printf ("a real = ");
scanf ("%d",&a_real);

printf ("a imaginary = ");
scanf ("%d",&a_imaginary);

printf ("b real = ");
scanf ("%d",&b_real);
printf ("b imaginary = ");
scanf ("%d",&b_imaginary);
printf ("Enter operator = ");
scanf ("%c",&enter_operator);
if (enter_operator == '+') complex_number = (a_real+b_real)+j(a_imaginary+b_imaginary);

printf ("\ncomplex number is %d\n",complex_number);
else if (enter_operator == '-');
complex_number = (a_real-b_real)+j(a_imaginary-b_imaginary);
printf ("\ncomplex number is %d\n",complex_number);

else if (enter_operator == '/');
complex_number = ((a_real*b_real+a_imaginary*b_imaginary)/(b_real*b_real)+(b_imaginary*b_imaginary))+j((a_imaginary*b_real-a_real*b_imaginary)/(b_real*b_real+b_imaginary*b_imaginary));
printf ("\ncomplex number is %d\n",complex_number);

else if (enter_operator == '*');
complex_number = ((a_real*b_real)-(a_imaginary*b_imaginary))+j((a_real*b_imaginary)+(a_real*b_real));
printf ("\ncomplex number is %d\n",complex_number);
return 0;
}
errors
call of notification
misplaced else
code has no effect
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jcr1 is offline Offline
12 posts
since Nov 2004
Nov 12th, 2004
0

Re: Complex Numbers

I assume #include <stdio.h>

int main (void)
{

     int a_real,a_imaginary,j;
     int b_real,b_imaginary;
     int complex_number;

     char enter_operator;
     printf ("a real = ");
     scanf ("%d",&a_real);

     printf ("a imaginary = ");
     scanf ("%d",&a_imaginary);

     printf ("b real = ");
     scanf ("%d",&b_real);
     printf ("b imaginary = ");
     scanf ("%d",&b_imaginary);
     printf ("Enter operator = ");
     scanf ("%c",&enter_operator);
     if (enter_operator == '+') 
{
complex_number = (a_real+b_real)+j(a_imaginary+b_imaginary);

        printf ("\ncomplex number is %d\n",complex_number);
}
     else if (enter_operator == '-')
{
        complex_number = (a_real-b_real)+j(a_imaginary-b_imaginary);
        printf ("\ncomplex number is %d\n",complex_number);
}
     else if (enter_operator == '/')
{
        complex_number = ((a_real*b_real+a_imaginary*b_imaginary)/(b_real*b_real)+(b_imaginary*b_imaginary))+j((a_imaginary*b_real-a_real*b_imaginary)/(b_real*b_real+b_imaginary*b_imaginary));
        printf ("\ncomplex number is %d\n",complex_number);
}
     else if (enter_operator == '*')
{
        complex_number = ((a_real*b_real)-(a_imaginary*b_imaginary))+j((a_real*b_imaginary)+(a_real*b_real));
        printf ("\ncomplex number is %d\n",complex_number);
}
     return 0;
}

First, if in an if statement you have more than one single instruction, you have to put these instructions between { and }
Second, else if (expr) does not ever end with a ;
Last edited by frrossk; Nov 12th, 2004 at 5:54 am. Reason: code tags:)
Reputation Points: 17
Solved Threads: 9
Posting Whiz in Training
frrossk is offline Offline
220 posts
since Sep 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: Compile Help!
Next Thread in C Forum Timeline: How to print data in JPG or BMP by C?





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC