2017-04-19 3 views
-1

Ich möchte meine Felder, die ich eintippe, validieren und einen Fehler anzeigen. dies ist mein Code in C:Eingabefelder in C-Programmierung validieren

struct student 
{ 
    char name[15]; 
    char age[3]; 
}; 

struct student st; 


printf("enter your name: "); 
scanf("%s", st.name); 
fprintf(ptrShkrues, "%5s", st.name); 

printf("enter your age: "); 
scanf("%s", st.age); 
fprintf(ptrShkrues, "%5s", st.age); 

ich, wenn seine char oder int und Anzeige überprüfen printf So müssen. Ist es besser, mein Alter zu speichern in INT ist besser? und wie man es auch validiert?

+0

Die C++ Tag für C++ Fragen ist, die dies nicht ist. –

+2

Geben Sie die Definition von 'st'. – chux

+0

Warum ist das markiert [tag: objective-c]? – 11684

Antwort

0

Versuchen fgets und sscanf

char buffer[1000]; 
char name[6]; 
int age; 
fgets(buffer, sizeof buffer, stdin); /* needs error checking */ 
if (sscanf(buffer, "%5s%d", name, &age) != 2) /* error */; 
0

Ihren Namen und Alter Unter der Annahme, char [] Dieser Typ ist, wie können Sie

überprüfen
int flag=1; 

    for(i=0;i<size&&flag==1;i++){//size is the length of n 
     if(isdigit(name[i])) 
      flag=1; 
     else 
      flag=0; 
    } 
if(flag==1) 
    printf("Is an integer"); 
else 
    printf("It has characters");