當前位置:首頁 » 考試成績 » 學生成績c語言

學生成績c語言

發布時間: 2020-11-28 14:45:28

A. c語言編寫學生成績處理

//給你個示例,僅供參考
#include<stdio.h>
#include<stdlib.h>

#defineNO_LEN11
#defineNAME_LEN9
#defineSTUDENT_NUM5
#defineTOP_THREE3

typedefstructstudent
{
charno[NO_LEN];
charname[NAME_LEN];
floata;
floatb;
floatc;
floatavg;
}ST;//st[STUDENT_NUM];

intget_student_info(ST*st,intlen);
voiddisplay(constST*st,intlen);
voidcalculate_average(ST*st,intlen);
voidsort(ST*st,intlen);


intmain(intargc,char*argv[])
{
STst[STUDENT_NUM];

get_student_info(st,STUDENT_NUM);
calculate_average(st,STUDENT_NUM);
sort(st,STUDENT_NUM);

display(st,STUDENT_NUM);
display(st,TOP_THREE);


return0;
}

/*從鍵盤輸入STUDENT_NUM個學生的信息*/
intget_student_info(ST*st,intlen)
{
inti=0,ret=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
returnret=1;
}

for(;i<len;++i)
{
printf("輸入第%d個學號、姓名、三門課成績:",i+1);
scanf("%10s%8s%f%f%f",st[i].no,st[i].name,&st[i].a,&st[i].b,&st[i].c);
}

returnret;
}

/*顯示前len個學生的信息*/
voiddisplay(constST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

printf("================================== ");
for(;i<len;++i)
{
printf("%s%s%.1f%.1f%.1f%.1f ",
st[i].no,st[i].name,st[i].a,st[i].b,st[i].c,st[i].avg);
}
}

/*計算每個學生的平均成績*/
voidcalculate_average(ST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

for(;i!=len;++i)
{
st[i].avg=(st[i].a+st[i].b+st[i].c)/3.0;
}
}

/*冒泡排序降序排列*/
voidsort(ST*st,intlen)
{
inti=0,j=0;
STtmp;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}
for(;i<len-1;++i)
{
for(j=0;j<len-1-i;++j)
{
if(st[j].avg<st[j+1].avg)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
}
}
}

B. C語言學生成績管理程序

#include"stdio.h"

/*定義學生結構體*/

structStudent

{

charID[20];

charName[20];

floatMark1;

floatMark2;

floatMark3;

floatAverage;

};

/*聲明學生數組及學生數量*/

structStudentstudents[1000];

intnum=0;

/*求平均值*/

floatAvg(structStudentstu)

{

return(stu.Mark1+stu.Mark2+stu.Mark3)/3;

}

/*通過學號返回數組下標*/

intStudent_SearchByIndex(charid[])

{

inti;

for(i=0;i<num;i++)

{

if(strcmp(students[i].ID,id)==0)

{

returni;

}

}

return-1;

}

/*通過姓名返回數組下標*/

intStudent_SearchByName(charname[])

{

inti;

for(i=0;i<num;i++)

{

if(strcmp(students[i].Name,name)==0)

{

returni;

}

}

return-1;

}

/*顯示單條學生記錄*/

voidStudent_DisplaySingle(intindex)

{

printf("%10s%10s%8s%8s%8s%10s ","學號","姓名","成績","成績","成績","平均成績");

printf("------------------------------------------------------------- ");

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[index].ID,students[index].Name,

students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);

}

/*插入學生信息*/

voidStudent_Insert()

{

while(1)

{

printf("請輸入學號:");

scanf("%s",&students[num].ID);

getchar();

printf("請輸入姓名:");

scanf("%s",&students[num].Name);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark1);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark2);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark3);

getchar();

students[num].Average=Avg(students[num]);

num++;

printf("是否繼續?(y/n)");

if(getchar()=='n')

{

break;

}

}

}

/*修改學生信息*/

voidStudent_Modify()

