|
Re: C Programming Homework Help Needed
I'm having a little bit of trouble now. See output.
Code:
/* Patrick McCarthy */
#include <stdio.h>
#include <math.h>
void base_convert(int base);
void convert_to_binary(int base, int number);
void divide(int D, int N, int &q, int &r);
int main(void)
{
int base;
int base_error;
/* Gets the base from user and validates the value */
do{
base_error = 0;
/* Collects base value from user */
printf("Please enter the base of the number (between 2 and 10) =>");
fflush(stdin);
scanf("%d",&base);
/* Validate entry */
if(base <2 || base > 10)
{
base_error = 1;
printf("Invalid entry\n");
}
}
while(base_error);
/* Finds base N value of NUMBER */
// base_convert(base);
/* Converts number to Binary */
convert_to_binary(base, 123);
return 0;
}
void base_convert(int base)
{
int i;
int new[3];
int NUMBER[3];
int answer;
//The base 10 number to be converted
NUMBER[0] = 3;
NUMBER[1] = 2;
NUMBER[2] = 1;
for(i = 0; i < 3; i++)
{
new[i] = ( NUMBER[i] * pow(base,i) );
// Diagnostic
// printf("i = %d; NUMBER[i] = %d; new[i] = %d\n", i, NUMBER[i], new[i]);
};
answer = new[0] + new[1] + new[2];
printf("%d%d%d(Base 10) = %d(Base %d)", NUMBER[2],NUMBER[1],NUMBER[0],answer, base);
return;
}
void convert_to_binary(int base, int number)
{
int j,h;
int q[16];
int r[16];
q[0] = number;
for(j = 1; q[j]>0; j++)
{
printf("j=%d\n",j);
divide(base, q[j-1], &q[j], &r[j]);
}
for(h = j; h <= 0; h--)
{
printf("%d", r[h]);
}
}
void divide(int D, int N, int &q, int &r)
{
int q,r;
/* q is the quotient and r is the remainder */
q = N / D;
r = N % D;
printf("%d/%d :: Quotient: %d\nRemainder: %d\n\n", N,D,q,r);
}
__________________
2003-2006: FRC Team 67 - Drafter, Driver, Student Leader
2006 Volunteering: Kettering Kickoff Ref, Team Ford FIRST Robotics Invitational Ref
2007 Volunteering: GLR Field Reset/Repair; WMR Robot Inspector and Scorekeeper; MARC Referee
2008 Volunteering: WMR Planning Committee, WMR Scorekeeper, MARC Ref, IRI Scorekeeping, WMRI Scorekeeping & DJ
2009 Volunteering: Kettering District, MARC, IRI, and WMRI Scorekeeper/Field Power Controller
2010 Volunteering: Kettering District, MARC, IRI, and WMRI Scorekeeper/Field Power Controller
2011 Volunteering: Waterford District, West Michigan District, MARC, & IRI DJ
2012 Volunteering: Waterford District, West Michigan District DJ
|