学生管理系统源代码
#include
#include
#include
#include
#define INIT_SIZE 10
#define INCRE_SIZE 10
#define SUBJECT_NUM 3
#define LEN 3
void show_Start();
void show_Table();
void addRecord();
void Info_delete();
void deleteRecord();
void delete_Num(int);
void delete_Name(char tarName[]);
void Info_modify();
void modifyRecord();
void modify_Num(int);
void modify_Name(char[]);
void Info_query();
void queryRecord();
void query_Num(int);
void query_Name(char[]);
void display();
void quit();
void menu_CMD();
char *subject[SUBJECT_NUM] = struct STUDENT
{
int num;
char name[20];
char sex;
float score[SUBJECT_NUM];
};
//struct STUDENT stu[LEN + 1];
//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
int static stuNum = 0;
//
STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);;
int main()
{
//record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
/*
record[1].num = 1001;
strcpy(record[1].name,"Jason");
record[1].sex = 'M';
record[1].score[0] = 85.0;
record[1].score[1] = 90.0;
record[1].score[2] = 95.0;
record[2].num = 1002;
strcpy(record[2].name,"Jerry");
record[2].sex = 'M';
record[2].score[0] = 85.0;
record[2].score[1] = 90.0;
record[2].score[2] = 95.0;
record[3].num = 1003;
strcpy(record[3].name,"J es sie");
record[3].sex = 'F';
record[3].score[0] = 85.0; record[3].score[1] = 90.0; record[3].score[2] = 95.0;
*/
/*
Info_modify();
int key;
cout<
cin>>key;
if(key == 1)
{
int targetNum;
cout
cin>>targetNum;
modify_Num(targetNum); cout< display(); } if(key == 2) { char targetName[20]; cout< cin>>targetName; modify_Name(targetName); cout< display(); } if(key == 3) { exit(0); } */ show_Start(); menu_CMD(); return 0; } void show_Start() { //cout< cout<<" **************************************** "< cout<<" "< cout<<" "< cout<<" "< cout<<" "< cout<<" Made by Jason "< } //. void show_Table() { cout<<" <<"\t"<<" "<<"\t"<<" cout<<"\t"< cout< } void menu_CMD() { int key; while(1) { cout<<"1. < cin>>key; while(1) { if((key < 1)||(key > 6)) { int key; cout<< "< } else { break; } } switch(key) { case 1: addRecord(); break; case 2: deleteRecord(); break; case 3: modifyRecord(); break; case 4: queryRecord(); break; case 5: display(); break; case 6: quit(); break; } } } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // void addRecord() { if(stuNum == 0) { cout<< < stuNum++; } else { cout<<" < stuNum++; } // if(stuNum > INIT_SIZE) { cout<< "< record = (STUDENT*)realloc(record,(INIT_SIZE + INCRE_SIZE)*sizeof(STUDENT)); cout<<" !"< } cout<<" < cout<<" (Y/N) : "; . char choi; cin>>choi; if((choi == 'Y')||(choi == 'y')) { cout<<" : "; cin>>record[stuNum].num; cout<<" : "; cin>>record[stuNum].name; cout<<"(M , F) : "; cin>>record[stuNum].sex; int i; for(i = 0;i < SUBJECT_NUM;i++) { cout<<" "< cin>>record[stuNum].score[i]; } } if((choi == 'N')||(choi == 'n')) { cout<<" < cout< } cout<< < cout< } ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // \ //deleteRecord void Info_delete() { cout<<" : "< cout<<"1. "< cout<<"2. < cout<<"3. "< // void deleteRecord() { int key; cout< Info_delete(); cout<<" : "; cin>>key; if(key == 1) { int targetNum; cout<<" : "; cin>>targetNum; // delete_Num(targetNum); cout< } if(key == 2) { char targetName[20]; cout<<" : "; cin>>targetName; delete_Name(targetName); cout< } if(key == 3) { while(1) { menu_CMD(); } } } // void delete_Num(int tarNum) { int i; for(i = 1;i <= stuNum;i++) { if(record[i].num == tarNum) { // //1. //2. if(i = stuNum) { cout<<" : "< show_Table(); cout< < cout< cout< show_Table(); for(int i = 1;i <= stuNum - 1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } stuNum--; cout<<" < cout< */ } //2. if(i != stuNum) { cout<<" : "< show_Table(); cout< < for(int j = i+1;j <= stuNum;j++) { record[j-1] = record[j]; } // cout< cout<<" : "< show_Table(); for(int i = 1;i <= stuNum-1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } /* stuNum--; cout<<" "< cout< */ } stuNum--; cout<<" "< cout< } } } /* // void delete_Name(char tarName[]) { int i; for(i = 1;i <= stuNum;i++) { if(strcmp(record[i].name,tarName) == 0) { // //1. //2. // if(i = stuNum) { cout<<" : "< show_Table(); cout< < cout< cout< show_Table(); for(int i = 1;i <= stuNum - 1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } } / if(i != stuNum) { cout<<" : "< show_Table(); cout< < // for(int j = i+1;j <= stuNum;j++) { record[j-1] = record[j]; } cout< // cout<<" : "< show_Table(); for(int i = 1;i <= stuNum-1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } cout< void delete_Name(char tarName[]) { int i; for(i = 1;i <= stuNum;i++) { // //1. //2. // if(strcmp(record[i].name,tarName) == 0) { if(i == stuNum) { cout<<" : "< show_Table(); cout< < cout< cout<<" : "< show_Table(); for(int i = 1;i <= stuNum-1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } /* stuNum--; cout<<" "< cout< } / if(i != stuNum) { cout<<" "< show_Table(); cout< cout< cout< for(int j = i+1;j <= stuNum;j++) { record[j-1] = record[j]; } // . cout< cout<<" : "< show_Table(); for(int i = 1;i <= stuNum-1;i++) { cout< for(int j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } /* stuNum--; cout<<" "< cout< */ } stuNum--; cout<<" < cout< } } } /***************************************************************************** ******************************************************************************/ void Info_modify() { cout<<"\ : "< cout<<"1. "< cout<<"2. "< cout<<"3. "< } void modifyRecord() { int key; cout< Info_modify(); cout<<" : "; cin>>key; // if(key == 1) { int targetNum; cout<< : "; cin>>targetNum; modify_Num(targetNum); cout< //display(); // if(key == 2) { char targetName[20]; cout<< : "; cin>>targetName; modify_Name(targetName); cout< //display(); } if(key == 3) { while(1) { menu_CMD(); } } } // void modify_Num(int tarNum) { int i; for(i = 1;i <= stuNum;i++) { if(record[i].num == tarNum) { cout< cout<<" : "; cin>>record[i].num; cout<<" : "; cin>>record[i].name; cout<<"; cin>>record[i].sex; cout<<" "< cin>>record[i].score[0]; cout<<" "< cin>>record[i].score[1]; cout<<" "< cin>>record[i].score[2]; } } } void modify_Name(char tarName[]) { int i; for(i = 1;i <= stuNum;i++) { if(strcmp(record[i].name,tarName) == 0) { cout< cout<<" : "; cin>>record[i].num; cout<<" : "; cin>>record[i].name; cout<<" : "; cin>>record[i].sex; cout<<" "< cin>>record[i].score[0]; cout<<" "< cin>>record[i].score[1]; cout<<" "< cin>>record[i].score[2]; } } } void Info_query() { cout<<" : "< //queryRecord void queryRecord() { int key; cout< Info_query(); cout<<" "; cin>>key; if(key == 1) { int targetNum; cout<<" : "; cin>>targetNum; query_Num(targetNum); cout< } if(key == 2) { char targetName[20]; cout<<" : "; cin>>targetName; query_Name(targetName); cout< } // . if(key == 3) { while(1) { menu_CMD(); } void query_Num(int tarNum) { int i; for(i = 1;i <= stuNum;i++) { if(record[i].num == tarNum) { // cout<<" : "< // show_Table(); // cout< cout<<"\t"< cout< } } } // void query_Name(char tarName[]) { int i; for(i = 1;i <= stuNum;i++) { if(strcmp(record[i].name,tarName) == 0) { cout<<" : "< show_Table(); cout< cout<<"\t"< cout< } } } // void display() { show_Table(); int i,j; for(i = 1;i <= stuNum;i++) { //cout<<"学号"<<"\t"<<"姓名"<<"\t"<<"性别"; cout< for(j = 0;j < SUBJECT_NUM;j++) { cout<<"\t"< } cout< } cout< } // void quit() { char choi; cout<<" "< cout<<" (Y/N) : "; cin>>choi; if((choi == 'Y')||(choi == 'y')) { cout<< "< exit(0); } / else #include学生管理系统源代码