C語言結(jié)構(gòu)體版學(xué)生成績管理系統(tǒng)
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
結(jié)構(gòu)體版的學(xué)生成績管理系統(tǒng)
主要功能有
按1 輸入學(xué)生信息
按2 輸出學(xué)生信息
按3 查詢學(xué)生信息
按4 修改學(xué)生信息
按5 刪除學(xué)生信息
按6 插入學(xué)生信息
按7 排序總成績信息
學(xué)生信息主要有姓名,班級,學(xué)號,C語言成績,高數(shù)成績,大學(xué)英語成績,控制臺界面輸出格式有點(diǎn)不美觀。
#include<stdio.h> #include<string.h> struct student { char name[20];//名字 char sex[10];//性別 int number;//學(xué)號 char ban[20];//班級 int c;//C語言成績 int gaoshu;//高數(shù)成績 int yingyu;//大學(xué)英語成績 int sum;//總成績 }stu[60]; int n;//學(xué)生數(shù)量 void menu()//菜單 { printf("\n"); printf("***********************************\n"); printf("*** 學(xué)生成績管理系統(tǒng) ***\n"); printf("*** 按1 輸入學(xué)生信息 ***\n"); printf("*** 按2 輸出學(xué)生信息 ***\n"); printf("*** 按3 查詢學(xué)生信息 ***\n"); printf("*** 按4 修改學(xué)生信息 ***\n"); printf("*** 按5 刪除學(xué)生信息 ***\n"); printf("*** 按6 插入學(xué)生信息 ***\n"); printf("*** 按7 排序成績信息 ***\n"); printf("*** 按0 退出系統(tǒng) ***\n"); printf("***********************************\n"); } void input()//學(xué)生信息的錄入 { int i,j=1; printf("\n 請輸入總學(xué)生數(shù)量:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf(" 輸入第%d個學(xué)生相關(guān)信息\n",j++); printf("輸入姓名\n"); scanf("%s",stu[i].name); getchar(); printf("輸入性別\n"); scanf("%s",stu[i].sex); printf("輸入學(xué)號\n"); scanf("%d",&stu[i].number); printf("輸入班級\n"); scanf("%s",stu[i].ban); printf("輸入c語言成績\n"); scanf("%d",&stu[i].c); printf("輸入高數(shù)成績\n"); scanf("%d",&stu[i].gaoshu); printf("輸入大學(xué)英語成績\n"); scanf("%d",&stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); } } void output()//學(xué)生信息輸出 { int i; printf("----------學(xué)生信息的是----------\n"); if(n==0)printf(" ++++++這里沒有信息++++++\n"); else for(i=1;i<=n;i++) { printf("名字:%2s",stu[i].name); printf("性別:%2s",stu[i].sex); printf("學(xué)號:%2d",stu[i].number); printf("班級:%2s",stu[i].ban); printf("c語言成績:%2d\n",stu[i].c); printf("高數(shù)成績:%2d\n",stu[i].gaoshu); printf("英語成績:%2d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); } } void search()//查詢 { int num,i,t; char a[20],k; if(n!=0) { printf("選擇查找條件(1:學(xué)號 2:名字)\n"); scanf("%d",&t); if(t==1) { printf("輸入您要查找的學(xué)生的學(xué)號\n"); scanf("%d",&num); for(i=1;i<=n;i++) { if(stu[i].number==num) { printf("名字:%s",stu[i].name); printf("性別:%s",stu[i].sex); printf("學(xué)號:%d",stu[i].number); printf("班級:%s",stu[i].ban); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("英語成績:%d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); break; } } if(i>n) printf("您查找的信息不存在或者學(xué)號輸入錯誤\n"); } if(t==2) { printf("輸入您要查找的學(xué)生的名字\n"); scanf("%s",a); for(i=1;i<=n;i++) { k=strcmp(stu[i].name,a); if(k==0) { printf("名字:%s",stu[i].name); printf("性別:%s",stu[i].sex); printf("學(xué)號:%d",stu[i].number); printf("班級:%s",stu[i].ban); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("英語成績:%d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); break; } }if(i>n) printf("您查找的信息不存在或者學(xué)號輸入錯誤\n"); } } else printf("對不起,這里沒有學(xué)生信息\n"); } void change()//修改 { int num,i; printf("輸入您要修改的學(xué)生的學(xué)號\n"); scanf("%d",&num); if(n==0) printf(" ++++++這里沒有信息++++++\n"); else { for(i=1;i<=n;i++) { if(stu[i].number==num) { printf("您要修改的學(xué)生信息為\n"); printf("名字:%s",stu[i].name); printf("性別:%s",stu[i].sex); printf("學(xué)號:%d",stu[i].number); printf("班級:%s",stu[i].ban); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("英語成績:%d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); printf("\n"); break; } } if(i>n) printf("您查找的信息不存在或者學(xué)號輸入錯誤\n"); else { printf("輸入姓名\n"); scanf("%s",stu[i].name); getchar(); printf("輸入性別\n"); scanf("%s",stu[i].sex); printf("輸入學(xué)號\n"); scanf("%d",&stu[i].number); printf("輸入班級\n"); scanf("%s",stu[i].ban); printf("輸入c語言成績\n"); scanf("%d",&stu[i].c); printf("輸入高數(shù)成績\n"); scanf("%d",&stu[i].gaoshu); printf("輸入大學(xué)英語成績\n"); scanf("%d",&stu[i].yingyu); } } } void del()//刪除 { int i,j,e,num; if(n!=0) { printf(" ****這是所有學(xué)生的信息****\n"); for(i=1;i<=n;i++) { printf("--------------------------*\n"); printf("名字:%s\n",stu[i].name); printf(" *\n"); printf("性別:%s\n",stu[i].sex); printf(" *\n"); printf("學(xué)號:%d\n",stu[i].number); printf(" *\n"); printf("班級:%s\n",stu[i].ban); printf(" *\n"); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("英語成績:%d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); printf("--------------------------*\n"); } printf("請輸入您要刪除的學(xué)生的學(xué)號:"); scanf("%d",&num); for(i=1;i<=n;i++) if(stu[i].number==num) { j=i; for(e=i-1;e<n;e++,j++) { strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].sex,stu[j+1].sex); stu[j].number=stu[j+1].number; strcpy(stu[j].ban,stu[j+1].ban); stu[j].c=stu[j+1].c; stu[j].gaoshu=stu[j+1].gaoshu; stu[j].yingyu=stu[j+1].yingyu; n--; } }printf("**********該學(xué)生信息已刪除**********\n"); } else printf("對不起,這里沒有學(xué)生信息\n"); } void add()//插入 { int i,j,t; if(n!=0) { printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("^ 注: 下面已有信息,如有重復(fù)請不要插入 ^\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("\n"); for(i=1;i<=n;i++) { printf("名字:%s",stu[i].name); printf("性別:%s",stu[i].sex); printf("學(xué)號:%d",stu[i].number); printf("班級:%s",stu[i].ban); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("英語成績:%d\n",stu[i].yingyu); stu[i].sum=stu[i].c+stu[i].gaoshu+stu[i].yingyu; printf("該學(xué)生的總成績:%d\n",stu[i].sum); printf("\n"); } printf("是否繼續(xù)插入(是:y 否:n)\n"); printf("%c您的選擇是:",t=getchar()); t=getchar(); if(t=='y') { j=n; printf("**********請插入學(xué)生相關(guān)信息**********\n"); printf("輸入姓名\n"); scanf("%s",stu[j+1].name); getchar(); printf("輸入性別\n"); scanf("%s",stu[j+1].sex); printf("輸入學(xué)號\n"); scanf("%d",&stu[j+1].number); printf("輸入班級\n"); scanf("%s",stu[j+1].ban); printf("輸入c語言成績\n"); scanf("%d",&stu[j+1].c); printf("輸入高數(shù)成績\n"); scanf("%d",&stu[j+1].gaoshu); printf("輸入英語成績\n"); scanf("%d",&stu[j+1].yingyu); strcpy(stu[j+2].name,stu[j+1].name); strcpy(stu[j+2].sex,stu[j+1].sex); stu[j+2].number=stu[j+1].number; strcpy(stu[j+2].ban,stu[j+1].ban); stu[j+2].c=stu[j+1].c; stu[j+2].gaoshu=stu[j+1].gaoshu; stu[j+2].yingyu=stu[j+1].yingyu; printf(" 該學(xué)生信息已經(jīng)插入\n"); n++; }else printf("\n (▔▽▔)插入程序結(jié)束,請重新選擇");printf("\n"); } else{i=1;printf("請輸入要插入學(xué)生的相關(guān)信息\n"); printf("輸入姓名\n"); scanf("%s",stu[i].name); getchar(); printf("輸入性別\n"); scanf("%s",stu[i].sex); printf("輸入學(xué)號\n"); scanf("%d",&stu[i].number); printf("輸入班級\n"); scanf("%s",stu[i].ban); printf("輸入c語言成績\n"); scanf("%d",&stu[i].c); printf("輸入高數(shù)成績\n"); scanf("%d",&stu[i].gaoshu); printf("輸入英語成績\n"); scanf("%d",&stu[i].yingyu); n++; } } void paixu() { int i,j,t; if(n!=0) { printf("該排序是按照總分成績從高到低進(jìn)行排序\n"); for(i=1;i<=n;i++) for(j=1;j<n;j++) { if(stu[j].sum<stu[j+1].sum) { t=stu[j].sum; stu[j].sum=stu[j+1].sum; stu[j+1].sum=t; } } for(i=1;i<=n;i++) { printf("名字:%s\n",stu[i].name); printf("性別:%s\n",stu[i].sex); printf("學(xué)號:%d\n",stu[i].number); printf("班級:%s\n",stu[i].ban); printf("c語言成績:%d\n",stu[i].c); printf("高數(shù)成績:%d\n",stu[i].gaoshu); printf("總成績:%d\n",stu[i].sum); } } else printf(" ++++++這里沒有信息++++++\n"); } void main() { int a,b=1; while(b) { menu(); printf("您選擇的是: "); scanf("%d",&a); printf("\n"); switch(a) { case 1:input();break;//輸入 case 2:output();break;//輸出 case 3:search();break;//查找 case 4:change();break;//修改 case 5:del();break;//刪除 case 6:add();break;//插入 case 7:paixu();break;//排序 case 0:b=0;break;//退出 } } printf(" 學(xué)生管理系統(tǒng)已退出( ^_^ )\n"); }
更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語言編寫學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)C語言代碼實(shí)現(xiàn)
- C語言利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
- C語言學(xué)生成績管理系統(tǒng)源代碼
- C語言實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)實(shí)戰(zhàn)教學(xué)
- C語言實(shí)現(xiàn)簡單學(xué)生成績管理系統(tǒng)
- 使用C語言實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
- C語言實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
- C語言學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)
- 基于C語言實(shí)現(xiàn)簡單學(xué)生成績管理系統(tǒng)
相關(guān)文章
虛函數(shù)被類的構(gòu)造析構(gòu)函數(shù)和成員函數(shù)調(diào)用虛函數(shù)的執(zhí)行過程
虛函數(shù)被類的構(gòu)造析構(gòu)函數(shù)和成員函數(shù)調(diào)用虛函數(shù)的執(zhí)行過程,需要的朋友可以參考下2013-02-02C語言實(shí)現(xiàn)無規(guī)律數(shù)據(jù)加密、解密功能
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)無規(guī)律數(shù)據(jù)加密、解密功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-03-03C++中Operator類型強(qiáng)制轉(zhuǎn)換成員函數(shù)解析
轉(zhuǎn)換函數(shù)定義了由<類型說明符1>到<類型說明符2>之間的映射關(guān)系。可見,轉(zhuǎn)換函數(shù)是用來將一種類型的數(shù)據(jù)轉(zhuǎn)換成為另一種類型2013-09-09vsCode配置import@路徑提示的實(shí)現(xiàn)步驟
在導(dǎo)入文件設(shè)置路徑的時候方便了很多,本文主要介紹了vsCode配置import@路徑提示的實(shí)現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2023-08-08