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

查找學生成績C語言

發布時間: 2020-12-19 23:53:38

學生成績查詢系統c語言

這個是我自己做的類式的,你可以按自己的要求改下·不難的和你的差不多,給分哦

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 10
/*****定義結構體*****/
typedef struct students /*標記為students*/
{
char num[10]; /*學生學號*/
char name[10]; /*學生姓名*/
int age; /*年齡*/
char sex[10]; /*性別*/
float cyy; /*C語言成績*/
float computer; /*計算機成績*/
float english; /*英語成績*/
float pj; /*平均成績*/
}STU;
STU temp;
void sort(STU students[],int n); //排序
void save(STU students[] ,int n);//導出
int Locate(STU students[],int n);//查詢
/*--------------顯示菜單--------------------*/
char displaymenu()
{
char k;
system("cls");
printf(" 學生成績管理 \n");
printf("-----------------------------------應用菜單-------------------------------------\n");
printf(" 1 輸入學生成績\n\n");
printf(" 2 輸出學生成績\n\n");
printf(" 3 查詢學生成績\n\n");
printf(" 4 修改學生成績\n\n");
printf(" 5 查看成績排序\n\n");
printf(" 6 查看成績統計\n\n");
printf(" 7 保存數據\n\n");
printf(" 8 讀取數據\n\n");
printf(" 9 退出系統\n\n");
printf(" 請選擇你想進行的操作:");

k=getchar();

return k;

}
/*****定義輸出函數*****/

