Current location - Recipe Complete Network - Complete cookbook of home-style dishes - Write a simple system function menu in C, how to write it?
Write a simple system function menu in C, how to write it?
# include & ltstdio.h & gt

# include & ltstdlib.h & gt

# include < lt string.h > structure record

{

Char Sherwood [10]; //Student number

char name[20]; //Name

char sex[3]; //Gender

int ke 1; //Mathematics

Int ke2// language

Int ke3// English

Int pin;

} stu[50];

int k= 1,n,m; void readfile();

void seek();

void insert();

void del();

void save();

void menu();

void seek()

{int i,j,item,flag& ltbr & gtchar s 1[20]; & ltbr & gtprintf("-\ n "); & ltbr & gtPrintf(" 1。 Query by student number \ n "); & ltbr & gtPrintf("2。 Exit this menu \ n "); & ltbr & gtprintf("-\ n "); & ltbr & gtwhile( 1)& lt; Br & gt{printf ("Please select submenu number:"); & ltbr & gtscan ("%d", & item); & ltbr & gtflag = 0; & ltbr & gt switch (project) & ltbr & gt{ & ltbr & gt case1:< Br & gtPrintf ("Please enter the student ID of the student to be queried: \ n"); & ltbr & gtscanf("%s ",s 1); & ltbr & gtfor(I = 0; I & ltn;; i++)& lt; Br & gtif(strcmp(stu[i]. Scheffer, s1) = = 0) < br & gt{ flag = 1; & ltbr & gtPrintf ("Student ID, name, gender, mathematics, Chinese and English: \ n"); & ltbr & gtprintf(" %s %s %s %d %d %d ",stu[i]。 Sherwood, Stu [me]. Name, & ltbr & gt Stu [me]. sex,stu[i].ke 1,stu[i].ke2,stu[I]. ke3); & ltbr & gt}

If (flag ==0)

Printf ("This student number does not exist! \ n "); Break;

Case 2: Return goods;

Default: printf ("Please choose between 1-2 \n");

}

}

}

Hollow insert ()

{ int i=n,j,flag

Printf ("Please enter the number of students to add: \ n");

scanf("%d ",& ampm);

do

{ flag = 1;

While (sign)

{ flag = 0;

Printf ("Please enter the student ID of %d: \n", I+1);

Scanf("%s ",stu[i]. Sherwood);

for(j = 0; J< me; j++)

If(strcmp(stu[i]. Xue Hao, Stu [j]. Xue Hao) ==0)

{printf ("This student number already exists, please check and re-enter! \ n ");

flag = 1;

Break;

}

}

Printf ("Please enter the name of %d student:", I+1);

Scanf("%s ",stu[i]. Name);

Printf ("\ nPlease enter the gender of %d students:", I+1);

Scanf("%s ",stu[i]. Sex);

Printf ("\ nPlease enter the math scores of %d students:", I+1);

scanf("%d ",& ampstu[I]. ke 1);

Printf ("\ nPlease enter the Chinese scores of %d students:", I+1);

scanf("%d ",& ampstu[I]. ke2);

Printf ("\ nPlease enter the English scores of %d students:", I+1);

scanf("%d ",& ampstu[I]. ke3); If (flag ==0)

{ i = i

i++;

}

} while(I & lt; n+m);

n+= m;

Printf ("Input complete! \ n \ n ");

}void del()

{ int i,j,flag = 0;

char s 1[20];

Printf ("Please enter the student ID of the student to be deleted: \ n");

scanf("%s ",s 1);

for(I = 0; I & ltn;; i++)

If(strcmp(stu[i]. Scheffer, s 1)==0)

{ flag = 1;

for(j = I; j & ltn- 1; j++)

stu[j]= stu[j+ 1];

}

If (flag ==0)

Printf ("This student number does not exist! \ n ");

if(flag== 1)

{printf ("Delete succeeded, please select menu 6\n" to display the result);

n-;

}

}

void readfile()

{

char buf[80],* p = " student.dat

FILE * fp

int I = 0;

if ((fp=fopen("student.dat "," r ")= = NULL)

{printf ("Error opening file %s! Press any key to exit! ”,p);

System ("suspended");

Exit (0);

}

while(fscanf(fp," %s%s%s%d%d ",stu[i]。 Sherwood, Stu [me]. Name,

Stu [me]. Sex & ampstu[i].ke 1, & ampstu[i].ke2, & ampstu[i].ke3)==6)

{ i++;

i = i

}

fclose(FP);

n = I;

Printf ("Input complete! \ n ");

} void and save ()

{ int i,j,k,flag = 0;

FILE * fp

fp=fopen("student.dat "," w ");

for(I = 0; I & ltm;; i++)

{

fprintf(fp," %s%s%d%d%d ",stu[i]。 Sherwood, Stu [me]. Name, Stu [me]. Sex & ampstu[i].ke 1,

& ampstu[i].ke2,& ampstu[I]. ke3);

fclose(FP);

printf(" saved ");

}

}

void paixu()

{

int i,j,k,t;

for(I = 0; I & ltm;; i++)

{

Stu [me]. pin =(stu[I]. ke 1+stu[I]. ke2+stu[I]. ke3)/3;

}

for(I = 0; I < = m-2; i++)

{

k = I;

for(j = I+ 1; j & lt= m- 1; j++)

If(stu[j].pin & lt stu [k]. pin)

k = j;

If (k! =i)

{

t=stu[k]。 pin

Stu [k]. pin=stu[i]。 pin

Stu [me]. pin = t;

}

}

for(I = 0; I & ltm;; i++)

{printf ("name of student %d %s:", i+ 1, stu[i]. Name); & ltbr & gt printf ("x:% s for% d students", i+ 1, stu[i]. Sex); & ltbr & gtprintf(" \ n %d students' math scores:% d ",i+ 1, stu [I]. ke1); & ltbr & gtprintf(" \ n %d students' Chinese score:% d ",i+ 1, stu [I] .ke2); & ltbr & gtprintf(" \ n %d students' English score:% d ",i+ 1, stu [I] .ke3); & ltbr & gtprintf(" \ n %d Average grade of students:% d ",i+ 1, stu[i]. pin); & ltbr & gt}

}

Invalid menu ()

{ int nub

Printf ("\ n \ n \ nStudent achievement management system \ n \ n");

Printf ("* * * * System Function Menu * * * \ n ");

printf("-\ n ");

Printf(" 1。 Enter student information \ n ");

Printf("2。 Query student information \ n ");

Printf("3。 Delete information by student number \ n ");

Printf("4。 Read in student information \ n ");

Printf("5。 Save information (this must be done before exiting the program in order to save changes to a file) \ n ");

Printf("6。 Query the average grade information of students \ n ");

Printf("0。 Exit the system \ n ");

printf("-\ n ");

Printf ("Please select menu number:");

scanf("%d ",& ampnub);

Switch (small block)

{

Case1:insert (); Break;

Case 2: seek (); Break;

Case 3: del (); Break;

Case 4: Readfile (); Break;

Case 5: save (); Break;

Case 6: Paixu (); Break;

Case 0: k = 0; Break;

Default value: printf ("Please choose between 0 and 6 \ n");

}}

void main()

{

When (k)

menu();

}

//Output the average value after sorting. If you don't want to input directly, then don't choose to sort each student.