/* * input routines */ #include #include #include input_vali(prompt,value) int *value; char prompt[]; { int val; char character; printf("%s <%d> - ",prompt,*value); scanf("%d",&val); if (val != -1) *value = val; scanf("%c", &character); /* eat up c/r, why though? */ } input_valf(prompt,value) float *value; char prompt[]; { char character; float val; printf("%s <%f> - ",prompt,*value); scanf("%f",&val); if (val != -1) *value = val; scanf("%c", &character); /* eat up c/r, why though? */ } input_string(prompt, string) char prompt[]; char *string[]; { char character; char work_string[64]; int cnt = 0; character = 1; printf("%s", prompt); while (character != NULL) { scanf("%c", &character); if (character == '\n') character = NULL; work_string[cnt] = character; cnt = cnt + 1; } strcpy(string, &work_string); /* string is already pointer */ }