void printheader() /*格式化輸出表頭*/
{
printf("\n\n************************學生成績管理系統****************************\n\n\n");
printf("| 學號 | 姓名 | 年齡 | 性別 | C語言成績 |計算機成績 | 英語成績| 平均成績 | \n");
}
void printdata(STU pp) /*格式化輸出表中數據*/
{
STU* p;
p=&pp;
printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p->num,p->name,p->age,p->sex,p->cyy,p->computer,p->english,p->pj);
}
/*****添加學生信息*****/
int add(STU students[] ,int *n)
{
int i=0;
system("cls");
printf(" \n");
printf(" 請輸入學生信息 \n");
printf(" 退出請在學生號處輸入:0 \n");
printf("請輸入學生學號:\n ");
scanf("%s",students[i].num);
while(strcmp(students[i].num,"0") )//當輸入的學號為0時結束輸入
{
printf("請輸入學生姓名:\n ");
scanf("%s",students[i].name);
printf("****************\n\n\n");
printf("請輸入學生年齡:\n ");
scanf("%d",&students[i].age);
printf("****************\n\n\n");
printf("請輸入學生性別:\n");
scanf("%s",students[i].sex);
printf("****************\n\n\n");
printf("請輸入C語言成績:\n ");
scanf("%f",&students[i].cyy);
printf("****************\n\n\n");
printf("請輸入計算機成績:\n ");
scanf("%f",&students[i].computer);
printf("****************\n\n\n");
printf("請輸入英語成績:\n ");
scanf("%f",&students[i].english);
printf("****************\n\n\n");
students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;
printf("學生平均成績: %-8.0f\n",students[i].pj);
i++;
printf("****************\n\n\n");
printf("請輸入學生學號:\n ");
scanf("%s",students[i].num);
}
*n=i;
save(students ,i);
return i;
}
/*****查詢學生信息函數*****/
int Locate(STU students[],int n)
{
int k,m=-1;
char num[10],name[20];
int i=0;
system("cls");
printf(" 退出請輸入:0 \n");
printf("請選擇以什麼方式查詢:1).按學生學號查詢 2).按學生姓名查詢 \n");
scanf("%d",&k);
if(k==1)
{
printf("請輸入你要查詢的學生學號:\n");
scanf("%s",num);
while(i<n)
{
if(strcmp(students[i].num,num)==0) /*若找到學號*/
{
printf(">>學生學號:%s\n*學生姓名:%s\n*學生年齡:%d\n*學生性別:%s\n>C語言成績:%-8.0f\n>計算機成績:%-8.0f\n>>英語成績:%-8.0f\n>>平均成績:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i>=n)
printf("沒有所找學生信息\n");
getchar();
}
else if(k==2)
{
printf("請輸入你要查詢的學生姓名:\n");
scanf("%s",name);
while(i<n)
{
if(strcmp(students[i].name,name)==0) /*若找到姓名*/
{ printf("學生學號:%s\n學生姓名:%s\n學生年齡:%d\n學生性別:%s\n學生C語言成績:%-8.0f\n計算機成績:%-8.0f\n英語成績:%-8.0f\n平均成績:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i>=n)
printf("沒有所找學生信息\n");
}
return m;/*返回一個根m便於修改學生信息*/
getchar();
}
/*****顯示函數*****/
void input(STU students[],int n)
{
int i;
system("cls"); //清屏
if(n==0) /*表示沒有學生信息記錄*/
{
printf("\n沒有學生記錄!\n");
}
printf("\n\n");
printheader(); /*輸出表格頭部*/
i=0;
while(i<n) /*逐條輸出數組中存儲的學生信息*/
{
printdata(students[i]);
i++;
}
getchar();
}
/*****修改子程序*****/
void Modify(STU students[],int n)
{
int i;
if(n<=0)
{
system("cls");
printf(" \n退出請輸入:0 \n");
printf("\n----------not found!----------\n");
getchar();
return ;
}
system("cls");
printf("修改學生信息");
input(students,n);
i=Locate(students,n); /*查詢到該數組元素,並返回下標值*/
if(i!=-1) /*若i!=-1,表明已經找到該數組元素*/
{
printf("請輸入新的學生信息: \n");
printf(" 學號: ");
scanf("%s",students[i].num);
printf(" 姓名: ");
scanf("%s",students[i].name);
printf(" 年齡: ");
scanf("%d",&students[i].age);
printf(" 性別: ");
scanf("%s",students[i].sex);
printf(" C語言: ");
scanf("%f",&students[i].cyy);
printf(" 英語: ");
scanf("%f",&students[i].english);
printf(" 計算機: ");
scanf("%f",&students[i].computer);
students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;
printf("平均成績: %-9.0f\n",students[i].pj);
save(students ,n);
printf("\n-------------修改成功!-------------\n");

}
else
printf("not found!\n");
getchar();
}
/*****學生成績排序子程序*****/
void sort(STU students[],int n)
{
int i,j,a,b,c,d,e,f,k;
float p;
printf(" \n退出請輸入:0 \n");
printf("成績排序方式選擇: 1.按C語言 2.按英語 3.按平均 \n ");
scanf("%d",&k);

if(k==1) /*用選擇法對C語言排序*/
{
for(i=0; i<n; i++)
for(j=0;j<n-1;j++)
{

if(students[i].english<students[j+1].english)
{
temp=students[i];
students[i]=students[j+1];
students[j+1]=temp;
}

}

}
else if(k==2)/*英語用冒泡法*/
{
for(a=0; a<n-1; a++)
{
c=a;
for(b=a+1; b<n; b++)
if(students[b].cyy>students[c].cyy)
c=b;
if (c!=a)
{
temp=students[a];
students[a]=students[c];
students[c]=temp;
}
}
}
if(k==3) /*平均成績用插入法*/
{
for(d=1;d<n;d++)
{
p=students[d].pj;
for(e=0;e<d;e++)
if(students[e].pj<p)
break;
if(e==d)
continue;
for(f=d;f>e;f--)
students[f]=students[f-1];
students[e]=temp;
}
}
input(students,n); /*顯示排序後的所有記錄*/
save(students ,n);
printf("\n 排序完成!\n");
}

/*****統計學生分數在各等級的人數子程序*****/
void Tongji(STU students[],int n)
{
int count6085=0,count85=0,count60=0;
int i=0;
system("cls");
printf(" \n退出請輸入:0 \n");
input(students,n);
i=0;
while(i<n)
{
if(students[i].pj>85) /*平均成績=>85*/
if(students[i].pj>=60&&students[i].pj<=85) /*60<平均成績<85*/
if(students[i].pj<60) /*平均成績<60*/
}
printf("\n************統計結果************\n\n");
printf("平均成績高於85分的人數:%d \n",count85);
printf(" \n");
printf("平均成績在65分和80分之間的人數:%d \n",count6085);
printf(" \n");
printf("平均成績低於60分的人數:%d \n",count60);
printf(" \n");
printf("\n\n**********統計結束**********");
getchar();
}
/*****導出或保存數據*****/
void save(STU students[],int n)
{
FILE* fp;
int i=0;
fp=fopen("students","wb+");/*以讀寫方式打開創建一個二進制文件*/
if(fp==NULL) /*打開文件失敗*/
{
printf("\n*******打開文件錯誤!*******\n");
return ;
}
for(i=0;i<n;i++)
{
if(fwrite(&students[i],sizeof(STU),1,fp)==1)/*每次寫一條記錄或一個結構數組元素至文件*/
{
continue;
}
else
{
break;
}
}
if(i>0)
{
getchar();
printf("\n\n*共導出%d個學生信息*\n",i);
getchar();
}
else
{
system("cls");
printf("**沒有信息導出*\n");
getchar();
}
fclose(fp); /*關閉此文件*/
}
/*****導入數據*****/
void Read(STU students[],int * n)
{
FILE* fp;
int i=0;
fp=fopen("students","rb");/*以只讀方式打開一個已有的二進制文件*/
if(fp==NULL) /*打開文件失敗*/
{
printf("\n********打開文件錯誤!********\n");
exit(0);

}
for(i=0;i<N;i++)
{
if(fread(&students[i],sizeof(STU),1,fp)==1)/*每次讀一條記錄或一個結構數組元素至文件*/
continue;
else
break;
}
*n=i;
if(i>0)
{
printf("\n\n************共導入:%d 個學生信息 ************\n",i);
getchar();

}
else
{ system("cls");
printf("************沒有信息導入!************\n");
getchar();

}
getchar();
fclose(fp); /*關閉此文件*/
}

/*****主函數*****/
void main()
{
STU students[N];
int n;
char s1[3],s2[3]=;
int i,k;
printf("\n\n");
printf("******************************************************\n");
printf("^ < 歡迎使用本軟體> ^\n\n");
printf("^ <版本 : oooo> ^\n\n\n");
printf("^ <姓名>:盧景光 <班級>: 09623 <學號>:34 ^\n");
printf("^ ^\n");
printf("******************************************************\n");
printf("\n\n");
for(i=0;i<3;i++)
{
printf("\n請輸入密碼:");
gets(s1);

if(strcmp(s1,s2)==0)
break;
else
printf("\n>密碼錯誤,請重新輸入");
}
if(i>2)
{
printf("\n您已連續3次輸錯,系統將退出!\n");
exit(0);
}
else
{
while(1)
{
k=displaymenu();
switch(k)
{
case '1' : add(students,&n); break;
case '2' : Read(students,&n);input(students,n) ;break;
case '3' : Read(students,&n);Locate(students,n);break;
case '4' : Read(students,&n);Modify(students,n);;break;
case '5' : Read(students,&n);sort(students,n);break;
case '6' : Read(students,&n);Tongji(students,n); break;
case '7' : save(students,n) ;break;
case '8' : Read(students,&n);break;
case '9' : system("cls");
printf("\n **********謝謝您的使用**********\n");exit(0);break;
default : printf("\n\n輸入錯誤,輸入必須是0~9之間的一個數字!請重新輸入\n");getchar();getchar();
}
}
}
}
希望對你有幫助

㈡ C語言 統計學生成績

#include<stdio.h>
#include<stdlib.h>
struct student
{
double score[5];
}s[10];
void avg()
{
printf("\n");
double sum;
for(int i=0;i<10;i++)
{
sum=0;
printf("第%d位學生的平均分數是: ",i+1);
for(int j=0;j<5;j++)
sum+=s[i].score[j];
printf("%.2lf\n",sum/5);
}
printf("\n");
return ;
}
void tavg()
{
printf("\n");
double sum;
for(int j=0;j<5;j++)
{
sum=0;
for(int i=0;i<10;i++)
sum+=s[i].score[j];
printf("第%d門功課的平均分是: %.2lf\n",j+1,sum/10);
}
return ;
}
void maxsc()
{
printf("\n");
double max=-1;
int i,j;
for( i=0;i<10;i++)
{
for( j=0;j<5;j++)
if(max<s[i].score[j])
{
max=s[i].score[j];
}
}
printf("最高分是:%.2lf分,對應學生與功課如下:\n",max);
for(i=0;i<10;i++)
{
for(int j=0;j<5;j++)
if(max==s[i].score[j])
{
printf("第%d位學生的第%d門成績\n",i+1,j+1);
}
}
printf("\n");
}
int main()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
printf("輸入第%d位學生的第%d門功課的成績: ",i+1,j+1);
scanf("%lf",&s[i].score[j]);
printf("\n");
}
printf("\n");

}
printf("學生平均分數情況:\n");
avg(); //每個學生的平均分
printf("功課平均分數情況:\n");
tavg(); //每門功課的平均分
printf("最高分數即對應學生功課:\n");
maxsc(); //最高分對應的學生和功課
system("PAUSE");
return 0;
}

㈢ C語言編程 學生成績查詢

#include <stdio.h>
#include <stdlib.h>
#define N 10 //the number of students
int main()
{
float a[N],t,look;
int i,j;
for(i=0;i<=N-1;i++) scanf("%f",&a[i]);
for(i=0;i<=N-2;i++)
{
for(j=i+1;j<=N-1;j++)
{
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
}
printf("排序後乘機分布為:\n");
for(i=0;i<=N-1;i++) printf("%d:%f\n",i+1,a[i]);
printf("請輸入要查詢的分數.\n");
scanf("%f",&look);
for(i=0;i<=N-1;i++)
{
if(look==a[i]) printf("所排名次為:%d\n",i+1);
}
system("pause");
return 0;
}

流程圖自己搞定吧!呵呵

㈣ C語言~輸入5個學生的學號,成績,按成績排序(升序),查找90分以上的

代碼:

#include&lt;stdio.h&gt;

struct student

{

int num,score[3],age;

char name[20];

float aver;

}stu[1000];

main()

{

int i,j,n;

struct student temp;

/*注意:變數temp的類型與數組stu的元素類型為相同結構體的時候,才可交換兩個結構體數組元素,所以此處需要定義temp的類型*/

printf("請輸入學生人數: ");

scanf("%d",&n);

printf("請按順序輸入名字、學號、年齡、分數: ");

for(i=0;i&lt;n;i++)

{

scanf("%s",&stu&lt;i&gt;.name);

scanf("%d",&stu&lt;i&gt;.num);

scanf("%d",&stu&lt;i&gt;.age);

for(j=0;j&lt;3;j++)

scanf("%d",&stu&lt;i&gt;.score[j]);

}

for(i=0;i&lt;n;i++)

{int sum=0;

for(j=0;j&lt;3;j++)

sum+=stu&lt;i&gt;.score[j];

stu&lt;i&gt;.aver=sum/3.0;

}

for(i=0;i&lt;n-1;i++)/*利用冒泡排序法按平均分高低排序*/

{for(j=0;j&lt;n-i-1;j++)

{

if(stu[j].aver&gt;stu[j+1].aver)

{temp=stu[j];/*此處交換的應當是數組元素,而不是平均分*/

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

}

printf("學生信息如下(姓名、學號、年齡、成績、平均分): ");

for(i=0;i&lt;n;i++)

{

printf("%s%d%d",stu&lt;i&gt;.name,stu&lt;i&gt;.num,stu&lt;i&gt;.age);

for(j=0;j&lt;3;j++)

printf("%d",stu&lt;i&gt;.score[j]);

printf("%.2f ",stu&lt;i&gt;.aver);

}

}

(4)查找學生成績C語言擴展閱讀:

頭文件#include&lt;stdio.h&gt;中

stdio.h是stand input&output的縮寫,意思是標准輸入輸出頭文件。凡是用到標准輸入輸出函數,就要調用該頭文件。

查看stdio.h目錄下包含哪些函數:主要有文件訪問、二進制輸入/輸出、格式化和非格式化輸入/輸出、文件定位、錯誤處理、文件操作等。

具體打開自己的VS安裝目錄,找到include文件夾,打開include夾下面的stdio.h文件即可查看

(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)

常用標准輸入輸出函數:

scanf()從屏幕格式輸入

printf()格式輸出到屏幕

getchar()從屏幕得到一個字元

putchar()字元輸出到屏幕

gets()從屏幕得到一個字元串

puts()字元串輸出到屏幕

fscanf()從磁碟格式輸入

fprintf()格式輸出到磁碟

fgetc()從磁碟得到一個字元

fputc()字元輸出到磁碟

fgets()從磁碟得到一個字元串

fputs()字元串輸出到磁碟

#號是預處理語句,表明在編譯之前預先進行處理。

.h是header file的縮寫,表面這是一個頭文件。

include是文件包含命令,後面跟著引號""或者尖括弧&lt;&gt;,意思是將引號或尖括弧內指定的文件包含到本程序中,成為本程序的一部分,而包含的文件通常是由系統提供的。

㈤ 用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("對不起,您輸入的密碼不正確!");
}

㈥ C語言,按學號查詢學生成績

#include "stdio.h"
#include "string.h"
struct student
{
char num[10];
int cscore;//yu wen
int iscore;//ying yu
char name[20]
};
void main()
{
struct student qq[3];
int i;
for(i = 0;i < 3;i++)
{
printf("請輸入 語文成績 英語成績 學號 姓名:\n");
scanf("%d %d %s %s",&qq[i].cscore,&qq[i].iscore,qq[i].num,qq[i].name);
printf("語文成績%d 英語成績%d 學號%s 姓名%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
printf("---%d ---%d --%s --%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
}

//下面是查詢
char nnm[10];
printf("請輸入 學號:\n");
scanf("%s",nnm);
for(i = 0;i < 3;i++)
{
if(memcmp(nnm,qq[i].num,strlen(nnm)) == 0)
{
printf("語文成績%d 英語成績%d 學號%s 姓名%s\n",qq[i].cscore,qq[i].iscore,qq[i].num,qq[i].name);
break;
}
else
printf("未找到\n");
}
}

㈦ C語言,按學號查詢學生成績

#include <stdio.h>
#include <stdlib.h>

typedef struct node //定義結點//
{
long num;
char Name[10];
char sex;
int age;
struct node *next;
}NODE;

NODE *create(int n) //創建鏈表//
{
NODE *s,*head=NULL,*r=NULL;
int i;
for(i=0;i<n;i++)
{
s=(NODE *)malloc(sizeof(NODE));
printf("\n輸入學號:");
scanf("%ld",&s->num);
getchar();
printf("\n輸入姓名:");
scanf("%s",s->Name);
getchar();
printf("\n輸入性別(M/W):");
scanf("%c",&s->sex);
getchar();
printf("\n輸入年齡:");
scanf("%d",&s->age);
getchar();
s->next=NULL;
if(head==NULL)
{
head=s;
r=s;
}
else
{
r->next=s;
r=s;
}
}
return head;
}

void sch(NODE *head,int num)
{
NODE *p=head;
while(1)
{
if(p->num==num)
{
printf("學號:%ld 姓名:%s 性別: %c 年齡:%d",
p->num,
p->Name,
p->sex,
p->age);
break;
}
else
p=p->next;
}
if(p==0)
printf("not find!");
}

main()
{
int num,n;
NODE *head=NULL;
printf("\n請輸入學生數:");
scanf("%d",&n);
getchar();
head=create(n);
printf("輸入要查找的學號:");
scanf("%d",&num);
getchar();
sch(head,num);
return 0;
}

㈧ C語言編程—學生成績查詢系統!緊急!!!

這個是我自己做的類式的,你可以按自己的要求改下·不難的和你的差不多,給分哦

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 10
/*****定義結構體*****/
typedef struct students /*標記為students*/
{
char num[10]; /*學生學號*/
char name[10]; /*學生姓名*/
int age; /*年齡*/
char sex[10]; /*性別*/
float cyy; /*C語言成績*/
float computer; /*計算機成績*/
float english; /*英語成績*/
float pj; /*平均成績*/
}STU;
STU temp;
void sort(STU students[],int n); //排序
void save(STU students[] ,int n);//導出
int Locate(STU students[],int n);//查詢
/*--------------顯示菜單--------------------*/
char displaymenu()
{
char k;
system("cls");
printf(" 學生成績管理 \n");
printf("-----------------------------------應用菜單-------------------------------------\n");
printf(" 1 輸入學生成績\n\n");
printf(" 2 輸出學生成績\n\n");
printf(" 3 查詢學生成績\n\n");
printf(" 4 修改學生成績\n\n");
printf(" 5 查看成績排序\n\n");
printf(" 6 查看成績統計\n\n");
printf(" 7 保存數據\n\n");
printf(" 8 讀取數據\n\n");
printf(" 9 退出系統\n\n");
printf(" 請選擇你想進行的操作:");

k=getchar();

return k;

}
/*****定義輸出函數*****/

void printheader() /*格式化輸出表頭*/
{
printf("\n\n************************學生成績管理系統****************************\n\n\n");
printf("| 學號 | 姓名 | 年齡 | 性別 | C語言成績 |計算機成績 | 英語成績| 平均成績 | \n");
}
void printdata(STU pp) /*格式化輸出表中數據*/
{
STU* p;
p=&pp;
printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p->num,p->name,p->age,p->sex,p->cyy,p->computer,p->english,p->pj);
}
/*****添加學生信息*****/
int add(STU students[] ,int *n)
{
int i=0;
system("cls");
printf(" \n");
printf(" 請輸入學生信息 \n");
printf(" 退出請在學生號處輸入:0 \n");
printf("請輸入學生學號:\n ");
scanf("%s",students[i].num);
while(strcmp(students[i].num,"0") )//當輸入的學號為0時結束輸入
{
printf("請輸入學生姓名:\n ");
scanf("%s",students[i].name);
printf("****************\n\n\n");
printf("請輸入學生年齡:\n ");
scanf("%d",&students[i].age);
printf("****************\n\n\n");
printf("請輸入學生性別:\n");
scanf("%s",students[i].sex);
printf("****************\n\n\n");
printf("請輸入C語言成績:\n ");
scanf("%f",&students[i].cyy);
printf("****************\n\n\n");
printf("請輸入計算機成績:\n ");
scanf("%f",&students[i].computer);
printf("****************\n\n\n");
printf("請輸入英語成績:\n ");
scanf("%f",&students[i].english);
printf("****************\n\n\n");
students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;
printf("學生平均成績: %-8.0f\n",students[i].pj);
i++;
printf("****************\n\n\n");
printf("請輸入學生學號:\n ");
scanf("%s",students[i].num);
}
*n=i;
save(students ,i);
return i;
}
/*****查詢學生信息函數*****/
int Locate(STU students[],int n)
{
int k,m=-1;
char num[10],name[20];
int i=0;
system("cls");
printf(" 退出請輸入:0 \n");
printf("請選擇以什麼方式查詢:1).按學生學號查詢 2).按學生姓名查詢 \n");
scanf("%d",&k);
if(k==1)
{
printf("請輸入你要查詢的學生學號:\n");
scanf("%s",num);
while(i<n)
{
if(strcmp(students[i].num,num)==0) /*若找到學號*/
{
printf(">>學生學號:%s\n*學生姓名:%s\n*學生年齡:%d\n*學生性別:%s\n>C語言成績:%-8.0f\n>計算機成績:%-8.0f\n>>英語成績:%-8.0f\n>>平均成績:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i>=n)
printf("沒有所找學生信息\n");
getchar();
}
else if(k==2)
{
printf("請輸入你要查詢的學生姓名:\n");
scanf("%s",name);
while(i<n)
{
if(strcmp(students[i].name,name)==0) /*若找到姓名*/
{ printf("學生學號:%s\n學生姓名:%s\n學生年齡:%d\n學生性別:%s\n學生C語言成績:%-8.0f\n計算機成績:%-8.0f\n英語成績:%-8.0f\n平均成績:%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i>=n)
printf("沒有所找學生信息\n");
}
return m;/*返回一個根m便於修改學生信息*/
getchar();
}
/*****顯示函數*****/
void input(STU students[],int n)
{
int i;
system("cls"); //清屏
if(n==0) /*表示沒有學生信息記錄*/
{
printf("\n沒有學生記錄!\n");
}
printf("\n\n");
printheader(); /*輸出表格頭部*/
i=0;
while(i<n) /*逐條輸出數組中存儲的學生信息*/
{
printdata(students[i]);
i++;
}
getchar();
}
/*****修改子程序*****/
void Modify(STU students[],int n)
{
int i;
if(n<=0)
{
system("cls");
printf(" \n退出請輸入:0 \n");
printf("\n----------not found!----------\n");
getchar();
return ;
}
system("cls");
printf("修改學生信息");
input(students,n);
i=Locate(students,n); /*查詢到該數組元素,並返回下標值*/
if(i!=-1) /*若i!=-1,表明已經找到該數組元素*/
{
printf("請輸入新的學生信息: \n");
printf(" 學號: ");
scanf("%s",students[i].num);
printf(" 姓名: ");
scanf("%s",students[i].name);
printf(" 年齡: ");
scanf("%d",&students[i].age);
printf(" 性別: ");
scanf("%s",students[i].sex);
printf(" C語言: ");
scanf("%f",&students[i].cyy);
printf(" 英語: ");
scanf("%f",&students[i].english);
printf(" 計算機: ");
scanf("%f",&students[i].computer);
students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;
printf("平均成績: %-9.0f\n",students[i].pj);
save(students ,n);
printf("\n-------------修改成功!-------------\n");

}
else
printf("not found!\n");
getchar();
}
/*****學生成績排序子程序*****/
void sort(STU students[],int n)
{
int i,j,a,b,c,d,e,f,k;
float p;
printf(" \n退出請輸入:0 \n");
printf("成績排序方式選擇: 1.按C語言 2.按英語 3.按平均 \n ");
scanf("%d",&k);

if(k==1) /*用選擇法對C語言排序*/
{
for(i=0; i<n; i++)
for(j=0;j<n-1;j++)
{

if(students[i].english<students[j+1].english)
{
temp=students[i];
students[i]=students[j+1];
students[j+1]=temp;
}

}

}
else if(k==2)/*英語用冒泡法*/
{
for(a=0; a<n-1; a++)
{
c=a;
for(b=a+1; b<n; b++)
if(students[b].cyy>students[c].cyy)
c=b;
if (c!=a)
{
temp=students[a];
students[a]=students[c];
students[c]=temp;
}
}
}
if(k==3) /*平均成績用插入法*/
{
for(d=1;d<n;d++)
{
p=students[d].pj;
for(e=0;e<d;e++)
if(students[e].pj<p)
break;
if(e==d)
continue;
for(f=d;f>e;f--)
students[f]=students[f-1];
students[e]=temp;
}
}
input(students,n); /*顯示排序後的所有記錄*/
save(students ,n);
printf("\n 排序完成!\n");
}

/*****統計學生分數在各等級的人數子程序*****/
void Tongji(STU students[],int n)
{
int count6085=0,count85=0,count60=0;
int i=0;
system("cls");
printf(" \n退出請輸入:0 \n");
input(students,n);
i=0;
while(i<n)
{
if(students[i].pj>85) {count85++;i=i+1;continue;} /*平均成績=>85*/
if(students[i].pj>=60&&students[i].pj<=85) {count6085++;i=i+1;continue;} /*60<平均成績<85*/
if(students[i].pj<60) {count60++;i=i+1;continue;} /*平均成績<60*/
}
printf("\n************統計結果************\n\n");
printf("平均成績高於85分的人數:%d \n",count85);
printf(" \n");
printf("平均成績在65分和80分之間的人數:%d \n",count6085);
printf(" \n");
printf("平均成績低於60分的人數:%d \n",count60);
printf(" \n");
printf("\n\n**********統計結束**********");
getchar();
}
/*****導出或保存數據*****/
void save(STU students[],int n)
{
FILE* fp;
int i=0;
fp=fopen("students","wb+");/*以讀寫方式打開創建一個二進制文件*/
if(fp==NULL) /*打開文件失敗*/
{
printf("\n*******打開文件錯誤!*******\n");
return ;
}
for(i=0;i<n;i++)
{
if(fwrite(&students[i],sizeof(STU),1,fp)==1)/*每次寫一條記錄或一個結構數組元素至文件*/
{
continue;
}
else
{
break;
}
}
if(i>0)
{
getchar();
printf("\n\n*共導出%d個學生信息*\n",i);
getchar();
}
else
{
system("cls");
printf("**沒有信息導出*\n");
getchar();
}
fclose(fp); /*關閉此文件*/
}
/*****導入數據*****/
void Read(STU students[],int * n)
{
FILE* fp;
int i=0;
fp=fopen("students","rb");/*以只讀方式打開一個已有的二進制文件*/
if(fp==NULL) /*打開文件失敗*/
{
printf("\n********打開文件錯誤!********\n");
exit(0);

}
for(i=0;i<N;i++)
{
if(fread(&students[i],sizeof(STU),1,fp)==1)/*每次讀一條記錄或一個結構數組元素至文件*/
continue;
else
break;
}
*n=i;
if(i>0)
{
printf("\n\n************共導入:%d 個學生信息 ************\n",i);
getchar();

}
else
{ system("cls");
printf("************沒有信息導入!************\n");
getchar();

}
getchar();
fclose(fp); /*關閉此文件*/
}

/*****主函數*****/
void main()
{
STU students[N];
int n;
char s1[3],s2[3]={"1"};
int i,k;
printf("\n\n");
printf("******************************************************\n");
printf("^ < 歡迎使用本軟體> ^\n\n");
printf("^ <版本 : oooo> ^\n\n\n");
printf("^ <姓名>:盧景光 <班級>: 09623 <學號>:34 ^\n");
printf("^ ^\n");
printf("******************************************************\n");
printf("\n\n");
for(i=0;i<3;i++)
{
printf("\n請輸入密碼:");
gets(s1);

if(strcmp(s1,s2)==0)
break;
else
printf("\n>密碼錯誤,請重新輸入");
}
if(i>2)
{
printf("\n您已連續3次輸錯,系統將退出!\n");
exit(0);
}
else
{
while(1)
{
k=displaymenu();
switch(k)
{
case '1' : add(students,&n); break;
case '2' : Read(students,&n);input(students,n) ;break;
case '3' : Read(students,&n);Locate(students,n);break;
case '4' : Read(students,&n);Modify(students,n);;break;
case '5' : Read(students,&n);sort(students,n);break;
case '6' : Read(students,&n);Tongji(students,n); break;
case '7' : save(students,n) ;break;
case '8' : Read(students,&n);break;
case '9' : system("cls");
printf("\n **********謝謝您的使用**********\n");exit(0);break;
default : printf("\n\n輸入錯誤,輸入必須是0~9之間的一個數字!請重新輸入\n");getchar();getchar();
}
}
}
}

㈨ c語言 學生成績查詢系統

C語言程序:

#include<stdio.h>

#defineMAX100

/*顯示菜單*/
voidShowMenu()
{
printf(" ");
printf("||===================================|| ");
printf("||-----------------------------------|| ");
printf("||-------學生成績查詢系統------------|| ");
printf("||-----------------------------------|| ");
printf("||-----------------------------------|| ");
printf("||-----------------------------------|| ");
printf("||===================================|| ");
printf(" ");
printf("|----------------------------------| ");
printf("|----------請輸入(0-6)-----------| ");
printf("|1.輸入成績------------| ");
printf("|2.顯示成績------------| ");
printf("|3.查詢平均分----------| ");
printf("|4.查詢最高分----------| ");
printf("|5.成績排名------------| ");
printf("|6.退出----------------| ");
printf("|----------------------------------|請輸入0-6:");
}

/*排序*/
voidSort(intarr[],intn)
{
inti,j,k;
inttemp;

for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(arr[j]>arr[k])
{
k=j;
}
}
if(k!=i)
{
temp=arr[k];
arr[k]=arr[i];
arr[i]=temp;
}
}
}

voidmain(){
intchoice;
intscores[MAX]={80,78}; /*存儲成績*/
intn=2; /*人數*/
intback[MAX];
intmax; /*最高分*/
doubleavg; /*平均分*/
inti;

while(1)
{
ShowMenu();
scanf("%d",&choice);
switch(choice)
{
case1: /*輸入成績*/
{
printf("請輸入新成績:");
scanf("%d",&scores[n]);
n++;
break;
}
case2: /*顯示成績*/
{
printf("成績列表: ");
for(i=0;i<n;i++)
{
printf("%4d",scores[i]);
}
printf(" ");
break;
}
case3: /*查詢平均分*/
{
avg=0;
for(i=0;i<n;i++)
{
avg+=scores[i];
}
avg/=n;
printf("平均分:%.2lf ",avg);
break;
}
case4: /*查詢最高分*/
{
max=scores[0];
for(i=1;i<n;i++)
{
if(scores[i]>max)
{
max=scores[i];
}
}
avg/=n;
printf("最高分:%d ",max);
break;
}
case5: /*成績排名*/
{
for(i=0;i<n;i++)
{
back[i]=scores[i];
}

Sort(back,n);

printf("成績排名: ");
printf("%8s%8s ","名次","成績");
for(i=0;i<n;i++)
{
printf("%8d%8d ",i+1,back[i]);
}
printf(" ");
break;
}
case6: /*退出*/
{
return;
}
default: /*繼續*/
{
break;
}
}
}
}


運行測試:

熱點內容
武漢大學學生會輔導員寄語 發布: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