Jeune
Dec 28 2005, 10:08 AM
Hi guys. I just finished my programming homework. It's a program that gets the coefficients A,B, and C of two lines in general form and computes for the (1) Slope of each line (2) y-intercept of each line (3) and their intersections (if there are any) I know it's quite trivial but it's a homework and I need help in making sure the algorithm works for all cases. For me, the hardest part is the third one where you have to get the intersections. Here are some cases I came up with: No lines at all Parallel Lines Perpendicular Lines First line is non-existent Second line is non-existent Normal case(there is an intersection) Can somebody, well if you have time to spare of course, be kind enough to help me try to test the program to see if there are any bugs? It's pretty simple. Just type in all the possible cases you know and see if the output of the program is correct. I have tried all the cases I know and as far as they are concerned, the program is ok. Thanks and best wishes this holiday season. This is my code btw: CODE /*
Author: Jose Luis Roberto Asuncion Section: G-4L Date: 21/12/05 10:13am Description: Given the coefficients of two lines in general form, this program computes for their slope, y-intercept and intersection. */
#include "stdio.h"
main() { float A,B,C; /* coefficents of 1st line */ float D,E,F; /* coefficients of 2nd line */ printf("\nEnter the coefficents"); printf(" A,B and C of the first line:"); printf("\n(press enter after each coefficient)\n\n"); scanf("%f %f %f",&A,&B,&C); printf("\nEnter the coefficents"); printf(" A,B and C of the second line:"); printf("\n(press enter after each coefficient)\n\n"); scanf("%f %f %f",&D,&E,&F); printf("\n"); /* Compute for the slope of the first line */ if ((A==0) && (B!=0)) /* Instance of a horizontal line where A=0 and B!=0 */ { printf("The slope of the first line is 0"); } else if (B==0) { if (A!=0) /* instance of a vertical line where A!=0 and B==0 */ printf("The slope of the first line is undefined"); else /* instance where the user entered A==0 and B==0 */ printf("\nThe first line does not exist. There is no slope"); } else { /* instance where the user entered some number other than 0 for each coefficient */ printf("The slope of the first line is %1.1f",(-1*A)/B); } /* Compute for the Y-intercept of the first line */ if ((A==0) && (B!=0)) /* instance when the line is a horizontal line */ printf(" and the y-intercept is %1.1f",(-1*C)/B); else if (B==0) /* instance when B=0, triggering a vertical line... */ { if ((C==0) && (A!=0)) /* that either coincides with the y-axis */ { printf(" and is conincidental to the y-axis."); printf(" and thus, has infinitely many y-intercepts"); } else if (A!=0) /* or is a vertical line somewhere on the plane */ printf(", is a vertical line and does not have a y-intercept."); else /* instance where there is no line because A and B is 0*/ printf(" and no y-intercept to compute"); } else /* instance where the user entered some number other than 0 for each coefficient */ printf(" and has a y-intercept of %1.1f",(-1*C)/B); printf("\n"); /* Compute for the slope of the second line */ if ((D==0) && (E!=0)) /* instance of a horizontal line */ { printf("The slope of the second line is 0"); } else if (E==0) /* instance of a vertical line */ { if (D!=0) /* instance of a vertical line somewhere on the plane */ printf("The slope of the second line is undefined"); else /* instance where there is no line at all bec. D & E is 0 */ printf("The second line does not exist. There is no slope"); } else /* instance where the user entered some number other than 0 for each coefficient */ { printf("The slope of the second line is %1.1f",(-1*D)/E); } /* compute for the y-intercept of the second line */ if ((D==0) && (E!=0)) /* instance of a horizontal line */ printf(" the y-intercept is %1.1f",(-1*F)/E); else if (E==0) { if ((F==0) && (D!=0)) /* instance when the line coincides with the y-axis*/ { printf(" and is coincidental to the y-axis."); printf(" and thus, has infinitely many y-intercepts"); } else if (D!=0) /* instance of a vertical line somewhere on the plane */ printf(", is a vertical line and does not have a y-intercept."); else /* instance when there is no line because A is 0 */ printf(" and no y-intercept to compute"); } else /* instance when the user entered some number other than 0 for each coefficient */ printf(" and has a y-intercept of %1.1f",(-1*F)/E); printf("\n"); float Det, DetX,DetY,X,Y; /* declare variables for use in Cramer's rule*/ Det = (A*E)-(B*D); /* Equation to get the Determinant */ DetX = -1*C*E - (-1*F)*B; /* Equation to get the Determinant of X*/ DetY = -1*A*F - (-1*C)*D; /* Equation to get the Determinant of Y*/ X = DetX/Det; /* Equation to get X */ Y = DetY/Det; /* Equation to get Y */ /* In some cases, the determinant may be zero and Cramer's rule cannot be employed to solve for the intersection. In this case the lines may be parallel, coincidental, either or both non existent. */ if (Det==0) { /* assuming that C and F are both not zero, this is a special instance of two parallel lines that are either horizontal or vertical but not both of course */ if (((A==0)&&(D==0) || (B==0)&&(E==0)) && !((A==0)&&(D==0) && (B==0)&&(E==0)) && ((C!=0)&&(F!=0)) && (C!=F)) { if ((A==0)&&(D==0)) /* instance of a horizontal line */ { printf("There is no intersection because the two lines are parallel"); printf("\nThey are both horizontal lines."); } else /* instance of a vertical line */ { printf("There is no intersection because the two lines are parallel"); printf("\nThey are both vertical lines."); } } /* instance where one of the lines is non-existent */ else if ((((A==0) && (B==0)) || ((D==0) && (E==0))) && !(((A==0) && (B==0)) && ((D==0) && (E==0)))) { if ((A==0)&&(B==0)) /* instance where the first line is non-existent */ printf("There is no intersection because the first line is non-existent"); else /* instance where the second line is non-existent */ printf("There is no intersection because the second line is non-existent"); } else if (((A==0) && (B==0)) && ((D==0) && (E==0))) { /* instance where the coefficients entered do not determine a line */ printf("Obviously there is no intersection"); } else if (((-1*A/B)==(-1*D/E)) && (-1*C/B!=-1*F/E)) /* regular instance when the lines are parallel */ { printf("There is no intersection because the two lines are parallel"); } else /* instance where the lines coincide */ printf("The lines are coincidental"); } else /* instance when the user entered some number other than 0 for each coefficient */ { /* or when the determinant is not equal to 0 */ printf("The two lines intersect at the point (%1.1f,%1.1f)",X, Y); /* instance of perpendicular lines */ if ((X==-1*C) && (Y==-1*F)) printf("\nThey are perpendicular lines"); if((-1*A)/B==((-1*D)/E)*-1) printf("\nThey are perpendicular lines"); } printf("\n"); }
Reply
zoomingrocket
Dec 28 2005, 12:20 PM
Hi.. I would like to help u for testing the program... But can you provide some test data or sample question based on which i would input values and look for the output and report any bugs, if any?
Reply
Jeune
Jan 2 2006, 06:34 AM
QUOTE(zoomingrocket @ Dec 28 2005, 08:20 PM) Hi.. I would like to help u for testing the program... But can you provide some test data or sample question based on which i would input values and look for the output and report any bugs, if any? for instance, we enter no line at all for the first line. IN general form that would mean, 0x +0y +0 =0 or in slope intercept form: 0y =0x +b. But the requires that the inputs be coefficients in general form so, Enter the coefficients A,B and C of the first line: 0 0 0 if we do the same for the second line, Enter the coefficients A,B and C of the second line: 0 0 0 the output would be The first line does not exist. There is no slope and y-intercept to compute. The second line does not exist. There is no slope and y-intercept to compute. Obviously there is no intersection. cheers.
Reply
whizkid
Jan 2 2006, 08:31 PM
One quick suggestion I have is to put include conio.h and put getch() before the last bracket of the file so that the user presses a key before the program exits instead of it exiting before results can be seen.
Reply
Similar Topics
Keywords : debugging program- Executing An Exe From Within A Program!
- Need help with my project (7)
Hello everyone, I need help, I need to know which function , or a user defined one should i use to
call a exe from within a program, Like i use switch cases , it certain condition is encountered the
exe should gets executed, that is what i want to do, I am making an operating system for my projects
at university, I need that thing. So somebody please help me, This is the forum that lets me find
all my solutions. I have a 100% problem solution rate here, everyone has helped me alot, Waiting for
some one to post a reply....
Need Help With C Program To Test If A Number Is Prime
- Ending unexpectedly somewhere near for-loop (12)
CODE #include <stdio.h> main() { printf("Enter a number:
"); int n; scanf("%d", &n); if(n ==
2) printf("%d is prime", n); else if(n % 2 == 0 || n <
2) printf("%d is not prime", n); else { int x;
for(x = 0; x < (int)sqrt((double)n); x++)
if(n % x == 0) { printf("%...
Crazy Looking C Program
- Interesting (19)
hi friends, Have a look at the following code... Can u guess what this wud do... nope... no virus
nor executable code... It is a completely valid and compilable C program... dont worry.. I have
executed it on my system and it perfectly nice program /smile.gif' border='0'
style='vertical-align:middle' alt='smile.gif' /> CODE #include <stdio.h>
main(t,_,a) char *a; {return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94,
-27+t, a )&&t == ...
Source Code For Paint Like Program Under Dos In C
- (2)
this is a dos program that you have been waiting for you learn from it you how to do graphic
programing under dos if you understand it your then will be able to do any kind of windows GUI in
dos it make icons and use them it deal with graphic file youwill also learn how to use mouse have
nice time ...
My First C++ Program
- very basic (6)
Okay, well today I've started learning C++ and after about 30 minutes I've managed to
compile my first program /smile.gif" style="vertical-align:middle" emoid=":)" border="0"
alt="smile.gif" /> All it does is prompt you to type a number in between 1 and 10. If it's not
in that range, it adds/subtracts until it is. The best part is you get to see it add/subtract the
numbers up one-by-one! Code: #include using namespace std; int main() {
// Define variables int anumber; cout cin>> anumber; cin.ignore...
Any Program Ideas?!
- (5)
A Crazy Program In C
- Dont know how it works (13)
Its a code iam sharing i found while reading about c, its a code from a winner of world most
obsfucated code contest just have a look the output of the program is after the code CODE
#include <stdio.h> main(t,_,a) char *a;
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_, main(-86, 0, a+1
)+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a )&&t ==
2 ?_<13 ?main ( 2, _+1, "%s %d %d\n"
):9:16:t<0?t<-72?main(_, t,"@n'+,#'/*{}w+/w#cdnr...
How To Run A Process Through Your Program (c#)
- (0)
Made by Blackbelt012 OK to start add a button or a menu strip to your form.
----------------------------------- Then double click the button you just added and it will take you
to the code of your application. ----------------------------------- Next scroll to the very top of
your form and add this code. CODE using System.Diagnostics;
----------------------------------- Then scroll back down to the button you double clicked.
----------------------------------- After that add this code. CODE
Process.Start(@"C:\Program Files\Mozil...
Centering The Text In A Simple C++ Program?
- (8)
I'm currently learning C++ in college. For now it's very basic stuff (cout, cin, if, switch,
voids, etc). But I'm also abit of a "must look neat" freak for certain things. One of which is
that I don't like the text on the program being aligned to the right. For example, I currently
have something like this: QUOTE Welcome! Please enter your first name. __ And what's
your second name? __ But I want it to be like this: QUOTE Welcome! Please enter your
first name. __ And what's your second name? __ My question is simply:...
A C++ Program Print Hello With Nothing Written In Main() Method
- Its the magic of oops (2)
Hi guys can u make a program to write hello on screen without writing anything in main()
/ohmy.gif" style="vertical-align:middle" emoid=":o" border="0" alt="ohmy.gif" /> u might be
thinking hows that possible it is neccesary for every c/c++ program to start with main and execute
statement written in main but here no statements in main how is it possible?,dont worry it is
possible ill show u how: CODE #include<stdio.h> #include<iostream.h> class
hello { int a; public: hello(){cout<<"hel...
C Or C++ Easy Programming Generator
- You need a program? (6)
Hi i just had a stupid question on how to program is C or C++. I would like to know if there is any
program like Photoshop to create C codes or how to put them together. If someone could show me it
would be great. I appreciate it as i love computers and want to be like a wiz at it and also
everything related to it. I know that this is crazy and i have heard that from people they tell me
you're a GFX person stay there but i want to explore. Thanks if helped....
Buffer Overflow In Action Tutorial
- Learn how to buffer overflow programs to change the program flow... (0)
This tutorial will show you how to buffer overflow programs in order to change the flow of the
application , even if this means executing your own code. A very well explained tutorial of buffer
overflows ( not theory but practise ) + a 20 min video tutorial/demonstration + all the files needed
for the tutorial.. Buffer Overflow In Action Tutorial LINK ...
Program Lang I Know
- Turbo pascal (2)
well well.... /laugh.gif" style="vertical-align:middle" emoid=":lol:" border="0" alt="laugh.gif"
/> what can i say? its an old lang. uses the dos functions and is dos based. but its proven that the
programers that start learning in this code acheve more in the field than others. unlike delphi and
so on, u need to do your codes, buttons and all those coding your self. no short ways and no error
skiping. if the program encounters an error it wont run until you fixed it. i would like to know
who else uses this lang or who knows this lang....
Program From Mekka 97 4k
- mni.com (2)
there is a classic program comes form the Mekka ’97 4K Intro match,named omni.com,as the best
works.the size of the program is only 4095 byte...very amazing.it includes many 3D graphics and bg
music. you could save the code below to 1.txt in you disk(e.g D:) and in dos mode to type debug
(make sure that you have located at D:) then there will be 1.com out...that's the program
running in dos e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1
e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20 e134 0 3d 0...
Run A Program From Another One
- (4)
I have written two programs. Lets call them MAIN and SMALL . Program SMALL is supposed to eventually
go inside program MAIN. Problem is that if I put the code inside of it, it will be extremely hard to
read. Can I just compile the program and run it from inside the main one ? I've heard that you
could. Both programs use identical variables and I wrote it this way intending to cut and paste the
code into the main one but if I can do this without cutting and pasting 150 KB worth of source code
then I'd like to learn how. I'm coding in C++ and am using functions...
C++
- C++... a Programmers Program... Or is it? (15)
Ok, I was tempted to put this into the PC Coding section, however I figured it was more of a
question about the program than the coding... I am a pretty avid programmer when it comes to Visual
Basic... Though now, I think its time to move into a little more advanced coding, and teach myself
something new. From what I hear around with friends and people I know, C++ is a good program for
programming, and really gets you to learn the ropes... Is this what your guys' opinion of the
program would roughly be? Also, does anyone here know where I can either pick up a demo o...
Program Flow
- dialog problem (2)
Hi, i have a quick question. I have a program that does alot of calculations near its completion.
To indicate to the user that it is still working so they dont close it I have a dialog box with a
progress bar pop up. when the dialog comes up, the regular execution of the original program stops
until I close the dialog, so I was wondering if there is a way to tell the origianl program to keep
running while the dialog is open(since the original program would be updating the progress metre).
p.s. using MFC(not by choice) Thanks alot!...
Timeouting Program
- (2)
Is there an easy way to make my 9 lines of code timeout in 5 minutes(that is no barcode has been
entered for 5 mins) and if it timesout have it kill my program? Code: CODE cout <<
"Enter barcode:\r\n"; cin.get(ch); while (int(ch) !=
13) { cout << ch; cin.get(ch); line = line+ch; }
myFunction( line ); Code enclosed in proper tags. ...
Stop A Program Excecution
- (4)
I made and MFC program with MSVC++ 6.0. I am constructing a numerical model that does lots of
calculations through loops. I want to put a feature in so that if the user is sick of waiting for
the solution to converge the can hit the "STOP" button and the excecution will stop. Is there a
way I can do this? I put in a "Stop!" button and made a handler function OnStop(). What can I do
from here? Thank you!...
Software Installation
- Program for verifing the installation??? (5)
One of my friend is doing his computer project and he has one problem. the problem is that "If we
are installing any software then is it possible to make a program in C++ or VB that can crosscheck
that all files under thE folder of software are installed sucessfully?" If anyone has any idea than
please tell....
How To Creat A Unattached Graphics Program
- (0)
do you kown? if you know , plz ..........
Looking for debugging, simple, program, make
|
|
Searching Video's for debugging, simple, program, make
|
advertisement
|
|