I rewrote the program, sort of got it to do what I want. Any tips on how to make it better??
Code:
#include<stdio.h>
#include<string.h>
int funcAdd(char*, char*);
int StringToInt(char*);
int main(int argc, char** argv)
{
int i;
int j;
int valid_count=0;
int invalid_count=0;
int test_sum;
int sum=0;
char param1[16];
char param2[16];
for(i= 0; i<=100; i++)
{
for(j=0; j<=100; j++)
{
test_sum = i + j;
//printf("add %d %d: ", i, j, test_sum);
/*
The funcAdd takes strings, so in testing the program
we must first generate the strings
*/
sprintf(param1, "%d", i);
sprintf(param2, "%d", j);
sum = funcAdd(param1, param2);
printf(" add %3d %3d: sum = %3d ", i, j, sum);
if(test_sum == sum)
{
printf("valid\n");
valid_count++;
}
else
{
printf("invalid\n");
invalid_count++;
}
}
}
printf(" -----------------------------");
printf("\n # valid: %d, # invalid: %d\n", valid_count, invalid_count);
return 0;
}
int funcAdd(char* param1, char* param2)
{
int number1 = StringToInt(param1);
int number2 = StringToInt(param2);
int sum = number1 + number2;
return sum;
}
/*function StringToInt
gets a numeric string from the user and returns the integer
representation of the string
*/
int StringToInt(char* input)
{
int number = 0;
int inputLen;
int i;
inputLen = strlen(input);
for (i = 0; i < inputLen; i++)
{
int digit = input[i] - '0';
number *= 10;
number += digit;
}
return number;
}