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

C語言代碼實現(xiàn)學生成績管理系統(tǒng)

 更新時間:2022年06月05日 08:50:59   作者:dearzcs  
這篇文章主要為大家詳細介紹了C語言代碼實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

某班有最多不超過 30 人(具體人數(shù)由鍵盤輸人)參加期未考試,考試科目 最多不超過 6 門(具體門數(shù)由鍵盤輸入,但不少于 3 門),學生成績管理系統(tǒng)是一 個非常實用的程序,如果能夠把用戶輸入數(shù)據(jù)存盤,下次運行時讀出,就更有用 了。增加文件讀寫的功能,即編程實現(xiàn)如下菜單驅(qū)動的學生成績管理系統(tǒng):

(1) 錄入每個學生的學號、姓名和各科考試成績。
(2) 計算每門課程的總分和平均分。
(3) 計算每個學生的總分和平均分。
(4) 按每個學生的總分由高到低排出名次表。
(5) 按學號由小到大排出成績表。
(6) 按姓名的字典順序排出成績表。
(7) 按學號查詢學生排名及其考試成績。
(8) 按姓名查詢學生排名及其考試成績。
(9) 按優(yōu)秀(90-100 分)、良好(80-89 分)、中等(70-79 分)、及格(60-69 分)、 不及格(0-59 分)5 個類別,對每門課程分別統(tǒng)計每個類別的人數(shù)以及所占的百 分比。
(10)輸出每個學生的學號、姓名、各科考試成績、總分、平均分以及每門課 程的總分和平均分。

