<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言實現學生成績管理系統的具體程式碼,供大家參考,具體內容如下
設計學生成績管理系統
要求如下:
1.輸入學生資訊
2.統計學生成績
3.查詢並顯示學生成績
4.按姓名查詢,修改學生資料
5.顯示所有學生名單
6.查詢並刪除學生資訊
7.輸出個科目成績最高的學生
#include<stdio.h> #include<ctype.h> #include<stdlib.h> #include<string.h> struct Student { int cls; char namee[10]; char number[10]; int chinese; int english; int computer; int math; }stud1[100]; int menu() { char a; while(a>'8'||a<'0') { system("cls"); printf("***** 學生成績管理系統 *******n"); printf(" 1.輸入學生資訊n"); printf(" 2.統計學生成績n"); printf(" 3.查詢並顯示學生成績n"); printf(" 4.按姓名查詢,修改學生資料n"); printf(" 5.顯示所有學生名單n"); printf(" 6.查詢並刪除學生資訊n"); printf(" 7.輸出個科目成績最高的學生n"); printf(" 0.退出系統n"); printf("************************************n"); printf("請選擇(0-8)n"); a=getchar();//鍵盤敲的字元賦給a } return(a-'0'); } /******************************************/ int Input(Student stud[],int n) //輸入資料 定義輸入資料函數 { int i=0; char sign,x[10]; for(;sign !='n'&&sign !='N';) { printf(" 姓名:"); scanf("%s",stud[n+i].namee); printf(" 班級:"); scanf("%d",&stud[n+i].cls); printf(" 學號:"); scanf("%s",stud[n+i].number); printf(" 語文:"); scanf("%d",&stud[n+i].chinese); printf(" 數學:"); scanf("%d",&stud[n+i].math); printf(" 英語:"); scanf("%d",&stud[n+i].english); printf(" 計算機:"); scanf("%d",&stud[n+i].computer); gets(x); printf("還有要輸入的資訊嗎?(y/n)"); scanf("%c",&sign); i++; } return(n+i); } void Sort(Student stud[], int n)//根據平均分排序(冒泡法) { int i,j; struct Student tmp; for (i=0;i<n;i++) { for (j=1;j<n-i;j++) { if ((stud[j-1].chinese+stud[j-1].english+stud[j-1].computer+stud[j-1].math)<(stud[j].chinese+stud[j].english+stud[j].computer+stud[j].math)) { tmp=stud[j-1]; stud[j-1]=stud[j]; stud[j]=tmp; } } } } /***************統計資料*******/ void Display(Student stud[], int n) { Sort(stud,n); int i; printf(" 班級 學號 姓名 語文 數學 英語 計算機 總分 平均分n"); for(i=1;i<n+1;i++) { int s=stud[i-1].chinese+stud[i-1].math+stud[i-1].english+stud[i-1].computer; printf("%7d,%7s,%7s,%7d,%7d,%7d,%7d,%7d,%7dn",stud[i-1].cls,stud[i-1].number,stud[i-1].namee,stud[i-1].chinese,stud[i-1].math,stud[i-1].english,stud[i-1].computer,s,s/4); if(i>1 && i%10==0) { system("pause"); } } system("pause"); int a; printf("語文不及格的有:班級 姓名 學號 成績n"); for(a=0;a<n;a++) { if(stud[a].chinese<60) printf(" %7d %7s %7s% 7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese); } printf("數學不及格的有:班級 姓名 學號 成績n"); for(a=0;a<n;a++) { if(stud[a].math<60) printf(" %7d %7s %7s %7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math); } printf("英語不及格的有:班級 姓名 學號 成績n"); for(a=0;a<n;a++) { if(stud[a].english<60) printf(" %7d %7s %7s %7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english); } printf("計算機不及格的有:班級 姓名 學號 成績n"); for(a=0;a<n;a++) { if(stud[a].computer<60) printf(" %7d %7s %7s %7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer); } system("pause"); } /************查詢學生顯示其資訊*******************/ void Query(Student stud[],int n) { char namee[20]; printf(" 輸入其姓名:n"); scanf("%s",namee); int i=0; while(strcmp(stud[i].namee,namee)!=0&&i<n) i++; if(i==n) { printf("ttt沒有發現該學生的資料!n"); return; } printf(" 學號:%sn",stud[i].number); printf(" 班級:%dn",stud[i].cls); printf(" 語文:%dn",stud[i].chinese); printf(" 英語:%dn",stud[i].english); printf(" 數學:%dn",stud[i].math); printf(" 計算機:%dn",stud[i].computer); } /************刪除學生資訊*********/ int Delete(Student stud[],int n) { char s[20]; int i=0,j; printf(" 請輸入要刪除的學生的姓名:n"); scanf("%s",s); while(strcmp(stud[i].namee,s)!=0&&i<n) i++; if(i==n) { printf("ttt沒有發現該學生資料!n"); return(n); } for(j=i;j<n-1;j++) { strcpy(stud[j].number,stud[j+1].number); strcpy(stud[j].namee,stud[j+1].namee); stud[j].cls=stud[j+1].cls; stud[j].chinese=stud[j+1].chinese; stud[j].math=stud[j+1].math; stud[j].english=stud[j+1].english; stud[j].computer=stud[j+1].computer; } printf(" 當前資訊已刪除成功!"); return(n-1); } /****************修改資訊**********************/ int Revise(Student stud[],int n) { int i=0; char na[10]; scanf("%s",na); while(strcmp(stud[i].namee,na)!=0&&i<n) i++; if(i==n) { printf("ttt沒有發現該學生的資料!n"); } printf("修改班級:n"); scanf("%d",&stud[i].cls); printf("修改學號:n"); scanf("%s",stud[i].number); printf("修改語文成績:n"); scanf("%d",&stud[i].chinese); printf("修改英語成績:n"); scanf("%d",&stud[i].english); printf("修改數學成績:n"); scanf("%d",&stud[i].math); printf("修改計算機成績:n"); scanf("%d",&stud[i].computer); printf("修改成功n"); return(n); } /***************************************顯示學生名單**************************************/ void show(Student stud[],int n) { for(int i=0;i<n;i++) { printf(" %sn",stud[i].namee); } system("pause"); } // void SercherH(Student stud[],int n)//搜尋成績最高者輸出 { int a; int max ; printf("語文成績最高為:班級 姓名 學號 成績n"); max=stud[0].chinese; for(a=1;a<n;a++) { if(stud[a].chinese>max) max=stud[a].chinese; } for(a=0;a<n;a++) { if(max==stud[a].chinese) printf(" %7d %7s %7s% 7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese); } printf("數學成績最高為:班級 姓名 學號 成績n"); max=stud[0].math; for(a=1;a<n;a++) { if(stud[a].math>max) max=stud[a].math; } for(a=0;a<n;a++) { if(max==stud[a].math) printf(" %7d %7s %7s% 7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math); } printf("英語成績最高為:班級 姓名 學號 成績n"); max=stud[0].english; for(a=1;a<n;a++) { if(stud[a].english>max) max=stud[a].english; } for(a=0;a<n;a++) { if(max==stud[a].english) printf(" %7d %7s %7s% 7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english); } printf("計算機成績最高為:班級 姓名 學號 成績n"); max=stud[0].computer; for(a=1;a<n;a++){ if(stud[a].computer>max) max=stud[a].computer;} for(a=0;a<n;a++) { if(max==stud[a].computer) printf(" %7d %7s %7s% 7dn",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer);} system("pause");} /*****************主函數呼叫*****************/ int main() { int n1=0; for(;;) { switch(menu()){ case 1: printf(" 輸入學生資料n"); n1=Input(stud1,n1);break; case 2: printf(" 輸出所有學生資料n"); Display(stud1,n1);break; case 3: int r;printf(" 查詢學生n"); Query(stud1,n1); system("pause");break; case 4: int p;printf(" 修改學生資料n"); printf(" 輸入你要修改的學生的姓名:"); n1=Revise(stud1,n1); system("pause");break; case 5: printf(" 顯示所有學生名單:n"); show(stud1,n1); system("pause");break; case 6: printf(" 查詢並刪除學生資訊n"); int o; n1=Delete(stud1,n1); system("pause");break; case 7: int l;SercherH(stud1,n1);break; case 0: system("pause");break; } } }
後面的需要執行哪項功能,就輸入對應數位就可以!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45