欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

設(shè)計要求

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

要求如下:

1.輸入學(xué)生信息
2.統(tǒng)計學(xué)生成績
3.查找并顯示學(xué)生成績
4.按姓名查找,修改學(xué)生資料
5.顯示所有學(xué)生名單
6.查找并刪除學(xué)生信息
7.輸出個科目成績最高的學(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é)生成績管理系統(tǒng) ? ?*******\n");
?? ??? ?printf(" ? ? ? ? ? ? ?1.輸入學(xué)生信息\n");
?? ??? ?printf(" ? ? ? ? ? ? ?2.統(tǒng)計學(xué)生成績\n");
?? ??? ?printf(" ? ? ? ? ? ? ?3.查找并顯示學(xué)生成績\n");
?? ??? ?printf(" ? ? ? ? ? ? ?4.按姓名查找,修改學(xué)生資料\n");
?? ??? ?printf(" ? ? ? ? ? ? ?5.顯示所有學(xué)生名單\n");
?? ??? ?printf(" ? ? ? ? ? ? ?6.查找并刪除學(xué)生信息\n");
?? ??? ?printf(" ? ? ? ? ? ? ?7.輸出個科目成績最高的學(xué)生\n");
?? ??? ?printf(" ? ? ? ? ? ? ? 0.退出系統(tǒng)\n");
?? ??? ?printf("************************************\n");
?? ??? ?printf("請選擇(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(" ? ? ? ? ? ? ? 班級:");
?? ??? ?scanf("%d",&stud[n+i].cls);
?? ??? ?printf(" ? ? ? ? ? ? ? 學(xué)號:");
?? ??? ?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ī):");
?? ??? ?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)計數(shù)據(jù)*******/
void Display(Student stud[], int n)
{
?? ?Sort(stud,n);
?? ?int i;
?? ?printf(" ? ? 班級 ? ?學(xué)號 ? ?姓名 ? 語文 ? ? 數(shù)學(xué) ? ?英語 ? 計算機(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("語文不及格的有:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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é)不及格的有:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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("英語不及格的有:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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ī)不及格的有:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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é)號:%s\n",stud[i].number);
?? ?printf(" ? ? ? ? ?班級:%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ī):%d\n",stud[i].computer);
}
/************刪除學(xué)生信息*********/
int Delete(Student stud[],int n)
{
?? ?char s[20];
?? ?int i=0,j;
?? ?printf(" ? ? ? 請輸入要刪除的學(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("修改班級:\n");
?? ?scanf("%d",&stud[i].cls);
?? ?printf("修改學(xué)號:\n");
?? ?scanf("%s",stud[i].number);
?? ?printf("修改語文成績:\n");
?? ?scanf("%d",&stud[i].chinese);
?? ?printf("修改英語成績:\n");
?? ?scanf("%d",&stud[i].english);
?? ?printf("修改數(shù)學(xué)成績:\n");
?? ?scanf("%d",&stud[i].math);
?? ?printf("修改計算機(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)//搜索成績最高者輸出?
{
?? ?int a;
?? ?int max ;
?? ?printf("語文成績最高為:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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é)成績最高為:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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("英語成績最高為:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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ī)成績最高為:班級 ? ?姓名 ? 學(xué)號 ? ?成績\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í)行哪項功能,就輸入對應(yīng)數(shù)字就可以!

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

相關(guān)文章

  • bmp 縮放代碼(BMP位圖任意放大 和縮小)

    bmp 縮放代碼(BMP位圖任意放大 和縮小)

    這篇文章主要介紹了bmp 縮放代碼(BMP位圖任意放大 和縮小),需要的朋友可以參考下
    2016-04-04
  • C語言三子棋小游戲的實現(xiàn)

    C語言三子棋小游戲的實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了C語言三子棋小游戲的實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++ Boost PropertyTree示例超詳細(xì)講解

    C++ Boost PropertyTree示例超詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • VC運(yùn)用OPENGL加載BMP紋理圖的實現(xiàn)方法匯總

    VC運(yùn)用OPENGL加載BMP紋理圖的實現(xiàn)方法匯總

    這篇文章主要介紹了VC運(yùn)用OPENGL加載BMP紋理圖的實現(xiàn)方法,對于更好的了解OpenGL很有幫助,需要的朋友可以參考下
    2014-07-07
  • C語言中獲取進(jìn)程識別碼的相關(guān)函數(shù)

    C語言中獲取進(jìn)程識別碼的相關(guān)函數(shù)

    這篇文章主要介紹了C語言中獲取進(jìn)程識別碼的相關(guān)函數(shù),分別為getpid()函數(shù)和getppid()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • C++靜態(tài)成員函數(shù)和this指針詳解

    C++靜態(tài)成員函數(shù)和this指針詳解

    這篇文章主要為大家介紹了C++靜態(tài)成員函數(shù)和this指針,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 詳解C++11中模板的優(yōu)化問題

    詳解C++11中模板的優(yōu)化問題

    這篇文章主要介紹了C++11中模板的優(yōu)化問題,通過實例代碼得出結(jié)論,當(dāng)所有模板參數(shù)都有默認(rèn)參數(shù)時,函數(shù)模板的調(diào)用如同一個普通函數(shù),具體示例代碼跟隨小編一起看看吧
    2021-09-09
  • 淺談C++中virtual的三種用法

    淺談C++中virtual的三種用法

    這篇文章主要介紹了淺談C++中virtual的三種用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • protobuf c++編程筆記

    protobuf c++編程筆記

    這篇文章主要介紹了Protobuf的c++編程筆記,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • C++隱式轉(zhuǎn)換問題分析及解決辦法

    C++隱式轉(zhuǎn)換問題分析及解決辦法

    在本篇文章里小編給大家整理了關(guān)于C++隱式轉(zhuǎn)換問題分析及解決辦法,有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02

最新評論