首页 > 代码库 > [数据结构实验]学生成绩管理
[数据结构实验]学生成绩管理
1 #include <iostream> 2 #include <cstdio> 3 #include <malloc.h> 4 #include <cstring> 5 #define NULL 0 6 #define LEN sizeof(Node) 7 using namespace std; 8 const char lesson[][12] = {"Math", "English", "Chinese", "physics", "Chemistry"}; 9 struct Node {10 char ID[110];11 int arr[5];12 struct Node *next;13 void clear() {14 memset(ID, 0, sizeof(ID));15 memset(arr, 0, sizeof(arr));16 next = NULL;17 }18 };19 20 struct StudentGradeManage {21 Node *head = NULL;22 void addStu() {23 Node *p = head;24 printf("%d\n", p->next);25 while(p->next != NULL) p = p->next;26 while(1) {27 Node *tmp;28 tmp = (Node*) malloc(LEN);29 tmp->next = NULL;30 cout<< "Input ID(exit, input 0): ";31 cin>> tmp->ID;32 if(strlen(tmp->ID) == 1 && tmp->ID[0] == ‘0‘) break;33 for(int i = 0; i < 5; i++) {34 printf("Input %s grade: ", lesson[i]);35 cin>> tmp->arr[i];36 }37 p->next = tmp;38 }39 }40 void deleteStu() {41 while(1) {42 char str[102];43 cout<< "Input ID(exit, input 0): ";44 cin>> str;45 if(strlen(str) == 1 && str[0] == ‘0‘) break;46 Node *p = head, *fa = NULL;47 int F = 0;48 while(p) {49 if(strcmp(p->ID, str) == 0) {50 if(fa == NULL) head = p->next;51 else fa->next = p->next;52 F = 1;53 break;54 }55 fa = p;56 p = p->next;57 }58 if(F) puts("successfully delete!");59 else puts("ID don‘t exist!");60 }61 }62 void displayStu() {63 cout<< "***********************************************************"<< endl;64 cout<< "ID ";65 for(int i = 0; i < 5; i++) cout<< lesson[i]<< " ";66 Node *p = head;67 while(p) {68 printf("%s ", p->ID);69 for(int i = 0; i < 5; i++) printf("%d ", p->arr);70 p = p->next;71 }72 cout<< "***********************************************************"<< endl;73 }74 };75 int main()76 {77 StudentGradeManage G;78 while(1) {79 G.addStu();80 G.deleteStu();81 G.displayStu();82 }83 return 0;84 }
[数据结构实验]学生成绩管理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。