{

floatmark1,mark2,mark3;

while(1)

{

charid[20];

intindex;

printf("請輸入要修改的學生的學號:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if(index==-1)

{

printf("學生不存在! ");

}

else

{

printf("你要修改的學生信息為: ");

Student_DisplaySingle(index);

printf("--請輸入新值-- ");

printf("請輸入學號:");

scanf("%s",&students[index].ID);

getchar();

printf("請輸入姓名:");

scanf("%s",&students[index].Name);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark1);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark2);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark3);

getchar();

students[index].Average=Avg(students[index]);

}

printf("是否繼續?(y/n)");

if(getchar()=='n')

{

break;

}

}

}

/*刪除學生信息*/

voidStudent_Delete()

{

inti;

while(1)

{

charid[20];

intindex;

printf("請輸入要刪除的學生的學號:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if(index==-1)

{

printf("學生不存在! ");

}

else

{

printf("你要刪除的學生信息為: ");

Student_DisplaySingle(index);

printf("是否真的要刪除?(y/n)");

if(getchar()=='y')

{

for(i=index;i<num-1;i++)

{

students[i]=students[i+1];

}

num--;

}

getchar();

}

printf("是否繼續?(y/n)");

if(getchar()=='n')

{

break;

}

}

}

/*按姓名查詢*/

voidStudent_Select()

{

while(1)

{

charname[20];

intindex;

printf("請輸入要查詢的學生的姓名:");

scanf("%s",&name);

getchar();

index=Student_SearchByName(name);

if(index==-1)

{

printf("學生不存在! ");

}

else

{

printf("你要查詢的學生信息為: ");

Student_DisplaySingle(index);

}

printf("是否繼續?(y/n)");

if(getchar()=='n')

{

break;

}

}

}

/*按平均值排序*/

voidStudent_SortByAverage()

{

inti,j;

structStudenttmp;

for(i=0;i<num;i++)

{

for(j=1;j<num-i;j++)

{

if(students[j-1].Average<students[j].Average)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}

}

/*顯示學生信息*/

voidStudent_Display()

{

inti;

printf("%10s%10s%8s%8s%8s%10s ","學號","姓名","成績","成績","成績","平均成績");

printf("------------------------------------------------------------- ");

for(i=0;i<num;i++)

{

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f ",students[i].ID,students[i].Name,

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);

}

}

/*將學生信息從文件讀出*/

voidIO_ReadInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","rb"))==NULL)

{

printf("不能打開文件! ");

return;

}

if(fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i<num;i++)

{

fread(&students[i],sizeof(structStudent),1,fp);

}

}

fclose(fp);

}

/*將學生信息寫入文件*/

voidIO_WriteInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","wb"))==NULL)

{

printf("不能打開文件! ");

return;

}

if(fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("寫入文件錯誤! ");

}

for(i=0;i<num;i++)

{

if(fwrite(&students[i],sizeof(structStudent),1,fp)!=1)

{

printf("寫入文件錯誤! ");

}

}

fclose(fp);

}

/*主程序*/

main()

{

intchoice;

IO_ReadInfo();

while(1)

{

/*主菜單*/

printf(" ------學生成績管理系統------ ");

printf("1.增加學生記錄 ");

printf("2.修改學生記錄 ");

printf("3.刪除學生記錄 ");

printf("4.按姓名查詢學生記錄 ");

printf("5.按平均成績排序 ");

printf("6.退出 ");

printf("請選擇(1-6):");

scanf("%d",&choice);

getchar();

switch(choice)

{

case1:

Student_Insert();

break;

case2:

Student_Modify();

break;

case3:

Student_Delete();

break;

case4:

Student_Select();

break;

case5:

Student_SortByAverage();

Student_Display();

break;

case6:

exit();

break;

}

IO_WriteInfo();

}

}

C. c語言編一個學生成績統計程序

