最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)

 更新時(shí)間:2022年07月22日 10:18:36   作者:成就一億技術(shù)人  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

設(shè)計(jì)要求

設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)

要求如下:

1.輸入學(xué)生信息
2.統(tǒng)計(jì)學(xué)生成績(jī)
3.查找并顯示學(xué)生成績(jī)
4.按姓名查找,修改學(xué)生資料
5.顯示所有學(xué)生名單
6.查找并刪除學(xué)生信息
7.輸出個(gè)科目成績(jī)最高的學(xué)生

完整代碼

#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("***** ? ?學(xué)生成績(jī)管理系統(tǒng) ? ?*******\n");
?? ??? ?printf(" ? ? ? ? ? ? ?1.輸入學(xué)生信息\n");
?? ??? ?printf(" ? ? ? ? ? ? ?2.統(tǒng)計(jì)學(xué)生成績(jī)\n");
?? ??? ?printf(" ? ? ? ? ? ? ?3.查找并顯示學(xué)生成績(jī)\n");
?? ??? ?printf(" ? ? ? ? ? ? ?4.按姓名查找,修改學(xué)生資料\n");
?? ??? ?printf(" ? ? ? ? ? ? ?5.顯示所有學(xué)生名單\n");
?? ??? ?printf(" ? ? ? ? ? ? ?6.查找并刪除學(xué)生信息\n");
?? ??? ?printf(" ? ? ? ? ? ? ?7.輸出個(gè)科目成績(jī)最高的學(xué)生\n");
?? ??? ?printf(" ? ? ? ? ? ? ? 0.退出系統(tǒng)\n");
?? ??? ?printf("************************************\n");
?? ??? ?printf("請(qǐng)選擇(0-8)\n");
?? ??? ?a=getchar();//鍵盤敲的字符賦給a?
?? ?}
?? ?return(a-'0');
}
/******************************************/
int Input(Student stud[],int n) ? ? ?//輸入數(shù)據(jù) ? 定義輸入數(shù)據(jù)函數(shù)
{
?? ?int i=0;
?? ?char sign,x[10];
?? ?for(;sign !='n'&&sign !='N';)
?? ?{
?? ??? ?printf(" ? ? ? ? ? ? ? 姓名:");
?? ??? ?scanf("%s",stud[n+i].namee);
?? ??? ?printf(" ? ? ? ? ? ? ? 班級(jí):");
?? ??? ?scanf("%d",&stud[n+i].cls);
?? ??? ?printf(" ? ? ? ? ? ? ? 學(xué)號(hào):");
?? ??? ?scanf("%s",stud[n+i].number);
?? ??? ?printf(" ? ? ? ? ? ? ? 語文:");
?? ??? ?scanf("%d",&stud[n+i].chinese);

?? ??? ?printf(" ? ? ? ? ? ? ? 數(shù)學(xué):");
?? ??? ?scanf("%d",&stud[n+i].math);
?? ??? ?printf(" ? ? ? ? ? ? ? 英語:");
?? ??? ?scanf("%d",&stud[n+i].english);
?? ??? ?printf(" ? ? ? ? ? ? ? 計(jì)算機(jī):");
?? ??? ?scanf("%d",&stud[n+i].computer);
?? ??? ?gets(x);
?? ??? ?printf("還有要輸入的信息嗎?(y/n)");
?? ??? ?scanf("%c",&sign);
?? ??? ?i++;
?? ?}
?? ?return(n+i);
}
void Sort(Student stud[], int n)//根據(jù)平均分排序(冒泡法)
{
?? ? 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;
? ? ? ? ? ? }
? ? ? ? ?}
? ? ?}
}?
/***************統(tǒng)計(jì)數(shù)據(jù)*******/
void Display(Student stud[], int n)
{
?? ?Sort(stud,n);
?? ?int i;
?? ?printf(" ? ? 班級(jí) ? ?學(xué)號(hào) ? ?姓名 ? 語文 ? ? 數(shù)學(xué) ? ?英語 ? 計(jì)算機(jī) ? 總分 ? 平均分\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,%7d\n",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("語文不及格的有:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\n");?
?? ?for(a=0;a<n;a++)
?? ?{?
?? ??? ?if(stud[a].chinese<60)
?? ??? ?printf(" ? ? ? ? ? %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese);
?? ? }?
?? ?printf("數(shù)學(xué)不及格的有:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\n");?
?? ?for(a=0;a<n;a++)
?? ?{?
?? ??? ?if(stud[a].math<60)
?? ?printf(" ? %7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math);
?? ? }?
?? ?printf("英語不及格的有:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\n");
?? ?for(a=0;a<n;a++)
?? ?{?
?? ??? ?if(stud[a].english<60)
?? ?printf(" ? ? ? ? ? %7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english);
?? ? }?
?? ?printf("計(jì)算機(jī)不及格的有:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\n");?
?? ?for(a=0;a<n;a++)
?? ?{?
?? ??? ?if(stud[a].computer<60)
?? ?printf(" ? ? ? ? ? ?%7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer);
?? ? }?
?? ? system("pause");
}
/************查找學(xué)生顯示其信息*******************/
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("\t\t\t沒有發(fā)現(xiàn)該學(xué)生的資料!\n");
?? ??? ?return;
?? ?}
?? ?printf(" ? ? ? ? ?學(xué)號(hào):%s\n",stud[i].number);
?? ?printf(" ? ? ? ? ?班級(jí):%d\n",stud[i].cls);
?? ?printf(" ? ? ? ? ?語文:%d\n",stud[i].chinese);
?? ?printf(" ? ? ? ? ?英語:%d\n",stud[i].english);
?? ?printf(" ? ? ? ? ?數(shù)學(xué):%d\n",stud[i].math);
?? ?printf(" ? ? ? ? ?計(jì)算機(jī):%d\n",stud[i].computer);
}
/************刪除學(xué)生信息*********/
int Delete(Student stud[],int n)
{
?? ?char s[20];
?? ?int i=0,j;
?? ?printf(" ? ? ? 請(qǐng)輸入要?jiǎng)h除的學(xué)生的姓名:\n");
?? ?scanf("%s",s);
?? ?while(strcmp(stud[i].namee,s)!=0&&i<n) i++;?
?? ?if(i==n)?
?? ?{
?? ??? ?printf("\t\t\t沒有發(fā)現(xiàn)該學(xué)生資料!\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(" ? ? ? ? ?當(dāng)前信息已刪除成功!");?
?? ?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("\t\t\t沒有發(fā)現(xiàn)該學(xué)生的資料!\n");
?? ?}
?? ?printf("修改班級(jí):\n");
?? ?scanf("%d",&stud[i].cls);
?? ?printf("修改學(xué)號(hào):\n");
?? ?scanf("%s",stud[i].number);
?? ?printf("修改語文成績(jī):\n");
?? ?scanf("%d",&stud[i].chinese);
?? ?printf("修改英語成績(jī):\n");
?? ?scanf("%d",&stud[i].english);
?? ?printf("修改數(shù)學(xué)成績(jī):\n");
?? ?scanf("%d",&stud[i].math);
?? ?printf("修改計(jì)算機(jī)成績(jī):\n");
?? ?scanf("%d",&stud[i].computer);
?? ?printf("修改成功\n");
?? ?return(n);
}

/***************************************顯示學(xué)生名單**************************************/
void show(Student stud[],int n)
{
? ? for(int i=0;i<n;i++)
?? ?{
?? ??? ?printf(" ? ?%s\n",stud[i].namee);
?? ?}
?? ?system("pause");
}
//
void SercherH(Student stud[],int n)//搜索成績(jī)最高者輸出?
{
?? ?int a;
?? ?int max ;
?? ?printf("語文成績(jī)最高為:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\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% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese);
?? ?}
?? ?printf("數(shù)學(xué)成績(jī)最高為:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\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% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math);
?? ?}
?? ?printf("英語成績(jī)最高為:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\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% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english);
?? ?}
?? ?printf("計(jì)算機(jī)成績(jī)最高為:班級(jí) ? ?姓名 ? 學(xué)號(hào) ? ?成績(jī)\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% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer);}
?? ? system("pause");}
/*****************主函數(shù)調(diào)用*****************/
int main()
{
?? ?int n1=0;
?? ?for(;;)
?? ?{
?? ??? ?switch(menu()){
?? ??? ?case 1:
?? ??? ??? ?printf(" ? ? ? ? ? ? ? 輸入學(xué)生資料\n");
?? ??? ??? ?n1=Input(stud1,n1);break;
?? ??? ?case 2:
?? ??? ??? ?printf(" ? ? ? ? ? ? ? ? ?輸出所有學(xué)生資料\n");
?? ??? ??? ??? ?Display(stud1,n1);break;
?? ??? ?case 3:
?? ??? ??? ?int r;printf(" ? ? ? ? ? ? ? 查找學(xué)生\n");
?? ??? ??? ?Query(stud1,n1);
system("pause");break;
?? ??? ?case 4:
?? ??? ??? ?int p;printf(" ? ? ? ? ? ? ? 修改學(xué)生資料\n");
printf(" ? ? ? ? ? ? ? 輸入你要修改的學(xué)生的姓名:");
?? ??? ??? ??? ?n1=Revise(stud1,n1);
?? ??? ??? ?system("pause");break;
?? ??? ?case 5:
?? ??? ??? ?printf(" ? ? ? ? ? ? ? 顯示所有學(xué)生名單:\n");
?? ??? ??? ??? ?show(stud1,n1);
?? ??? ??? ?system("pause");break;
? ? ? ? case 6:
?? ??? ??? ?printf(" ? ? ? ? ? ? ? 查找并刪除學(xué)生信息\n");
?? ??? ??? ?int o;
n1=Delete(stud1,n1);
system("pause");break;
?? ??? ?case 7:
?? ??? ??? ?int l;SercherH(stud1,n1);break;?? ?
?? ??? ?case 0:?? ??? ??? ??? ?
?? ??? ??? ?system("pause");break;
?? ??? ?}
?? ?}
}

運(yùn)行結(jié)果

后面的需要執(zhí)行哪項(xiàng)功能,就輸入對(duì)應(yīng)數(shù)字就可以!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言實(shí)現(xiàn)推箱子小游戲

    C語言實(shí)現(xiàn)推箱子小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語言繪制雷達(dá)圖的示例代碼

    C語言繪制雷達(dá)圖的示例代碼

    常用的統(tǒng)計(jì)圖有條形圖、柱形圖、折線圖、曲線圖、餅圖、環(huán)形圖、扇形圖,其中還有一種雷達(dá)圖的繪制也較難,本文為大家提供了雷達(dá)圖的繪制方法,需要的可以參考下
    2024-02-02
  • c++中處理相關(guān)數(shù)學(xué)函數(shù)

    c++中處理相關(guān)數(shù)學(xué)函數(shù)

    數(shù)學(xué)庫函數(shù)聲明在 math.h 中,主要有:
    2013-04-04
  • C語言實(shí)現(xiàn)俄羅斯方塊的六種模式詳程建議收藏

    C語言實(shí)現(xiàn)俄羅斯方塊的六種模式詳程建議收藏

    遲早一定會(huì)掛掉的俄羅斯方塊,為什么至今仍是世界游戲之王?它是怎么編寫的?本文將給大家詳細(xì)介紹六種模式的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值
    2022-02-02
  • C++ float轉(zhuǎn)std::string 小數(shù)位數(shù)控制問題

    C++ float轉(zhuǎn)std::string 小數(shù)位數(shù)控制問題

    這篇文章主要介紹了C++ float轉(zhuǎn)std::string 小數(shù)位數(shù)控制問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言指針類型與野指針引起的原因

    C語言指針類型與野指針引起的原因

    我們C語言獨(dú)一無二的特色——指針。說起指針,可能很多人都是還沒學(xué)就已經(jīng)聽說過其鼎鼎大名,因?yàn)橛泻芏鄠餮院屯嫘κ裁吹恼f指針很難,其實(shí)大家大可不必有畏難情緒,指針這個(gè)東西雖然確實(shí)有一定難度,但是這是基于其優(yōu)秀的靈活性而衍生的一點(diǎn)小問題
    2023-02-02
  • C語言MFC基礎(chǔ)之計(jì)算器詳解

    C語言MFC基礎(chǔ)之計(jì)算器詳解

    這篇文章主要為大家介紹了MFC實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-08-08
  • C語言結(jié)構(gòu)體(struct)常見使用方法(細(xì)節(jié)問題)

    C語言結(jié)構(gòu)體(struct)常見使用方法(細(xì)節(jié)問題)

    這篇文章主要介紹了C語言結(jié)構(gòu)體(struct)常見使用方法(細(xì)節(jié)問題),需要的朋友可以參考下
    2017-03-03
  • C++順序表的基本操作(使用模版類)

    C++順序表的基本操作(使用模版類)

    這篇文章主要為大家詳細(xì)介紹了C++順序表的基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • CMake的簡(jiǎn)單應(yīng)用

    CMake的簡(jiǎn)單應(yīng)用

    這篇文章主要介紹了CMake的簡(jiǎn)單應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

乌兰浩特市| 依兰县| 札达县| 古蔺县| 洮南市| 宁津县| 洪洞县| 来安县| 白山市| 长武县| 梧州市| 南川市| 乌鲁木齐市| 独山县| 新晃| 谷城县| 海口市| 宣恩县| 盱眙县| 依安县| 和平县| 古田县| 萨迦县| 井研县| 永宁县| 张家港市| 陆丰市| 甘德县| 德州市| 天门市| 卢湾区| 新乡市| 石渠县| 涪陵区| 醴陵市| 巨鹿县| 宜阳县| 赤壁市| 阿克苏市| 隆化县| 九龙县|