學生成績管理系統的特點
❶ 學生成績管理系統的目的和意義是什麼
可以更快的使學生的成績相加並且排名,這對老師來說是很好可以減少很多工作量,在多人版多課考試時很有用,權只要成績出來,輸入電腦就可以在幾秒內是成績相加,並知道了某學生在學校排名,但對學生來說,考完試自由的時間就很少了
❷ 學生成績管理系統有什麼設計原則
#包括
包括
結構學生{
詮釋身份證;
字元名稱[10];
詮釋年齡
>字元性[10];
字元張谷[20];
整數分殊;
字元專業戶[50];
} ST [50];
我= 0;
無效淑如(){
燒焦了;
做{
printf的(「\ n請輸入學號:」);
scanf函數( 「%d」,&ST [i]的ID);
fflush(stdin)中;
printf的(「\ n請輸入你的名字:」);
獲取(ST [I]名);
printf的(「\ n」);
printf的(「請輸入年齡:」);
scanf的(「為%d」,&ST [i]的年齡); printf(「請\ n請輸入性別:」);
得到(ST [I]。性);
fflush(stdin)中
fflush(stdin)中;
printf的(「\ n請輸入院系:」);
得到(ST [I]。張谷);
printf的(「\ n請輸入成績:」);
scanf的(「%D」,ST [I]。分殊);
fflush(stdin)中;
printf的(「\ n請輸入一個專業:);
獲得(ST [I]。專業戶);
printf的(「\ n是否繼續輸入學生信息?(Y / N)」);
fflush(stdin)中;
= getchar函數();
+ +;
}(A =='Y'&& <= 50);
}
BR />無效仙師()
年齡{
詮釋;
printf的(「\ t學號\ t姓名\ t \ t性別\ t學院\ T專業\ T分數的\ n「);
為(J = 0; <; + +)
printf的(」\ t%D \ T%S \ T%D \ T%S \ t%的小號\ t%d \ t其中%s \ n「,
ST [J]。身份證,ST [J]。名稱,ST [J]。年齡,ST [J]。性別,ST張谷[J]。 ,ST [J]。分殊,ST [J]。專業戶);
}
無效叉著()
{
INT M
字元名稱[20],B;
{
printf的(「\ n請輸入要發現學生的姓名:」);
fflush(stdin)中;
獲取(名稱);
為(M = 0,M <I,M + +)
{
(STRCMP(名,ST [M]。名)== 0)
{
printf的(「\ n \你在位置%d的學生發現!!\ n」;,M +1); BR />打破;
}
}
(M> = 20)
printf的(「\ n \ t沒有找到這個學生!\ n」); />其他
{
printf的(「學生編號性別年齡教師專業成績」);
printf的(「\ t%D \ T%S \ T%D \ T%\噸%S \ T%d \ t其中%s \ n「,
ST [M]。身份證,ST [M]。名稱,ST [M]。年齡,ST [M]。性別,ST [M]。張谷,ST [M]。分殊,ST [M]。專業戶);
}
printf的(「\ n能否找到另一種是學生嗎?(Y / N)」);
> fflush(stdin)中
B = getchar函數();
}而(B =='Y');
}
a>
無效閃出()
{
字元名稱[20],C;
整數A,B;
{
輸出(「\ n請輸入你要刪除的學生姓名:\ n」);
fflush(stdin)中
獲取(名稱);
(A = 0; <我一個+ +)
{
(STRCMP(名稱,ST [A]。名)== 0)
打破;
}
/ a>(B = A,B <I,B + +)
ST [B] = ST [+1];
(A>;我)
printf的(「 \ T沒有找到這名學生!!\ n「);
其他
{
-
仙師();
} BR />
printf的(「\ n是否繼續刪除另一名學生的信息?(Y / N)」);
fflush(stdin)中;
C = getchar函數(); BR />},而(C =='Y');
}
無效charu()
淑如( );
}
廉政的main()
{
詮釋改變;
做{
系統(「CLS」);
printf的(「========================的====學生信息管理系統==== =============================== \ n「);
printf的(」\ t \ t:輸入學生信息\ n「);
printf的(」\ t \ t:學生信息\ n「);
printf的(」
\ t \ t:查找學生信息\ n「);的printf (「\ t \ t:刪除學生信息\ n」);
printf的(「\ t \ t五:插入學生信息\ n」);
printf的(「\ t \ t VI:退出程序\ n「);
fflush(stdin)中;
printf的(」\ t \ t請輸入選項:);
scanf的(「%d」,&的變化);切換(改變)
{
案件1:
淑如();突破;
案例2:
仙師()突破;
案例3:
的叉著();突破;
情況4:
閃出();突破;
情況下,5:
charu();休息;
案例6:
突破;
}
}(change! = 6);
系統(「暫停」);
返回0;
}
,正如約瑟夫鏈表是相對簡單的,你拿去做可以做到這一點。
❸ 學生成績管理系統怎樣做
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define N 1000
typedef struct student
{
int number;
char name[20];
int grade;
int gaoshu;
int yingyu;
int daxuewuli;
int sum;
}STUDENT;
STUDENT student[N];
int shuliang=0;
void menu();
void xiang()
{
char biao[20];
printf("\n");
printf("還需要操作么?如果需要操作請輸入:yes,否則請輸入:no\n");
scanf("%s",biao);
if(strcmp(biao,"yes")==0)
{
menu();
}
else if(strcmp(biao,"no")==0)
exit(0);
else
{
printf("請輸入正確的字元,謝謝!\n");
xiang();
}
}
void DengJi()
{
int rs;
int i,k=1;
system("CLS");
printf("請輸入需要輸入幾個學生信息:");
scanf("%d",&rs);
for(i=shuliang;i<shuliang+rs;i++,k++)
{
printf("請輸入第%d個學生的學號:",k);
scanf("%d",&student[i].number);
printf("請輸入學生的姓名:");
scanf("%s",student[i].name);
printf("請輸入學生3門課的成績:");
printf("請輸入第1門課的成績:");
scanf("%d",&student[i].gaoshu);
printf("請輸入第2門課的成績:");
scanf("%d",&student[i].yingyu);
printf("請輸入第3門課的成績:");
scanf("%d",&student[i].daxuewuli);
}
shuliang=shuliang+rs;
xiang();
}
void ShanChu()
{
char shanchuinfo[10];
system("CLS");
printf("刪除全部學生信息請輸入\"all\",刪除指定學號的學生信息請輸入\"one\"\n");
scanf("%s",shanchuinfo);
if(strcmp(shanchuinfo,"all")==0)
{
int j;
printf("你刪除的學生信息如下:\n");
printf("-----------學號-------------姓名-------------高數--------------英語--------------計算機\t\n");
for(j=0;j<shuliang;j++)
printf("----%d-------%s-------%d-------%d-------%d\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].daxuewuli);
shuliang=0;
printf("刪除成功\n\n");
}
else if(strcmp(shanchuinfo,"one")==0)
{
struct student *p=NULL;
int choice;
int i,j,k=0;
printf("請輸入你要刪除的人的學號:");
scanf("%d",&choice);
for(i=0;i<shuliang;i++)
{
if(choice==student[i].number)
{
k=1;j=i;break;
}
}
if(k)
{
if(shuliang==1)
{
p=&student[0];
free(p);
shuliang=0;
}
else
{
for(i=j;i<shuliang;i++)
{
student[i]=student[i+1];
}
shuliang=shuliang-1;
}
printf("刪除成功\n\n");
}
else
{
printf("輸入數據錯誤!\n");
}
}
xiang();
}
void LiuLan()
{
int i;
system("CLS");
if(shuliang==0)
{
printf("系統裡面沒有任何學生的信息!\n");
}
else
{
for(i=0;i<shuliang;i++)
{
printf("第%d個學生的學號為:%d\n",i+1,student[i].number);
printf("第%d個學生的姓名為:%s\n",i+1,student[i].name);
printf("第%d個學生的第一門課的成績為:%d\n",i+1,student[i].gaoshu);
printf("第%d個學生的第二門課的成績為:%d\n",i+1,student[i].yingyu);
printf("第%d個學生的第三門課的成績為:%d\n",i+1,student[i].daxuewuli);
student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].daxuewuli;
printf("第%d個學生的總成績為:%d\n",i+1,student[i].sum);
}
}
xiang();
}
void ChaZhao()
{
int xx;
char choice,yy[20];
int i,j,k=0;
system("CLS");
if(shuliang==0)
{
printf("系統裡面沒有任何學生的信息!\n");
xiang();
}
printf("三種查找方式:學號,姓名,成績\n");
printf("如果按學號查找請輸1,如果按姓名查找請輸2,如果按成績查找請輸3\n");
printf("請輸入您查找的方式:");
scanf("%s",&choice);
if(choice=='1')
{
printf("請輸入需要查找學生的學號:");
scanf("%d",&xx);
printf("您所查找的學生的信息為:\n");
printf("----學號----姓名----高數成績----英語成績----大學物理----\t\n");
for(i=0;i<shuliang;i++)
{
if(xx==student[i].number)
{
j=i;k=1;
printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].daxuewuli);
}
}
if(k==0)
printf("輸入信息有誤:\n");
}
else if(choice=='2')
{
printf("請輸入需要查找學生的姓名:\n");
scanf("%s",yy);
printf("您所查找的學生的信息為:\n");
printf("----學號----姓名----高數成績----英語成績----大學物理----\t\n");
for(i=0;i<shuliang;i++)
{
if(strcmp(yy,student[i].name)==0)
{
j=i;k=1;
printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].daxuewuli);
}
}
if(k==0)
printf("輸入信息有誤:\n");
}
else if(choice=='3')
{
printf("請輸入需要查找學生的成績:\n");
scanf("%d",&xx);
printf("您所查找的學生的信息為:\n");
printf("----學號----姓名----高數----英語----計算機----\t\n");
for(i=0;i<shuliang;i++)
{
if(xx==student[i].grade)
{
j=i;k=1;
printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].daxuewuli);
}
}
if(k==0)
printf("輸入信息有誤:\n");
}
xiang();
}
void PaiXu()
{
struct student *p1[N],**p2,*temp;
int i,j,pjc;
system("CLS");
p2=p1;
for( i=0;i<shuliang;i++)
{
p1[i]=student+i;
}
for( i=0;i<shuliang;i++)
{
for( j=i+1;j<shuliang;j++)
{
if((*(p2+i))->sum<(*(p2+j))->sum)
{temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;}
}
}
printf("按照總成績排序之後的信息為:\n");
printf("----學號----姓名----總成績----\t\n");
for( i=0;i<shuliang;i++)
{
student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].daxuewuli;
pjc=(student[i].sum)/3;
printf("----%d-----%s----%d-----\n",(*(p2+i))->number,(*(p2+i))->name,(*(p2+i))->sum);
}
xiang();
}
void CunChu()
{
int i;
FILE *rs;
if((rs=fopen("student.txt","w"))==NULL)
{
printf("not open");
exit(0);
}
for(i=0;i<shuliang;i++)
{
fwrite(&student[i], sizeof(student[i]), 1, rs);
}
if(ferror(rs))
{
fclose(rs);
perror("寫文件失敗!\n");
return;
}
printf("存儲文件成功!\n");
fclose(rs);
xiang();
}
void DaoChu()
{
struct student t;
int i=0;
FILE* fp = fopen("student.txt", "r");
shuliang=0;
if(NULL==fp)
{
perror("讀取文件打開失敗!\n");
return;
}
memset(student,0x0,sizeof(student));
while(1)
{
fread(&t,sizeof(t),1,fp);
if(ferror(fp))
{
fclose(fp);
perror("讀文件過程失敗!\n");
return;
}
if(feof(fp))
{
break;
}
student[i]=t;
i++;
}
fclose(fp);
shuliang=i;
printf("導出文件成功!\n");
xiang();
}
void menu()
{
int n=0;
system("CLS");
printf(" 學生信息管理系統\n");
printf(" 作者:孫召洋\n");
printf("-------------------MENU-----------------\n");
printf(" 1.登記學生信息\n");
printf(" 2.刪除學生信息\n");
printf(" 3.瀏覽所有已經登記的學生\n");
printf(" 4.查找\n");
printf(" 4.1按學號查找\n");
printf(" 4.2按姓名查找\n");
printf(" 4.3按成績查找\n");
printf(" 5.根據總成績排序\n");
printf(" 5.1輸出平均成績\n");
printf(" 6.存儲到文件\n");
printf(" 7.從文件導出\n");
printf(" 8.退出系統\n");
a: printf(" 請選擇:");
scanf("%d",&n);
switch (n)
{
case 1:
DengJi();break;
case 2:
ShanChu();break;
case 3:
LiuLan();break;
case 4:
ChaZhao();break;
case 5:
PaiXu();break;
case 6:
CunChu();break;
case 7:
DaoChu();break;
case 8:
exit(0);break;
default:
{
printf("請輸入1-8之間的數字,謝謝!\n");
goto a;
}
}
}
void main()
{
menu();
}
❹ 學生成績管理系統 思路
給你個簡單的介紹:
VB開發平台的特點
SQL資料庫的特點
功能需求分析
如果你想要別人完全幫你寫好又不願意給分
你找錯地方了
❺ 基於web學生信息管理系統相對於基於c/s的學生信息管理系統有什麼優缺點
B/S系統一般會設計成SOA架構的,因為可能有多種語言訪問後端,專比如java,js,python,perl等,執行效率和屬開發效率都較低,但可擴展性強。而C/S一般沒有這個問題,所以容易設計成封閉架構,好處是效率高,開發效率也高,但是擴展難。
❻ 學生成績管理系統
#include "stdio.h"
#include "string.h"
struct student
{int num;
char name[10];
char sex[10];
char brith[20];
char academy[20];
float score[5];
float average;
}stu[30];
int m=0,o;
void main()
{
void SR();
void TJ();
void CX();
void SC();
void CR();
void XG();
int n;
printf("請輸入統計人數:");
scanf("%d",&o);
do{printf(" # %d學生 4門課的統計程序 #\n 1 成績錄入;\n 2 成績查詢;\n 3 成績統計;\n 4 刪除錄入;\n 5 插入學生 \n 6 修改學生 \n 7 退出",o);
printf("\n輸入1-7選擇。請選擇:");
scanf("%d",&n);
if(n==1) SR();
else if(n==2) CX();
else if(n==3) TJ();
else if(n==4) SC();
else if(n==5) CR();
else if(n==6) XG();
else if(n==7) printf("謝謝使用");
else printf("無此選項!自動返回!\n");}
while(n!=7);
}
void SR()
{int y,i,j,t,k,n; float x;
if(m==1)
{printf("成績已錄入,數字鍵返回");
scanf("%d",&y);
goto loop;}
for(i=0;i<o;i++)
{printf("輸入第%d名同學的信息\n",i+1);
printf("學號:");
scanf("%d",&stu[i].num);
printf("\n姓名:\n");
scanf("%s",&stu[i].name);
printf ("\n性別:\n");
scanf ("%s",&stu[i].sex);
printf("\n出生日期:\n");
scanf("%s",&stu[i].brith);
printf("\n系別:\n");
scanf("%s",&stu[i].academy);
printf("\n分數:\n");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[i].score[j]);}
x=0;
for(t=0;t<4;t++)
x=x+stu[i].score[t];
stu[i].average=x/4;}
printf("輸入的成績為:\n");
printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3]);
printf("重新輸入請按 0,其他數字鍵返回");
scanf("%d",&n);
if(n==0)
SR();
else m=1;
loop:{};}
void CR()
{int i,k,j,t,n,w=-1;float x;
if(m==0)
{printf("請先輸入成績!\n");
goto loop;};
printf("插入的學號:");
scanf("%d",&stu[o].num);
printf("\n插入的姓名:\n");
scanf("%s",&stu[o].name);
printf ("\n插入的性別:\n");
scanf ("%s",&stu[o].sex);
printf("\n插入的出生日期:\n");
scanf("%s",&stu[o].brith);
printf("\n插入的系別:\n");
scanf("%s",&stu[o].academy);
printf("\n插入的分數:\n");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[o].score[j]);}
o=o+1;
for(i=0;i<o;i++)
{x=0;
for(t=0;t<4;t++)
{x=x+stu[i].score[t];}
stu[i].average=x/4;}
printf("各學生成績:\n");
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重復插入請按 0,其他數字鍵確認");
scanf("%d",&n);
if(n==0)
CR();
loop:{};}
void SC()
{int k,j,t,n,w=-1;
if(m==0)
{printf("請先輸入成績!\n");
goto loop;};
printf("各學生成績:\n");
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
chucuo:printf ("你要刪除的學號:");
scanf("%d",&j);
for(t=0;t<o;t++)
{if (stu[t].num==j)w=t;}
if(w!=-1)
{o=o-1;
for (k=w;k<o;k++)
{stu[k].num=stu[k+1].num;
strcpy(stu[k].name,stu[k+1].name);
strcpy(stu[k].sex,stu[k+1].sex);
strcpy(stu[k].brith,stu[k+1].brith);
strcpy(stu[k].academy,stu[k+1].academy);
stu[k].score[0]=stu[k+1].score[0];
stu[k].score[1]=stu[k+1].score[1];
stu[k].score[2]=stu[k+1].score[2];
stu[k].score[3]=stu[k+1].score[3];
stu[k].average=stu[k+1].average;}}
if (w==-1) {printf("輸入學號有誤,請從新輸入:");goto chucuo;};
printf("刪除後各學生成績:\n");
printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
{printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重復刪除請按 0,其他數字鍵確認");
scanf("%d",&n);
if(n==0)
SC();
loop:{};}
void TJ()
{
int k,i,j,a[30],t; float n[30],q;
if(m==0)
{printf("請先輸入成績!\n");
goto loop;};
printf("各學生成績:\n");
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
for(i=0;i<o;i++)
a[i]=i;
for(i=0;i<o;i++)
n[i]=stu[i].average;
for(j=0;j<o-1;j++)
for(i=0;i<o-1-j;i++)
if(n[i]<n[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;
q=n[i];n[i]=n[i+1];n[i+1]=q;}
printf("按平均分排序\n");
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[a[k]].num,stu[a[k]].name,
stu[a[k]].sex,stu[a[k]].brith,stu[a[k]].academy,stu[a[k]].score[0],stu[a[k]].score[1],stu[a[k]].score[2],stu[a[k]].score[3],stu[a[k]].average);}
chucuo:{printf("1 按第一科排序\n2 按第二科排序\n3 按第三科排序\n4 按第四科排序\n請輸入:");
scanf("%d",&k);
if(k==1) j=0;
else if(k==2) j=1;
else if(k==3) j=2;
else if(k==4) j=3;
else {printf("出錯,重新輸入\n");goto chucuo;}
for(i=0;i<o;i++)
{n[i]=stu[i].score[j];
a[i]=i;};
for(k=0;k<o-1;k++)
for(i=0;i<o-1-k;i++)
if(n[i]<n[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;
q=n[i];n[i]=n[i+1];n[i+1]=q;}
{printf("按第%d科排序結果:\n",j+1);
printf("學號 姓名 性別 出生日期 系別 科目\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f\n",stu[a[k]].num,stu[a[k]].name,
stu[a[k]].sex,stu[a[k]].brith,stu[a[k]].academy,stu[a[k]].score[j]);}
printf("繼續按1,其他數字鍵返回");
scanf("%d",&i);
if(i==1) goto chucuo;
loop:{};}}
void CX()
{
int x,y,k,t,i,j,q=0;
if(m==0)
{printf("請先輸入成績!\n");
goto loow;};
looq:printf("1 按學號查詢\n2 查詢不及格學生\n其他數字鍵退出\n");
scanf("%d",&x);
if(x==1)
loop:{printf("輸入學號:\n");
scanf("%d",&y);
j=0;
for(k=0;k<o;k++)
if(y==stu[k].num)
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);j=1;}
if(j==0)
{printf("無此人,重新輸入:\n");
goto loop;}
printf("繼續按1,其他數字鍵返回\n");
scanf("%d",&i);
if(i==1)
goto loop;
else goto looq;}
else if(x==2)
{for(k=0;k<o;k++)
for(t=0;t<4;t++)
if(stu[k].score[t]<60)
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);q=1;break;};
if(q==0)
printf("全部及格!\n");
printf ("繼續請按1,其他數字鍵退出:");
scanf ("%d",&k);
if(k==1)
goto looq;};
loow:{};
}
void XG()
{int k,j,t,n,w=-1; float x;
if(m==0)
{printf("請先輸入成績!\n");
goto loop;};
printf("各學生成績:\n");
{printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
chucuo:printf ("你要修改的學號:");
scanf("%d",&j);
for(t=0;t<o;t++)
{if (stu[t].num==j)w=t;}
if(w!=-1)
{printf("請輸入你要修改的信息:");
printf("\n修改的學號:\n");
scanf("%d",&stu[w].num);
printf("\n修改的姓名:\n");
scanf("%s",&stu[w].name);
printf ("\n修改的性別:\n");
scanf ("%s",&stu[w].sex);
printf("\n修改的出生日期:\n");
scanf("%s",&stu[w].brith);
printf("\n修改的系別:\n");
scanf("%s",&stu[w].academy);
printf("\n修改的分數:\n");
for(j=0;j<4;j++)
{printf("第%d科",j+1);
scanf("%f",&stu[w].score[j]);}}
x=0;
for(t=0;t<4;t++)
{x=x+stu[w].score[t];}
stu[w].average=x/4;
if (w==-1) {printf("輸入學號有誤,請從新輸入:");goto chucuo;};
printf("修改後各學生成績:\n");
printf("學號 姓名 性別 出生日期 系別 第一科 第二科 第三科 第四科 平均\n");
for(k=0;k<o;k++)
{printf("%-6d%-10s%-6s%-13s%-7s%-7.2f%-9.2f%-9.2f%-9.2f%-9.1f\n",stu[k].num,stu[k].name,
stu[k].sex,stu[k].brith,stu[k].academy,stu[k].score[0],stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].average);}
printf("重復修改請按 0,其他數字鍵確認");
scanf("%d",&n);
if(n==0)
XG();
loop:{};}
❼ 為什麼要開發一個學生成績管理系統
第一章 緒 論 2
1.1問題的提出 2
1.2現有系統存在問題的分析 3
1.3系統開發目標與意義 3
1.3.1系統開發目標: 3
1.4可行性分析 4
1.4.1 經濟上可行性: 4
1.4.2技術上可行性: 4
1.4.3運行上可行性: 5
第二章 系統技術以及運行環境的需求分析 5
2.1 教育系統學生管理現狀分析 5
2.1.1 學校工作流程分析 5
2.1.2 學校具體需求分析 6
2.1.3 系統設計思想 6
2.1.4 系統設計分析 6
2.1.5 系統功能分析 7
2.1.6 學生學籍系統的目標 7
2.2 C語言技術簡介 8
2.3模塊化程序設計 9
第三章 主菜單及各個子菜單設計 10
3.1 主菜單—學生成績檔案管理設計 10
3.2 子菜單—學生檔案管理設計 11
3.3 子菜單—學生成績管理設計 12
3.5子菜單—成績統計設計 13
第四章 各個功能函數及其調用 16
4、1錄入學生基本信息 16
4、2查詢學生基本信息 16
4、3刪除學生基本信息 17
4、4修改學生基本信息 18
4、5錄入成績 19
4、6修改成績 19
4、7冒泡排序 21
4、8選擇排序 21
4、9按某科成績排序或按平均成績排序 22
結論 22
致謝 23
參考文獻 23
第一章 緒 論
本畢業論文是以學校學生管理信息系統建設中的成績管理系統的開發為背景,論述了管理信息系統的概念、結構及系統開發的基本原理和方法,全文共分為緒論、系統分析、詳細設計、致謝、參考文獻、附錄等。
1.1問題的提出
隨著計算機技術的發展,特別是計算機大量軟體的使用,使用人們的生活與工作方式發生了很大的改觀。軟體鑲嵌在各種設備中,存在與我們計算機的方方面面。
C語言具有高級語言使用方便的特點,又具有低級語言直接操作計算機硬體的特點。因此C語言既可以編寫系統軟體,又可以用來編寫應用軟體,其應用十分廣泛,是國際上廣為流行的計算機語言。
在我國,教育是一個影響著國富民強的重要行業,隨著改革開放和市場經濟的發展根據中國特有的國情發展,教育得到了國家的大力扶持與社會各界的高度重視,從而使教育業向規范性與現代化的方向高速發展,但是同發達國家相比,我國的教育行業的信息技術的應用程度還很低,只有在大城市中發展較早、規模較大的院校中才使用計算機進行大規模操作,從各方面提高工作效率,取得良好的社會和經濟效益,而一些新興的、規模較小的教育機構還沒有全部具備這種功能。因此可見,隨著我國教育的迅速發展,信息技術在其上的應用會更加地廣泛和深入。
1.2現有系統存在問題的分析
在我國,各大中小學校的各類信息管理系統並非一個新的課題,但也有的學校根本就沒有信息任何管理系統,所有的工作幾乎還是手工操作來完成。計算機技術在日新月異的發展,但是有的很多學校,特別是在西部貧困地區,學校的種類管理都依然由手工操作來完成,這十分落後,效率極低,成本很大,而且極異出錯。隨著社會的發展,信息化是社會進程的必然趨勢,學校管理只有隻有快,准,精才能發揮其價值。
所以機器代替人力是必然的歷史發展趨勢,只有領導的重視和支持才能從人工操作改為計算機的自動化系統。人工操作必將被計算機代替。
有些學校雖使用了計算機,甚至管理系統,但是仍然存在很多問題,問題一日不解決,效率就一日提不上去。
還有,有的系統很不完善到處是漏洞,可以說是千瘡百孔,這樣極不完善的系統對管理來說是沒有任何保障的。
1.3系統開發目標與意義
1.3.1系統開發目標:
本系統是將現代化的計算機技術和傳統的教學、教務工作相結合,按照學院的工作流程設計完成的。為了使系統在學院的管理中發揮更大的作用,實現工作過程的計算機化,提高工作效率和工作質量,現提出如下的系統開發目標:
(1)系統管理員進入學生成績管理系統學生檔案管理的主要功能是:實現添加學生的基本信息、修改學生的基本信息、查詢學生的基本信息、刪除學生的基本信息等基本功能。
(2)系統管理員進入學生成績管理系統學生成績管理的主要功能是:實現學生成績的錄入、學生成績的修改與保存等基本功能。
(3)系統管理員進行學生成績管理系統查詢與統計的主要功能是:實現根據某個學生的基本信息查詢他的成績,還可以根據學生成績的高低進行排序等基本功能。
1.3.2意義:
在各大中小學校,用計算機管理學校的信息已經越來越普遍了。用計算機不但可以提高工作效率,而且還節省了許多人力物力,增強了學校資料的安全性。提高了學校的管理能力,為此,用計算機來管理學校的信息,是非常必要的。
1.4可行性分析
可行性研究的目的是用最小的代價在盡可能的時間內確定問題是否能夠解決。
1.4.1 經濟上可行性:
現在,計算機的價格已經十分低廉,性能卻有了長足的進步。而本系統的開發,
為學校的工作效率帶來了一個質的飛躍,為此主要表現有以下幾個方面:
第一,本系統的運行可以代替人工進行許多繁雜的勞動;
第二,本系統的運行可以節省許多資源;
第三,本系統的運行可以大大的提高學校的工作效率;
第四,本系統可以使敏感文檔更加安全,等等。
所以,本系統在經濟上是可行的。
1.4.2技術上可行性:
本系統的開發使用C語言作為系統開發的開發環境,它提供完善的指令控制語句、類與對象的支持及豐富的數據類型,給開發高性能系統提供的保障為開發滿足客戶要求的系統,保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利於以後對新系統的擴展與修改。
綜上所述,本系統的設計與開發在技術上和硬體設備上的條件都是滿足的,因此,它在技術上是可行的。
1.4.3運行上可行性:
本系統為一個小型的學生信息管理系統,所耗費的資源非常的小,學校的電腦無論是硬體還是軟體都能夠滿足條件,因此,本系統在運行上是可行的。
第二章 系統技術以及運行環境的需求分析
21世紀以來,人類經濟高速發展,人們發生了日新月異的變化,特別是計算機的應用及普及到經濟和社會生活的各個領域。使原本的舊的管理方法越來越不適應現在社會的發展。許多人還停留在以前的手工操作。這大大地阻礙了人類經濟的發展。為了適應現代社會人們高度強烈的時間觀念,學校信息管理系統軟體為學校辦公室帶來了極大的方便。
2.1 教育系統學生管理現狀分析
2.1.1 學校工作流程分析
學校工作總體規劃由教務人員在學生信息管理系統中完成對運行教務處所需的基本數據的維護,包括這些信息的增加、修改及對各項信息的變動都將在這進行操作。
新的學年,教務人員首先加入年級信息,然後編排班級,再對來校學生進行基本的信息錄入,新生入學後由教務人員在學籍系統中完成新學生信息的維護。
在每個學期開始,教務處根據班級的情況,以班為單位,為每個班級安排一個班主任及對此年級安排一個年級組長。並對各科老師進行安排。
每舉行一次考試後由任課老師對成績進行錄入。班主任對本班的成績匯總。並進行排名,然後年級組長再進行匯總,並對本年級各科成績及總成績進行排名。
教務處、年級組長、班主任及任課老師跟據實際情況對錄入的成績進行維護,各位同學對以上錄入的信息可以跟據自己的需要進行適當的查詢。
2.1.2 學校具體需求分析
(1)系統管理員進入學生成績管理系統學生檔案管理的主要功能是:實現添加學生的基本信息、修改學生的基本信息、查詢學生的基本信息、刪除學生的基本信息等基本功能。
(2)系統管理員進入學生成績管理系統學生成績管理的主要功能是:實現學生成績的錄入、學生成績的修改與保存等基本功能。
(3)系統管理員進行學生成績管理系統查詢與統計的主要功能是:實現根據某個學生的基本信息查詢他的成績,還可以根據學生成績的高低進行排序等基本功能。
❽ 學生成績管理系統
學生成績管理系統是將學生的成績、選課、基本信息存放在一個網頁資料庫中,如果你有你的學號密碼什麼的,你可以登陸進去,查到你的成績和基本信息。
❾ 學生成績管理系統內容分析
我不會,我也是剛學的,