#include
<stdio.h>
void
main()
{
int
i,
n,
reno;
float
score[30],
avr,
a,
b,
c;
char
name[30][9];
for(i
=
0;
i
<
30;
i++)
{
printf("%d號的成績:",
i+1);
scanf("%f",
&score[i]);
if(score[i]
<
0)
break;
printf("%d號的姓名:",
i+1);
scanf("%s",
name[i]);
}
n
=
i;
printf("統計不及格人數:\n");
reno
=
0;
avr
=
0;
for(i
=
0;
i
<
n;
i++)
{
if(
score[i]
<
60)
{
reno++;
printf("%d,
%s\n",
i+1,
name[i]);
}
avr
+=
score[i];
}
printf("不及格人數為%d\n\n",
reno);
printf("統計成績在平均分及平均分之上的學生人數:\n");
avr
/=
n;reno
=
0;
for(i
=
0;
i
<
n;
i++)
{
if(score[i]
>=
avr)
{
reno++;
printf("%d,
%s\n",
i+1,
name[i]);
}
}
printf("成績在平均分及平均分之上的學生人數為%d\n\n",
reno);
printf("統計各分數段的人數及所佔百分比(分數段為<60,60~79,>=80):\n");
a
=
b
=
c
=0;
for(i
=
0;
i
<
n;
i++)
{
if(score[i]
<
60)
a++;
else
if(score[i]
>=
80)
c++;
else
b++;
}
printf("<60:\t%.1f%%\n60~79:\t%.1f%%\n>=80:\t%.1f%%\n",100*a/n,100*b/n,100*c/n);
}

D. c語言學生成績統計系統

