c语言实现创建学生成绩表,实现插入、删除和统计等管理功能。
生活随笔
收集整理的這篇文章主要介紹了
c语言实现创建学生成绩表,实现插入、删除和统计等管理功能。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
c語言實現創建學生成績表,實現插入、刪除和統計等管理功能。
#include <stdio.h> #include <stdlib.h> #include <malloc.h>typedef struct SeqList *PSeqList;struct SeqList //定義線性表結構 {int MAXNUM;int n;int *score;char *name; };PSeqList create_stuscr_seq(int m) /*創建空學生成績表*/ {PSeqList palist = (PSeqList)malloc(sizeof(struct SeqList));if (palist != NULL){palist->score = (int *)malloc(sizeof(int) * m);palist->name = (char *)malloc(sizeof(char) * m);if (palist->score != NULL && palist->name != NULL){palist->MAXNUM = m;palist->n = 0;printf("The creation was successful.");return palist;}elsefree(palist);}printf("out of space!!\n");return NULL; } //在下標p之后插入x int insert_seq(PSeqList palist, int p, int s, char x) {int q;if (palist->n >= palist->MAXNUM){printf("Overflow!\n"); //溢出return 0;}/*if (p < 0 || p > palist->n){printf("Not Exist !\n");return 0;}*/if (p < palist->MAXNUM - 1){palist->score[p + 1] = s;palist->name[p + 1] = x;palist->n = palist->n + 1;printf("The insertion was successful.");return 1;} }int inquiry_seq(PSeqList palist, char n) //查詢學生序號 {int i;for (i = 0; i < palist->n; i++){if (palist->name[i] == n){return i;}}return -1; }int delete_seq(PSeqList palist, char n) //刪除指定學生 {int xh = inquiry_seq(palist, n);int q;if (xh < 0 || xh > palist->n - 1){printf("Not exist !\n");return 0;}for (q = xh; q < palist->n; q++){palist->name[q] = palist->name[q + 1];palist->score[q] = palist->score[q + 1];}palist->n = palist->n - 1;printf("The deletion was successful.");return 1; }//計算線性表長度 int seq_len(PSeqList palist) {return palist->n; }//打印學生成績表內容 int print_seq(PSeqList palist, int p) {if (palist == NULL)return -1;else{if(p==0)printf("it's empty!");else{printf("the table is:");int ia;for (ia = 0; ia < p; ia++){//printf("name[ %d ]:", ia);printf("%s", palist->name[ia]);//printf("score[ %d ]:", ia);printf("%d\n", palist->score[ia]);}return 1;}} }int main() {PSeqList L = create_stuscr_seq(15); //創建空學生表int p, aba = 0;int s, pri;char x;int i;for(i=0;i<100;i++){printf("insert:1\n");//printf("inquiry:2\n");printf("delete:3\n");printf("free:4\n");printf("quit:5\n");printf("input:");scanf("%d", &pri);if (pri == 1){p = seq_len(L);printf("please input the name:");scanf("%s", &x);printf("please input the score:");scanf("%d", &s);insert_seq(L, p, s, x); //向成績表中插入姓名,成績}else if (pri == 2){p = seq_len(L);print_seq(L,p);}else if (pri == 3){printf("Please enter the name that needs to be deleted:");scanf("%s", &x);delete_seq(L, x);}else if (pri == 4){free(L);}else if (pri == 5){return 0;}else{printf("fault");return -1;}} }可直接運行。
總結
以上是生活随笔為你收集整理的c语言实现创建学生成绩表,实现插入、删除和统计等管理功能。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SIM】MCC(移动国家码)和 MNC
- 下一篇: [转载] 中华典故故事(孙刚)——26