代碼如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N = 40;
int i,j;
typedef struct ?control
{
? ? int no;
? ? char name[20];
? ? char name1[20];
? ? int cj[7];
? ? int all;
? ? int lave;

} AVA;
// ------------------------函數(shù)
void menu();
void menu1();
void menu2();
void menu4(AVA stu[],int n,int n3);
//-------------------------
//-------------------------鏈接菜單與功能的函數(shù)
void basic(AVA stu[]);
//------------------------
//-------------------------信息錄入函數(shù)
void keyboard(AVA stu[],int n,int n2);
//------------------------功能函數(shù)調(diào)用總函數(shù)
void case1(AVA stu[],int n,int a);
//========================
//------------------------功能函數(shù)
void function4(AVA stu[],AVA t,int n);//總分排序
void function5(AVA stu[],AVA t,int n);//學號排序
void function6(AVA stu[],AVA t,int n);//姓名排序
void function7(AVA stu[],AVA t,int n,int w);//學號查找
void function8(AVA stu[],AVA t,int n,char s[]);//姓名查找
void function9(AVA stu[],int n,int a);//數(shù)據(jù)分析
void function10(AVA stu[],int n,int a,int b1[],int b2[]);//輸出學生信息
void function11(AVA stu[],int n,int a);//存進文件里面
void exchange(AVA stu[],int a,int b);//讀檔函數(shù)
//-------------------------
int main()
{
? ? AVA ?stu[N];
? ?for(i = 0; i < 30; i ++)
? ?{
? ? ? ?stu[i].all = 0;
? ? ? ?stu[i].lave = 0;
? ?}
? basic(stu);
? return 0;
}
void menu()
{
? ? ?printf("_ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? _\n");
? ? printf("| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |\n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ?學生信息管理系統(tǒng) ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \n");
? ? printf("| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |\n");
? ? printf("- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -\n");
}
void menu1()
{
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 信息輸入 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 學課成績 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 學生成績 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 總分排序 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 學號排序 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 姓名排序 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 學號查詢 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 姓名查詢 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)分析 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 信息輸出 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)存檔 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
}
void menu2()
{
? ? printf("_ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? _\n");
? ? printf("| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |\n");
? ? printf("-> ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能代號 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<-\n");
? ? printf("-> ? ? ? ? ? ? ? ?<1><2><3><4><5><6><7><8><9><10><11> ? ? ? ? ? ? ? ?<-\n");
? ? printf("| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |\n");
? ? printf("- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -\n");
}
void menu4(AVA stu[],int n,int n3)//讀檔函數(shù)總調(diào)用
{
? ? printf("如果檔案中沒有存有足夠的學科數(shù),則可能提取亂碼\n");
? ? printf("如果文件中沒有數(shù)據(jù)則會顯示無法打開\n");
? ? exchange( stu,n,n3);
? ? case1( stu,n,n3);

}
//中轉(zhuǎn)函數(shù),菜單與功能的橋梁
void basic(AVA stu[])
{
? ? menu();
? ? printf("若無學生信息檔案需要先錄入\n");
? ? printf("<1-錄入><2-讀檔><3-退出>\n");
? ? int n,n1,n3;
? ? do
? ? {
? ? ? ? scanf("%d",&n1);
? ? ? ? if(3<n1||n1<1)
? ? ? ? {
? ? ? ? ? ? printf("數(shù)據(jù)輸入錯誤,請重新輸入\n");
? ? ? ? }
? ? }while(3<n1||n1<1);
? ? ?printf("輸入學生數(shù)量\n");
? ? do
? ? {
? ? ? ? scanf("%d",&n);
? ? ? ? if(30<n||n<1)
? ? ? ? {
? ? ? ? ? ? printf("數(shù)據(jù)輸入錯誤,請重新輸入<1-30>\n");
? ? ? ? }
? ? }while(30<n||n<1);
? ? printf("輸入學科數(shù)量\n");
? ? ?do
? ? {
? ? ? ? scanf("%d",&n3);
? ? ? ? if(6<n3||n3<3)
? ? ? ? {
? ? ? ? ? ? printf("數(shù)據(jù)輸入錯誤,請重新輸入<3-6>\n");
? ? ? ? }
? ? }while(6<n3||n3<3);
? ? if(n1==1)
{
?keyboard( stu,n,n3);
? ?case1( stu, n,n3);
}

? ? else if(n1==2) ?menu4(stu,n,n3);

? ? else
? ? {
? ? ? ? printf("歡迎再次使用\n");
? ? ? ? exit(0);
? ? }

}
//=========================功能函數(shù)調(diào)用的函數(shù)
void case1(AVA stu[],int n,int a)
{
? ? AVA t;

? ? ? ? ?for(i = 0; i < n; i ++)
? ? {

? ? ? ? for(j = 0; j < a; j ++)
? ? ? ? {

? ? ? ? ? ? stu[i].all+=stu[i].cj[j];
? ? ? ? }

? ? ? ? stu[i].lave = stu[i].all/a;
? ? }
? ? ?int x[10]={0},y[10]={0};
? ? ? for(j = 0; j < a;j ++)
? ? {
? ? ? ?for(i = 0; i < n; i ++)
? ? ? ? {
? ? ? ? ? ? y[j]+=stu[i].cj[j];
? ? ? ? }
? ? }
? ? for(i = 0; i < a; i ++)
? ? {
? ? ? ? x[i] = y[i]/n;
? ? }
? ? menu1();
? ? menu2();
? ? printf("數(shù)據(jù)錄入成功\n");
? ? printf("請輸入你想選擇的功能\n");
? ? int n2;
? ? while(scanf("%d",&n2)&&n2!=0)
? ? {
? ? ? ? if(n2==2)
? ? ? ? {
? ? ? ? ? ? for(i = 0; i < a; i ++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ?printf("第%d門總分為:%d,平均分為:%d\n",i+1,y[i],x[i]);
? ? ? ? ? ? }
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==3)
? ? ? ? {
? ? ? ? ? ? int f;
? ? ? ? ? ? printf("計算完成,是否打???<1 or 0>\n");
? ? ? ? ? ? scanf("%d",&f);
? ? ? ? ? ? if(f==1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? for(i = 0; i < n; i ++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("第%d個同學的總分為:%d,平均分為:%d\n",i+1,stu[i].all,stu[i].lave);
? ? ? ? ? ? }
? ? ? ? ? ? printf("打印完成\n");
? ? ? ? ? ? menu2();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? menu1();
? ? ? ? ? ? ? ? menu2();
? ? ? ? ? ? }
? ? ? ? ? ? ?printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==4)
? ? ? ? {
? ? ? ? ? ? function4( stu, t, n);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==5)
? ? ? ? {
? ? ? ? ? ? function5( stu, t, n);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==6)
? ? ? ? {
? ? ? ? ? ? function6( stu, t, n);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==7)
? ? ? ? {
? ? ? ? ? ? int w;
? ? ? ? ? ? printf("輸入你想查詢的學號\n");
? ? ? ? ? ? scanf("%d",&w);
? ? ? ? ? ? function7( stu, t, n, w);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==8)
? ? ? ? {
? ? ? ? ? ? char s[30];
? ? ? ? ? ? printf("輸入你想查詢的名字\n");
? ? ? ? ? ? scanf("%s",s);
? ? ? ? ? ? function8(stu,t, n,s);
? ? ? ? ? ? ?menu1();
? ? ? ? ? ? ?menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==9)
? ? ? ? {
? ? ? ? ? ? function9( stu, n, a);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==10)
? ? ? ? {
? ? ? ? ? ? function10( stu, n, a, x, y);
? ? ? ? ? ? menu1();
? ? ? ? ? ?menu2();
? ? ? ? ? ?printf("完成\n");
? ? ? ? }
? ? ? ? else if(n2==11)
? ? ? ? {
? ? ? ? ? ? function11( stu, n, a);
? ? ? ? ? ? menu1();
? ? ? ? ? ? menu2();
? ? ? ? ? ? printf("完成\n");
? ? ? ? }
? ? ? ? else ?menu2();
? ? }
}