#include<stdio.h>
#include<string.h>
#define NUM1 3
#define NUM2 3
#define NUM3 3
struct student
{
char name[10];
int score;
}c1[NUM1],c2[NUM2],c3[NUM3];//定義三個結構體數組
int i,j,k;
FILE *fp1_order,*fp2_order,*fp3_order;/*/定義文件指針
/*/=========================================================
void main(void)
{
void data_in(void);
void score_order(void);
void save_in(void);
void save_order(void);
void open_order(void);
printf("******************************學生成績文件管理******************************\n");
printf(" programmer:喻翔\n\n");
printf("一、輸入三個班的學生姓名和成績:\n\n");
data_in();
printf("\n\n\n");
printf("############################################################################\n\n");
printf("二、保存輸入的姓名和成績:\n\n");
save_in();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("三、排名並保存姓名和成績:\n\n");
score_order();
save_order();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("四、驗證排名後保存的文件:\n\n");
open_order();
printf("\n\n\n");
}
//=============================================================
void data_in(void)
{
printf("請輸入一班%d個學生的姓名和成績:\n",NUM1);
for(i=0;i<NUM1;i++)
{
printf("第%d個:",i+1);
scanf("%s %d",c1[i].name,&c1[i].score);
}
printf("\n\n\n請輸入二班%d個學生的姓名和成績:\n",NUM2);
for(j=0;j<NUM2;j++)
{
printf("第%d個:",j+1);
scanf("%s %d",c2[j].name,&c2[j].score);
}
printf("\n\n\n請輸入三班%d個學生的姓名和成績:\n",NUM3);
for(k=0;k<NUM3;k++)
{
printf("第%d個:",k+1);
scanf("%s %d",c3[k].name,&c3[k].score);
}
}
//=============================================================
void score_order(void)
{
int h,t;
char s[10];
for(h=0;h<NUM1-1;h++)
for(i=0;i<NUM1-1-h;i++)
if(c1[i].score<c1[i+1].score)
{
t=c1[i].score;
c1[i].score=c1[i+1].score;
c1[i+1].score=t;
strcpy(s,c1[i].name);//一定要使用strcpy()函數
strcpy(c1[i].name,c1[i+1].name);
strcpy(c1[i+1].name,s);
}
for(h=0;h<NUM2-1;h++)
for(j=0;j<NUM2-1-h;j++)
if(c2[j].score<c2[j+1].score)
{
t=c2[j].score;
c2[j].score=c2[j+1].score;
c2[j+1].score=t;
strcpy(s,c2[j].name);
strcpy(c2[j].name,c2[j+1].name);
strcpy(c2[j+1].name,s);
}

for(h=0;h<NUM3-1;h++)
for(k=0;k<NUM3-1-h;k++)
if(c3[k].score<c3[k+1].score)
{
t=c3[k].score;
c3[k].score=c3[k+1].score;
c3[k+1].score=t;
strcpy(s,c3[k].name);
strcpy(c3[k].name,c3[k+1].name);
strcpy(c3[k+1].name,s);
}
}
//=====================================================================
void save_in(void)
{
FILE *fp1_in,*fp2_in,*fp3_in;
if((fp1_in=fopen("data1_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_in);
if((fp2_in=fopen("data2_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_in);
if((fp3_in=fopen("data3_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_in);
}

//==============================================================
void save_order(void)
{
if((fp1_order=fopen("data1_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_order);
if((fp2_order=fopen("data2_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_order);
if((fp3_order=fopen("data3_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_order);
}

//=============================================================
void open_order(void)
{
fp1_order=fopen("data1_order.dat","rb");
printf("一班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(i=0;i<NUM1;i++)
{
printf("第%d名 ",i+1);
fread(&c1[i],sizeof(struct student),1,fp1_order);
printf("%s %d\n",c1[i].name,c1[i].score);
}
fp2_order=fopen("data2_order.dat","rb");
printf("\n\n\n二班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(j=0;j<NUM2;j++)
{
printf("第%d名 ",j+1);
fread(&c2[j],sizeof(struct student),1,fp2_order);
printf("%s %d\n",c2[j].name,c2[j].score);
}
fp3_order=fopen("data3_order.dat","rb");
printf("\n\n\n三班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(k=0;k<NUM3;k++)
{
printf("第%d名 ",k+1);
fread(&c3[k],sizeof(struct student),1,fp3_order);
printf("%s %d\n",c3[k].name,c3[k].score);
}
}

E. c語言:學生成績等級

給出的問題不嚴密:
只有大於和小於,沒有等於的情況,比如說平均分在50到70之間,然後第2個和第3個數之和正好等到於140分時,一樓上程序便沒有輸出,我想是題目出得不太嚴密吧,不可能出題者是故意把這些情況漏掉吧!所以呢,經過筆者的修改呢,我覺得以下程序能包括出題者的全部意思:
如果題目非我所想,那你也可以自己根據情況改一下那幾個>或者=號,你自己看看吧!
#include
<stdio.h>
main()
{
float
a[3],i,average;
for(i=0;i<3;i++)
scanf("%f",&a[i]);
average=(a[0]+a[1]+a[2])/3.0;
if(average>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]<90)
printf("Grade=B");
if(average>=50&&average<70&&a[1]+a[2]>=140)/*這個地方與以一樓上程序不同,題目要求的是第2和3個數之和要大於140,一樓上的是第1和2個之和大於140,與題意不合(因為數組是從0開始計數的)*/
printf("Grade=C");
if(average>=50&&average<70&&a[1]+a[2]<140)
printf("Grade=D");
if(average<50)
printf("Grade=F");
}

F. c語言學生成績的等級

||#include<stdio.h>
int main()
{
int s=0;
printf("請輸入學生的成績:");
scanf("%d",&s);
if (s < 0 || s>100)
{
printf("error\n");
}
else if (s<60)
{
printf("fail\n");
}
else if (s < 70)
{
printf("pass\n");
}
else if (s < 80)
{
printf("medium\n");
}
else if (s < 90)
{
printf("good\n");
}
else
{
printf("excellent\n");
}
return 0;
}

樓主你要內加油了容

G. 學生成績處理C語言

|#include int main() { int s=0; printf("請輸入學生的成績:"); scanf("%d",&s); if (s 0 || s>100) { printf("error\n"); } else if (s<60) { printf("fail\n"); } else if (s < 70) { printf("pass\n"); } else if (s < 80) { printf("medium\n"); } else if (s < 90) { printf("good\n"); } else { printf("excellent\n"); } return 0; } 樓主你要加油了

H. 用c語言,求學生成績

#include<stdio.h>
#include<stdlib.h>
/*定義全局變數*/
int num;
struct student
{
l name[20];
charong id;
char sex[10];
int math;
int english;
int c_program;
int total;
}stu[41];
/*主菜單*/
void page_title()
{
printf("※※※※※※※※計算機系學生成績管理※※※※※※※※\n");
printf(" 1、請錄入學生成績記錄\n");
printf(" 2、請顯示學生成績記錄\n");
printf(" 3、請修改學生成績記錄\n");
printf(" 4、請刪除學生成績記錄\n");
printf(" 5、請按學號查詢學生成績記錄\n");
printf(" 6、請按學號顯示學生成績記錄\n");
printf(" 7、請按總成績遞減輸出\n");
printf(" 8、請保存\n");
printf(" 0、請退出\n");
}
/*main()
{
system("cls");
pape_title();
}*/
void student_new()//1、錄入學生成績
{
int i;
printf("請輸入學生個數<1-41>:");
scanf("%d",&num);
printf("*****************************************************\n");
printf("學號 姓名 性別 數學 英語 C語言\n");
printf("*****************************************************\n");
for(i=0;i<num;i++)//num個學生
{
scanf("%ld%s%s%d%d%d",&stu[i].id,&stu[i].name,&stu[i].sex,&stu[i].math,&stu[i].english,&stu[i].c_program);
stu[i].total=stu[i].math+stu[i].english+stu[i].c_program;
printf("-----------------------------------------------------\n");
}
}

void show()//2、顯示學生成績
{
int i;
printf("*******************************************************\n");
printf("學號 姓名 性別 數學 英語 C語言 總成績\n");
printf("*******************************************************\n");
for(i=0;i<num;i++)
{
printf("%ld\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].math,stu[i].english,stu[i].c_program,stu[i].total);
printf("-------------------------------------------------------\n");
}
}

void student_edit()//3、修改學生信息
{
int i,n;
long stunum;
printf("請輸入要修改的學號:");
scanf("%d",&stunum);
printf("==============以下選項可供選擇===============\n");
printf(" 1、請修改學號\n");
printf(" 2、請修改姓名\n");
printf(" 3、請修改性別\n");
printf(" 4、請修改數學成績\n");
printf(" 5、請修改英語成績\n");
printf(" 6、請修改c語言成績\n");
printf("請輸入要修改的選項:");
scanf("%d",&n);
for(i=0;i<num;i++)
{
if(stu[i].id==stunum)//查找
{

if(n==1)
{
printf("請修改學號:\n");
scanf("%ld",&stu[i].id);
}
if(n==2)
{
printf("請修改姓名:\n");
scanf("%s",&stu[i].name);
}
if(n==3)
{
printf("請修改性別:\n");
scanf("%s",&stu[i].sex);
}
if(n==4)
{
printf("請修改數學成績:\n");
scanf("%d",&stu[i].math);
}
if(n==5)
{
printf("請修改英語成績:\n");
scanf("%d",&stu[i].english);
}
if(n==6)
{
printf("請修改c語言成績:\n");
scanf("%d",&stu[i].c_program);
}
stu[i].total=stu[i].math+stu[i].english+stu[i].c_program;//求總成績
break;
}
if(i==num)
printf("該生信息不存在!");
}
}

void student_del()//*4、刪除一個學生的學號(把後面的數<i+1>往前移,把要刪除的那個數擠掉)【修改與之相似】
{
int i,j,t;
long stunum;
printf("請輸入您要刪除的學號:");
scanf("%d",&stunum);
for(i=0;i<num;i++)
{
if(stu[i].id==stunum)//查找
{
printf("確認要刪除該生信息!\n");
printf("輸入的數為0,其他則退出\n");
scanf("%d",&t);
if(t==0)
{
for(j=i+1;j<num;j++)//刪除
{
stu[j-1]=stu[j];
}
num--;//退學,減少了一個人
break;
}
}
}
if(i==num)
printf("該學生信息不存在\n");
}

void sore_search()//5、按學號查詢學生成績
{
int i=0;
long stunum;//定義學號
printf("請輸入您要查找的學號:");
scanf("%d",&stunum);//輸入要查找到的學號
for(i=0;i<num;i++)
{
if(stu[i].id==stunum)//輸入的學號和所有學生的學號比較,即查找
{
printf("*******************************************************\n");
printf("學號 姓名 性別 數學 英語 C語言 總成績\n");
printf("*******************************************************\n");
printf("%ld\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].math,stu[i].english,stu[i].c_program,stu[i].total);
printf("-------------------------------------------------------\n");
break;//找到後馬上停止
}
}
if(i==num)//說明for都執行了一遍,for語句里沒有num;
printf("該生信息不存在");
}

void score_sort()//7、按總成績遞減排序
{
int i,j;
struct student t;
for(i=0;i<=num-2;i++)//輪數//
{
for(j=0;j<=num-2;j++)//相鄰兩個數進行比較
{
if(stu[j].total<stu[j+1].total)
{
t=stu[j];
stu[j]=stu[j+1];
stu[j+1]=t;
}
}
}
}

void save()//8、保存(通過代碼來控制文件,在C盤中)
{
int i;
FILE *fp=fopen("c:\\score.txt","w+");//FILE(一定要大寫):文件類型 *FP代表指針 .txt代表記事本文件 w+:既可以保存,又可以寫
if(fp==NULL)//fp文件若為空
{
printf("文件打開失敗");
exit(1);
}
for(i=0;i<num;i++)
fprintf(fp,"%ld\t%s\t%s\t%d\t%d\t%d\t%d\t\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].math,stu[i].english,stu[i].c_program,stu[i].total);
fclose(fp);//fprintf:保存,fp:保存到fp文件中,fclose:關閉fp文件
}
void load()//1、載入文件函數
{
int i;
int n;//n:記錄數
FILE *fp=fopen("c:\\score.txt","r");//r->read的標志 fopen的功能是打開文件
if(fp==NULL)
{
printf("文件打開失敗");
exit(1);
}
printf("請輸入記錄數:");
scanf("%d",&n);
num=n;//把讀到的n的個數賦給num
for(i=0;i<num;i++)
{
fscanf(fp,"%ld\t%s\t%s\t%d\t%d\t%d\t%d\t\n",&stu[i].id,&stu[i].name,&stu[i].sex,&stu[i].math,&stu[i].english,&stu[i].c_program,&stu[i].total);
}//fscanf:從文件中讀取數據
fclose(fp);//關閉fp文件
}

main()
{
int select;//選擇選項
int flag=1;//退出標志
int user,admin;
printf("★◎★◎★◎====歡迎使用學生信息管理系統!====★◎★◎★◎\n");
printf("========請輸入您的賬號和密碼:========\n");
scanf("%d,%d",&user,&admin);
if(user==123&&admin==123)
{
system("cls");//清屏
page_title();
while(flag!=0)//只要flag!=0,就一直循環
{
printf("請輸出選項:");
scanf("%d",&select);
switch(select)
{
case 1:student_new();break;
case 2:show();break;//顯示
case 3:student_edit();show();break;//修改
case 4:student_del();show();break;
case 5:sore_search();break;
case 6:load();show();break;
case 7:score_sort();show();break;
case 8:save();show();break;
case 0:flag=0;break;
default:break;

}
}
}
else printf("對不起,您輸入的密碼不正確!");
}

I. c語言 學生成績排序

結構體還沒學到,
我說個大概構思,希望能採納
讓第一個分別和第二個,第三個....比較,如果第一個小於後面的
,則互換
for(i
=
0;
i
<
學生個數;
i++)
{
for(j
=
1;
j
<
學生個數;j++)
{
if(成績[i]
<
成績[j])
score
=
成績[i];
成績[i]
=
成績[j];
成績[j]
=
score;
}
}

J. C語言程序設計統計學生成績

用數復組,你學了制數組嗎?
int i,b,c;
scanf("%d"&i); //輸入需要幾個學生成績
int a[i]; //定義數組大小。
for (b=0;b<=i;b++) //循環輸入成績
a[i]=scanf("%d",c);

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919