Simple student score management system written with C

xiaoxiao2021-03-06  41

/ * CopyRight (C) 2004 Aprin * * /

#include #include #include #define maxN 35 # define max_name 256

TypedEf strunt student {int No; char name [max_name]; int english; int math; int code; int mark_ave; int mark_tot;} student

/ * ----------- Input sub program --------- * /

Void INPUT (Student * Data, INT * LEN) {INT NO; char ch [MAX_NAME]; int mark

Putchar ('/ n'); Printf ("% s / n", "Enter the new records.and if you want); printf ("% s / n "," format: number " ); Printf ("% S / N", "Name English Math ComputerAverge Total); Putchar ('/ n'); Printf (" Such as: / N "); Printf (" 1 / n "); printf ("Gates 100 100 100,400 / N");

Scanf ("% D", & no); while (no! = -1) {data [* len] .no = no; scanf ("% s% D% D% D% D% D" DATA [* LEN ] .Name, & Data [* LEN] .MATH, & DATA [* LEN] .Computer, & data [* len] .mark_ave, & data; * len] .mark_tot; (* LEN) ; Scanf ("% d", & no);}}

/ * --------------- Output sub program --------------- * /

Void Output (student * data, int LEN) {INT i;

CLRSCR (); Printf ("% 8S", "Number"); Printf ("% 8s", "name"); Printf ("% 8s", "English"); Printf ("% 8s", "Math" ); Printf ("% 10s", "computer"); Printf ("% 12s", "average"); Printf ("% 10s", "total"); PUTCHAR ('/ n');

For (i = 0; i <80; i ) PUTCHAR ('='); PUTCHAR ('/ n');

For (i = 0; i

/ * -------------- Sort sub program ------------ * /

Void Sort (Student * Data, INT LEN) {INT I, J, K; Student Temp;

For (i = 0; i data [j] .mark_ave) K = J;

IF (k! = i) {temp = data [i]; data [i] = data [k]; data [k] = TEMP;}}}

/ * -------------------- Find Sub Program ----------------------- * /

Void Find (Student * Data, INT LEN) {INT FIND_NO, RESULT; INT i

Lab: Result = 0; Printf ("% s / n", "Enter the number which you want to find. if you want exit, enter -1."); scanf ("% d", & find_no); if (Find_no == -1) Return; / * exit the Fine Sub proGram * / while (data [result] .no! = Find_no && result = LEN) {Printf ("% s / N "," there is no the record which you want. "); goto lab;} else {clrs (); Printf ("% s / n "," the flowing record is you want. ");

For (i = 0; i <80; i ) PUTCHAR ('='); PUTCHAR ('/ n');

Printf ("% 8s", "Number"); Printf ("% 8s", "name"); Printf ("% 8s", "English"); Printf ("% 8s", "Math"); Printf "% 10s", "computer"); Printf ("% 12s", "average"); Printf ("% 10s", "total"); putchar ('/ n'); Printf ("% 8D", DATA [Result] .no); Printf ("% 8S", DATA [Result] .Name); Printf ("% 8D", DATA [Result] .english); Printf ("% 8D", DATA [Result] .MATH PRINTF ("% 10D", Data [Result] .Computer; Printf ("% 12d", DATA [Result] .mark_ave); Printf ("% 10D", DATA [Result] .MARK_TOT); PUTCHAR (' / n ');

For (i = 0; i <80; i ) PUTCHAR ('='); PUTCHAR ('/ n');

Goto lab;}}}

/ * ----------------- Insert Sub ProGram ------------- * /

Void Insert (Studient * Data, Int * LEN) {Int No, POS, English, Math, Computer, Mark_ave, Mark_tot, I; Char Name [MAX_NAME];

Lab: Printf ("% S / N", "Enter the new records. if you want exit, enter -1."); Printf ("% s / n", "format: number"); Printf ("% s / N "," Name English Math Computer Average Total ";

Scanf ("% d", & no; if (no == -1) Return; Data [* LEN] .no = NO; scanf ("% s% D% D% D% D% D", Name, & ENGLISH , & Math, & Computer, & Mark_ave, & Mark_tot;

POS = 0; WHILE ((Data [POS] .mark_ave = pos; i -) DATA [i 1] = DATA [I]; DATA [POS] .NO = NO; STRCPY (Data [POS] .Name, Name); Data [POS] .English = English; Data [POS] .Math = Math; Data [POS ] .computer = computer; Data [POS] .MARK_AVE = Mark_ave; Data [POS] .MARK_TOT = Mark_tot; (* LEN) ; goto lab;} / * ------------- -Delete sub program -------------- * /

Void delete (student * data, int * LEN) {Int no, i, pos

Lab: POS = 0; Printf ("% S / N", "Enter the number which you want to delete. if you want exit, enter -1.");

Scanf ("% D", & no); if (no == -1) Return; While ((Data [POS] .no! = no) && (POS <* LEN)) POS = POS 1; IF (POS > = * LEN) {Printf ("% s / n", "there is no the record which you want."); goto lab;} else {for (i = POS 1; i <* len; i ) DATA [i-1] = DATA [I]; * len = * len -1; if (* len == 0) {Printf ("% s / n", "The number of records is zero, Press Enter to return. "); Getchar (); getchar (); Return;} goto lab;}

}

/ * --------------- Stat Sub Program ------------ * /

Void Stat (Student * Data, INT LEN) {INT NO_59 = 0, NO_69 = 0, NO_79 = 0, NO_89 = 0, NO_100 = 0; INT I;

For (i = 0; i

CLRSCR (); for (i = 0; I <80; i ) Putchar ('='); PUTCHAR ('/ n'); Printf ("% 10s", "score"); Printf ("% 10s", "0--59"); Printf ("% 10s", "60-69"); Printf ("% 10s", "70--79"); Printf ("% 10s", "80-89 "); Printf ("% 10s "," 90--100 "); putchar ('/ n'); Putchar ('/ n'); Printf ("% 10s "," student "); printf ("% 10D ", NO_59); Printf ("% 10d ", NO_69); Printf ("% 10d ", NO_79); Printf ("% 10d ", NO_89); Printf ("% 10d ", NO_100);

PUTCHAR ('/ n');

For (i = 0; i <80; i ) Putchar ('='); PUTCHAR ('/ n'); Printf ("press enter to return."); getchar (); getchar ()

/ * --------------- MANU ------------ * /

Void Paint () {INT i;

CLRSCR (); Printf ("% 43S / N", "manu");

For (i = 0; i <80; i ) PUTCHAR ('='); PUTCHAR ('/ n');

Printf ("1 INPUT 2 OUTPUT / N"); Printf ("3 Sort (Average) 4 Find (Number) / N"); Printf ("5 INSERT 6 Delete (Number) / N"); Printf ("7 Stat (average) 0 quit / n "); for (i = 0; i <= 79; i ) PUTCHAR ('='); PUTCHAR ('/ n');

Printf ("% s / n", "please enter the command:");

}

/ * ------------ Main Program --------------- * /

Main () {student Data [MAXN]; int LEN = 0; char ctrl_ch;

转载请注明原文地址:https://www.9cbs.com/read-78499.html

New Post(0)