溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言結(jié)構(gòu)體版學(xué)生成績管理系統(tǒng)

發(fā)布時間:2020-08-24 08:01:50 來源:腳本之家 閱讀:247 作者:日行一善,寫一算法 欄目:編程語言

本文實例為大家分享了C語言實現(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é)英語成績,控制臺界面輸出格式有點不美觀。

#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("該排序是按照總分成績從高到低進行排序\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í)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI