Code:
int main(int argc, char * argv[])
{
// Mainline Variable Declarations
FILE * output = stdout;
FILE * input = stdin;
int vname=0, viso=0, vaperture=0, error=0;
float iso, apertureno;
char selection[2], name[20], aperture[1];
while (vname + viso + vaperture != 3 && strcmp(selection,"Q") != 0)
{
fprintf(output,"\n1. First name\n2. ISO setting\n3. Aperture setting\n\n"
"Please enter a menu number or '?' for help\n");
fscanf(input,"%s[2]",selection);
if (strcmp(selection,"1")==0)
{
fprintf(output,"\nPlease enter your first name\n");
fscanf(input,"%s[20]",name);
error=1;
vname=1;
}
else if (strcmp(selection,"2")==0)
{
fprintf(output,"\nAcceptable ISO settings include:\n\n6, 8, 10, 12, 16, 20, 25, 32, 40, 50, 64, 80, 100,"
" 125, 160, 200, 250, 320, 400, 500, 640, 800, 1000, 1250, 1600, 2000, 2500,3200, 4000, 5000 and 6400.\n\n"
"Please enter your ISO setting\n");
fscanf(input,"%f",&iso);
if (iso!=6.0 && iso!=8.0 && iso!=10.0 && iso!=12.0 && iso!=16.0 && iso!=20.0 && iso!=25.0 && iso!=32.0 &&
iso!=40.0 && iso!=50.0 && iso!=64.0 && iso!=80.0 && iso!=100.0 && iso!=125.0 && iso!=160.0 && iso!=200.0 &&
iso!=250.0 && iso!=320.0 && iso!=400.0 && iso!=500.0 && iso!=640.0 && iso!=800.0 && iso!=1000.0 &&
iso!=1250.0 && iso!=1600.0 && iso!=2000.0 && iso!=2500.0 && iso!=3200.0 && iso!=4000.0 && iso!=5000.0 &&
iso!=6400.0)
{
if (error==1)
{
fprintf(output,"\n%s, the ISO setting you entered was not valid\n",name);
}
else
{
fprintf(output,"\nThe ISO setting you entered was not valid\n");
}
}
else
{
viso=1;
}
}
else if (strcmp(selection,"3")==0)
{
fprintf(output,"\nAcceptable camera aperture values include:\n\nf1.2, f1.4, f1.8, f2, f2.8, f4, f5.6, f8,"
" f11, f16, f22, f32\n\nPlease enter you camera aperture\n");
fscanf(input,"%c%f",&aperture,&apertureno);
fprintf(output,"%c%f",aperture,apertureno);
}
}
}
sorry bout the inconsistent indenting that starts halfway through