//=========================信息錄入函數(shù)
void keyboard(AVA stu[],int n,int n2)
{
? ? ? ? ?for(i = 0; i < n; i ++)
? ? {
? ? ? ? printf("正在輸入%d個學生信息\n",i+1); ? ? ? ? ? ? ? ? ? ? //
? ? ? ? printf("學號:\n");
? ? ? ? scanf("%d",&stu[i].no);
? ? ? ? printf("姓名:\n");
? ? ? ? scanf("%s",stu[i].name);
? ? ? ? printf("姓名拼音簡寫\n");
? ? ? ? scanf("%s",stu[i].name1);
? ? ? ? printf("分別輸入%d門學課成績\n",n2);
? ? ? ? for(j = 0; j < n2; j ++)
? ? ? ? {
? ? ? ? ? ? scanf("%d",&stu[i].cj[j]);

? ? ? ? }


? ? }

}
void function4(AVA stu[],AVA t,int n)//總分排序
{
? ? printf("總分排序\n");
? ? FILE *fp;
? ? for(i = 0; i < n-1;i ++)
? ? ? for(j = 0; j < n-1-i;j++)
? ? ? {
? ? ? ? ?if(stu[j].all<stu[j+1].all)
? ? ? ? ?{
? ? ? ? ? ? ?t = stu[j];
? ? ? ? ? ? ?stu[j] = stu[j+1];
? ? ? ? ? ? ?stu[j+1] = t;
? ? ? ? ?}
? ? ? }
? ? ?printf("正在生成文件\n");
? ? ?printf("請及時拷貝文件,否則會造成數(shù)據(jù)丟失\n");
? ? ?fp = fopen("總分排序.txt","w");
? ? ?if(fp==NULL)
? ? ?{
? ? ? ? ?printf("打開失敗\n");
? ? ? ? ?exit(0);
? ? ?}
? ? ?for(i = 0; i < n;i ++)
? ? ?{
? ? ? ? ?fprintf(fp,"%s %d\n",stu[i].name,stu[i].all);
? ? ?}
? ? ?fclose(fp);
}
void function5(AVA stu[],AVA t,int n)//學號排序
{
? ? printf("學號排序\n");
? ? FILE *fp;
? ? for(i = 0; i < n-1;i ++)
? ? ? for(j = 0; j < n-1-i;j++)
? ? ? {
? ? ? ? ?if(stu[j].no<stu[j+1].no)
? ? ? ? ?{
? ? ? ? ? ? ?t = stu[j];
? ? ? ? ? ? ?stu[j] = stu[j+1];
? ? ? ? ? ? ?stu[j+1] = t;
? ? ? ? ?}
? ? ? }
? ? ?char name[N];
? ? ?strcpy(name,"學號為:");
? ? ?printf("正在生成文件\n");
? ? ?printf("請及時拷貝文件,否則會造成數(shù)據(jù)丟失\n");
? ? ?fp = fopen("學號排序.txt","w");
? ? ?if(fp==NULL)
? ? ?{
? ? ? ? ?printf("打開失敗\n");
? ? ? ? ?exit(0);
? ? ?}
? ? ?for(i = 0; i < n;i ++)
? ? ?{
? ? ? ? ?fprintf(fp,"%s%d\n",name,stu[i].no);
? ? ? ? ?fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
? ? ?}
? ? ?fclose(fp);
}
void function6(AVA stu[],AVA t,int n)//姓氏排序
{
? ? printf("姓名排序\n");
? ? FILE *fp;
? ? for(i = 0; i < n-1;i ++)
? ? ? for(j = 0; j < n-1-i;j++)
? ? ? {
? ? ? ? ?if(stu[j].name1[0]>stu[j+1].name1[0])
? ? ? ? ?{
? ? ? ? ? ? ?t = stu[j];
? ? ? ? ? ? ?stu[j] = stu[j+1];
? ? ? ? ? ? ?stu[j+1] = t;
? ? ? ? ?}
? ? ? }
? ? ?printf("正在生成文件\n");
? ? ?printf("請及時拷貝文件,否則會造成數(shù)據(jù)丟失\n");
? ? ?fp = fopen("姓名排序.txt","w");
? ? ?if(fp==NULL)
? ? ?{
? ? ? ? ?printf("打開失敗\n");
? ? ? ? ?exit(0);
? ? ?}
? ? ?for(i = 0; i < n;i ++)
? ? ?{
? ? ? ? ?fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
? ? ?}
? ? ?fclose(fp);
}
void function7(AVA stu[],AVA t,int n,int w)//學號查找
{
? ? ?int m = 0;
? ? ?for(i = 0; i < n-1;i ++)
? ? ? for(j = 0; j < n-1-i;j++)
? ? ? {
? ? ? ? ?if(stu[j].all<stu[j+1].all)
? ? ? ? ?{
? ? ? ? ? ? ?t = stu[j];
? ? ? ? ? ? ?stu[j] = stu[j+1];
? ? ? ? ? ? ?stu[j+1] = t;
? ? ? ? ?}
? ? ? }
? ? ? for(i = 0; i <n; i ++)
? ? ? {
? ? ? ? ? m++;
? ? ? ? ? if(stu[i].no==w)
? ? ? ? ? {
? ? ? ? ? ? ? printf("學號為:%d\n",stu[i].no);
? ? ? ? ? ? ? printf("姓名為:%s\n",stu[i].name);
? ? ? ? ? ? ? printf("成績?yōu)?%d\n",stu[i].all);
? ? ? ? ? ? ? printf("排名為:%d\n",m);
? ? ? ? ? ? ? break;
? ? ? ? ? }
? ? ? }
}
void function8(AVA stu[],AVA t,int n,char s[])//姓名查找
{
? ? ?int m = 0;
? ? ?for(i = 0; i < n-1;i ++)
? ? ? for(j = 0; j < n-1-i;j++)
? ? ? {
? ? ? ? ?if(stu[j].all<stu[j+1].all)
? ? ? ? ?{
? ? ? ? ? ? ?t = stu[j];
? ? ? ? ? ? ?stu[j] = stu[j+1];
? ? ? ? ? ? ?stu[j+1] = t;
? ? ? ? ?}
? ? ? }
? ? ? for(i = 0; i <n; i ++)
? ? ? {
? ? ? ? ? m++;
? ? ? ? ? if(strcmp(stu[i].name,s)==0)
? ? ? ? ? {
? ? ? ? ? ? ? printf("學號為:%d\n",stu[i].no);
? ? ? ? ? ? ? printf("姓名為:%s\n",stu[i].name);
? ? ? ? ? ? ? printf("成績?yōu)?%d\n",stu[i].all);
? ? ? ? ? ? ? printf("排名為:%d\n",m);
? ? ? ? ? ? ? break;
? ? ? ? ? }
? ? ? }

}
void function9(AVA stu[],int n,int a)//數(shù)據(jù)分析
{
? ? printf("請在文件夾中查看\n");
? ? for(i = 0; i < a; i++)
? ? {
? ? ? ? double k1=0,k2=0,k3=0,k4=0,k5=0;
? ? ? ? ?for( j = 0; j < n; j ++)
? ? {
? ? ? ? if(stu[j].cj[i]>=90) ?k1++;

? ? ? ? else if(stu[j].cj[i]>=80&&stu[j].cj[i]<=89) k2++;

? ? ? ? else if(stu[j].cj[i]>=70&&stu[j].cj[i]<=79) k3++;

? ? ? ? else if(stu[j].cj[i]>=60&&stu[j].cj[i]<=69) ?k4++;

? ? ? ? else if(stu[j].cj[i]<=59) ?k5++;
? ? }
? ? ? FILE *fp;
? ? ? fp = fopen("數(shù)據(jù)分析.txt","a");
? ? ? if(fp==NULL)
? ? ? {
? ? ? ? printf("打開失敗\n");
? ? ? ? exit(0);
? ? ? }
? ? ? char s[20];
? ? ? strcpy(s,"subject");
? ? ? s[7] = '0'+i;
? ? ? s[8] = '\0';
? ? ? char name1[20];
? ? ? char name2[20];
? ? ? char name3[20];
? ? ? char name4[20];
? ? ? char name5[20];
? ? ? strcpy(name1,"優(yōu):%");
? ? ? strcpy(name2,"良好:%");
? ? ? strcpy(name3,"中等:%");
? ? ? strcpy(name4,"及格:%");
? ? ? strcpy(name5,"不及格:%");
? ? ? fprintf(fp,"\n%s\n",s);
? ? ? fprintf(fp,"%s%.2f\n",name1,(k1*100)/n);
? ? ? fprintf(fp,"%s%.2f\n",name2,(k2*100)/n);
? ? ? fprintf(fp,"%s%.2f\n",name3,(k3*100)/n);
? ? ? fprintf(fp,"%s%.2f\n",name4,(k4*100)/n);
? ? ? fprintf(fp,"%s%.2f\n",name5,(k5*100)/n);
? ? ?k1=0,k2=0,k3=0,k4=0,k5=0;
? ? ?fclose(fp);
? ? }

}
void function10(AVA stu[],int n,int a,int b1[],int b2[])//輸出學生信息
{
? ? for(i = 0; i < n; i ++)
? {

? ? ? ?printf("學號:%d\n",stu[i].no);
? ? ? ?printf("姓名:%s\n",stu[i].name);
? ? ? ?printf("總分:%d\n",stu[i].all);
? ? ? ?printf("平均分:%d\n",stu[i].lave);
? ? ? ?printf("每科分數(shù)為:");
? ? ? ?for(j = 0; j < a; j ++)
? ? ? ?{
? ? ? ? ? ?printf("%d ",stu[i].cj[j]);
? ? ? ?}
? ? ? ?printf("\n");
? ? ? ?printf("\n");
? ? ? ?printf("\n");
? ? ? ?printf("\n");
? ? ? ?}
? ? printf("學科平均分為:\n");
? ?for(j = 0; j < a; j ++)
? ? {
? ? printf("第%d學科平均分為:%d\n",j+1,b1[j]);
? ? }
? ? printf("學科總分:\n");
? ? for(j = 0; j < a; j ++)
? ? {
? ? printf("第%d學科總分為:%d\n",j+1,b2[j]);
? ? }
}
void function11(AVA stu[],int n,int a)//存進文件中
{
? ? FILE *fp;
? ? fp = fopen("學生信息存檔.txt","a");
? ? if(fp==NULL)
? ? {
? ? ? ? printf("無法打開\n");
? ? ? ? exit(0);
? ? }
? ? char name[30];
? ? char name1[30];
? ? char name2[30];
? ? strcpy(name,"每科成績:");
? ? strcpy(name1,"總平均成績:");
? ? strcpy(name2,"總成績:");
? ? for(i = 0; i < n; i ++)
? ? {
? ? ? ? fprintf(fp,"\n%d %s\n",stu[i].no,stu[i].name);
? ? ? ? fprintf(fp,"%s %d\n",name2,stu[i].all);
? ? ? ? fprintf(fp,"%s %d\n",name1,stu[i].lave);
? ? ? ? fprintf(fp,"%s\n",name);
? ? ? ? for(j = 0; j < a;j ++)
? ? ? ? {
? ? ? ? ? ? fprintf(fp,"%d ",stu[i].cj[j]);
? ? ? ? }
? ? }
? fclose(fp);
? FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
? fpk1 = fopen("學號.txt","a");
? fpk2 = fopen("姓名.txt","a");
? fpk3 = fopen("姓名簡稱.txt","a");
? fpk4 = fopen("學科1.txt","a");
? fpk5 = fopen("學科2.txt","a");
? fpk6 = fopen("學科3.txt","a");
? fpk7 = fopen("學科4.txt","a");
? fpk8 = fopen("學科5.txt","a");
? fpk9 = fopen("學科6.txt","a");
? if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
? {
? ? ? printf("無法打開\n");
? ? ? exit(0);
? }
? for(i = 0; i < n; i ++)
? {
? ? ? fprintf(fpk1,"%d\n",stu[i].no);
? ? ? fprintf(fpk2,"%s\n",stu[i].name);
? ? ? fprintf(fpk3,"%s\n",stu[i].name1);
? ? ? fprintf(fpk4,"%d\n",stu[i].cj[0]);
? ? ? fprintf(fpk5,"%d\n",stu[i].cj[1]);
? ? ? fprintf(fpk6,"%d\n",stu[i].cj[2]);
? ? ? if(a==4||a==5||a==6)
? ? ? {
? ? ? ? ? fprintf(fpk7,"%d\n",stu[i].cj[3]);
? ? ? }
? ? ? if(a==5||a==6)
? ? ? {
? ? ? ? ? fprintf(fpk8,"%d\n",stu[i].cj[4]);
? ? ? }
? ? ? if(a==6)
? ? ? ? {
? ? ? ? fprintf(fpk9,"%d\n",stu[i].cj[5]);
? ? ? ? }

? }
? ?fclose(fpk1);
? ?fclose(fpk2);
? ?fclose(fpk3);
? ?fclose(fpk4);
? ?fclose(fpk5);
? ?fclose(fpk6);
? ?fclose(fpk7);
? ?fclose(fpk8);
? ?fclose(fpk9);
}
void exchange(AVA stu[],int a,int b)//讀檔函數(shù) a學生b學科
{
? ?FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
? ? fpk1 = fopen("學號.txt","r");
? ? fpk2 = fopen("姓名.txt","r");
? ? fpk3 = fopen("姓名簡稱.txt","r");
? ? fpk4 = fopen("學科1.txt","r");
? ? fpk5 = fopen("學科2.txt","r");
? ? fpk6 = fopen("學科3.txt","r");
? ? fpk7 = fopen("學科4.txt","r");
? ? fpk8 = fopen("學科5.txt","r");
? ? fpk9 = fopen("學科6.txt","r");
? ? if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
? {
? ? ? printf("無法打開\n");
? ? ? exit(0);
? }
? i = 0;
? char s1[N],s2[N],s3[N],s4[N],s5[N],s6[N],s7[N],s8[N],s9[N];
? ?while(fgets(s1,40,fpk1)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s1);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ?stu[i].no = s1[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? ?stu[i].no=(s1[0]-'0')*10+s1[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ?i=0;
? ?while(fgets(s2,40,fpk2)!=NULL)
? ?{
? ? ? ?strcpy(stu[i].name,s2);
? ? ? ?i++;
? ? ? ?if(i==a)break;
? ?}
? ?i=0;
? ? while(fgets(s3,40,fpk3)!=NULL)
? ?{
? ? ? ?strcpy(stu[i].name1,s3);
? ? ? ?i++;
? ? ? ?if(i==a)break;
? ?}
? ? ? ? i = 0;
? ?while(fgets(s4,40,fpk4)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s4);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? stu[i].cj[0] = s4[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? ? stu[i].cj[0]=(s4[0]-'0')*10+s4[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? i = 0;
? ?while(fgets(s5,40,fpk5)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s5);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ? stu[i].cj[1] = s5[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? stu[i].cj[1]=(s5[0]-'0')*10+s5[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? i = 0;
? ?while(fgets(s6,40,fpk6)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s6);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[2] = s6[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[2]=(s6[0]-'0')*10+s6[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? if(b==4||b==5||b==6)
? ? {
? ? ? ? ? i = 0;
? ?while(fgets(s7,40,fpk7)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s7);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[3] = s7[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[3]=(s7[0]-'0')*10+s7[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? }
? ? ?if(b==5||b==6)
? ? ?{
? ? ? ? ? i = 0;
? ?while(fgets(s8,40,fpk8)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s8);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ? stu[i].cj[4] = s8[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? stu[i].cj[4]=(s8[0]-'0')*10+s8[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? ?}
? ? if(b==6)
? ? {
? ? ? ? ?i = 0;
? ?while(fgets(s9,40,fpk9)!=NULL)
? ?{
? ? ? ?int w;
? ? ? ?w = strlen(s9);
? ? ? ?if(w==2)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[5] = s9[0]-'0';
? ? ? ?}
? ? ? ?else if(w==3)
? ? ? ?{
? ? ? ? ? ?stu[i].cj[5]=(s9[0]-'0')*10+s9[1]-'0';
? ? ? ?}
? ? ? ?i++;
? ? ? ?if(i==a) break;
? ?}
? ? }

? ?fclose(fpk1);
? ?fclose(fpk2);
? ?fclose(fpk3);
? ?fclose(fpk4);
? ?fclose(fpk5);
? ?fclose(fpk6);
? ?fclose(fpk7);
? ?fclose(fpk8);
? ?fclose(fpk9);
? ?printf("讀檔完成\n");
}

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

相關(guān)文章

  • C++操作json文件以及jsoncpp配置詳解

    C++操作json文件以及jsoncpp配置詳解

    這篇文章主要給大家介紹了關(guān)于C++操作json文件以及jsoncpp配置的相關(guān)資料,文中通過實例代碼及圖片介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • C語言實現(xiàn)簡易網(wǎng)絡(luò)聊天室

    C語言實現(xiàn)簡易網(wǎng)絡(luò)聊天室

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡易網(wǎng)絡(luò)聊天室,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++?右值引用與?const?關(guān)鍵字詳解

    C++?右值引用與?const?關(guān)鍵字詳解

    C++中的const關(guān)鍵字的用法非常靈活,而使用const將大大改善程序的健壯性,const關(guān)鍵字是一種修飾符,這篇文章主要介紹了C++?右值引用與?const?關(guān)鍵字,需要的朋友可以參考下
    2022-10-10
  • 一文弄懂C語言如何實現(xiàn)單鏈表

    一文弄懂C語言如何實現(xiàn)單鏈表

    單鏈表是由多個結(jié)點鏈接組成,它的每個結(jié)點包含兩個域,一個數(shù)據(jù)域和一個鏈接域(地址域),下面這篇文章主要給大家介紹了關(guān)于C語言如何實現(xiàn)單鏈表的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 深入解析C++ STL中的常用容器

    深入解析C++ STL中的常用容器

    這里我們不涉及容器的基本操作之類,只是要討論一下各個容器其各自的特點。STL中的常用容器包括:順序性容器(vector、deque、list)、關(guān)聯(lián)容器(map、set)、容器適配器(queue、stac)
    2013-09-09
  • 一起來看看C語言的預(yù)處理注意點

    一起來看看C語言的預(yù)處理注意點

    這篇文章主要為大家詳細介紹了C語言的預(yù)處理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Qt實現(xiàn)SqlRelationalTable關(guān)聯(lián)表組件

    Qt實現(xiàn)SqlRelationalTable關(guān)聯(lián)表組件

    在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,實現(xiàn)圖形化開發(fā)極大的方便了開發(fā)效率,本章將重點介紹SqlRelationalTable關(guān)聯(lián)表組件的常用方法及靈活運用,感興趣的可以了解一下
    2023-12-12
  • 詳解C/C++中const限定符總結(jié)

    詳解C/C++中const限定符總結(jié)

    const是一種限定符,被const所限定的變量其值不可以被改變。。這篇文章主要介紹了C/C++中const限定符總結(jié),通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • C++的template模板中class與typename關(guān)鍵字的區(qū)別分析

    C++的template模板中class與typename關(guān)鍵字的區(qū)別分析

    這篇文章中我們來談一談C++的template模板中class與typename關(guān)鍵字的區(qū)別分析,同時會講到嵌套從屬名稱時的一些注意點,需要的朋友可以參考下
    2016-06-06
  • C++中typedef 及其與struct的結(jié)合使用

    C++中typedef 及其與struct的結(jié)合使用

    這篇文章主要介紹了C++中typedef 及其與struct的結(jié)合使用,需要的朋友可以參考下
    2014-02-02

最新評論