当前位置:首页 » 考试成绩 » C窗体学生成绩统计系统

C窗体学生成绩统计系统

发布时间: 2020-12-08 07:49:30

A. 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);
}
}

B. 用C语言设计一个学生成绩统计系统

// Note:Your choice is C++ IDE
#include <iostream>
#include <string>
using namespace std;
//N代表科目数,M代表人数
#define N 2
#define M 3

class student
{public:
float score[N];
string name;
float average;
float total;
int rank;

student();
void inscore();
void calav();
void caltt();
void show();

};

void student::inscore()
{
int i;
cout<<"输入姓名:";
cin>>name;
cout<<"输入成绩:";
for(i=0;i<N;i++)
{
cin>>score[i];
}
caltt();
calav();

}

void student::calav()
{
average=total/N;
}

void student::caltt()
{
int i;
for(i=0;i<N;i++)
total+=score[i];
}

void student::show()
{
int i;
cout<<rank<<" "<<name<<" ";
for(i=0;i<N;i++)
cout<<score[i]<<" ";

cout<<endl;
}

void setrank(student sys[M])
{
int i,j;
student tmp=sys[0];

for(i=0;i<M-1;i++)
{
for(j=i+1;j<M;j++)
if(sys[j].average>sys[i].average)
{
tmp=sys[j];
sys[j]=sys[i];
sys[i]=tmp;
}
sys[i].rank=i+1;
}
sys[i].rank=i+1;
}

void findsc(student sys[M])
{
string n;
int i;
cout<<"请输入查询的名字:";
cin>>n;
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(i=0;i<M;i++)
if(sys[i].name==n)
{

sys[i].show();
}
}

void findrank(student sys[M])
{
string n;
int i;
cout<<"请输入查询的名字:";
cin>>n;
for(i=0;i<M;i++)
if(sys[i].name==n) cout<<sys[i].rank;

}

void find10(student sys[M])
{
int j;
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<10;j++)
sys[j].show();
}

void findgrade(student sys[M])
{
int i,j;
cout<<"1.>=85 2.>=75 3.>=60 4.<60"<<endl;
cin>>i;
switch(i)
{
case 1:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<M;j++)
sys[j].show();

}
break;

case 2:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<M;j++)
if(sys[j].average>=75 && sys[j].average<85) sys[j].show();

}
break;
case 3:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<M;j++)
sys[j].show();

}
break;

case 4:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<M;j++)
if(sys[j].average<60) sys[j].show();

}
break;

}

}

void findbad(student sys[M])
{
int i,j,k;
for(i=0;i<M;i++)
{
k=0;

cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(j=0;j<N;j++)
{
if(sys[i].score[j]<60) k++;
if(k==3)
}
}
}

void pub(student sys[M])
{
int i;
cout<<"排名 "<<"姓名 "<<"--成绩--"<<endl;
for(i=0;i<M;i++)
sys[i].show();
}

int main()
{
student st[M];
int i,j;

while(1)
{
cout<<
"-------------------------------\n"<<
"1.输入成绩\n"<<
"2.查询任一学生成绩\n"<<
"3.查询任一学生排名\n"<<
"4.查询前十的学生\n"<<
"5.查询成绩级别的情况\n"<<
"6.查询三门不及格的学生\n"<<
"7.按成绩高低,顺序输入所有学生\n"<<
"-------------------------------"<<endl;
cin>>i;
switch(i)
{
case 1:
for(j=0;j<M;j++)
{
cout<<"输入第"<<j+1<<"个学生的成绩"<<endl;
st[j].inscore();
};
setrank(st);
break;

case 2:findsc(st);system("pause");break;
case 3:findrank(st);system("pause");break;
case 4:find10(st);system("pause");break;
case 5:findgrade(st);system("pause");break;
case 6:findbad(st);system("pause");break;
case 7:pub(st);system("pause");break;
}

}

return 0;
}

C. c\c++课程设计 学生成绩管理及统计系统

#include <string.h>

#include <stdio.h>

#include <malloc.h>

#include <stdlib.h>//包含system函数头文件

#define LEN sizeof(struct student)

struct student

{

char num[20];//学号

char name[100];//用户姓名

char phone[20];//电话号码

char home[100];//通讯地址

char birthday[20];//出生日期

struct student *next;

};

void face(void)//功能选择面板

{

printf("********************************************************************");

printf("\t\t\t\t☆★☆★☆★ ~_~ ~_~ ~_~ ☆★☆★☆★\n");

printf("\n\t\t\t☆★欢迎使用张亿斐电话号码查询系统☆★");

printf("\n\n\t☆★选择你需要操作的功能:☆★(现无记录,建议先填加记录)★☆\n");

printf("\n");

printf("\t\t\t1.【增加系统信息〗\n");

printf("\t\t\t2.〖显示系统中所有记录】\n");

printf("\t\t\t3.【删除需要删除的信息〗\n");

printf("\t\t\t4.〖以名字查询所需的信息】\n");

printf("\t\t\t5.【保存系统中的所有记录到指定文件中〗\n");

printf("\t\t\t6.〖退出不保存!!】\n");

printf("\n");

printf("\t☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★");

printf("\n\n********************************************************************\n\n");

}

void print(struct student *head)

{

struct student *p;

p=head;

system("CLS");//调用DOS命令CLS能够清屏

printf("*************************************************************\n");

printf("==================== → 用户信息记录表 ← ===================\n");

printf("*************************************************************\n");

if(head!=NULL)

do

{

printf("联系人学号:%s\n",p->num);

printf("联系人姓名:%s\n",p->name);

printf("联系人电话号码:%s\n",p->phone);

printf("学生地址:%s\n",p->home);

printf("联系人出生日期:%s\n",p->birthday);

printf("********************************************************\n");

p=p->next;

}while(p!=NULL);

else

{

printf("对不起!!没有任何联系人记录!!\n\n");

printf("=============================================================\n");

}

}

//增添电子通讯录中的内容,即创建连表过程

struct student *append(struct student *head)

{

struct student *p0=NULL,*p1,*p2;//p0为要插入的新节点

p1=head;

p2=head;

system("CLS");

printf("\n\n***********************************************************\n");

printf("\t\t你能在此目录下创建并添加联系人信息");

printf("\n***********************************************************\n");

p0=(struct student *)malloc(LEN);

printf("请输入联系人学号:");

gets(p0->num);

printf("请输入联系人姓名:");

gets(p0->name);

printf("请输入联系人电话号码:");

gets(p0->phone);

printf("请输入联系人地址:");

gets(p0->home);

printf("请输入联系人出生日期:");

gets(p0->birthday);

//对插入的节点排序,按姓名的拼音顺序

if(head==NULL)

{head=p0;p0->next=NULL;}

else

{

while((strcmp(p0->name,p1->name)>0)&&(p1->next!=NULL))

{p2=p1;p1=p1->next;}

if((strcmp(p0->name,p1->name))<=0)

{

if(head==p1)

head=p0;

else

p2->next=p0;

p0->next=p1;

}

else

{p1->next=p0;p0->next=NULL;}

printf("恭喜你!!成功添加了联系人信息!!");

printf("\n************************************************************\n");

printf("\n\n");

}

return(head);

}

//电子通讯录的维护(删除),通过输入联系人学号删除联系人数据

struct student *del(struct student *head)

{

struct student *p1,*p2;

char num[12];

system("CLS");

printf("\n\n************************************************************\n");

printf("================= → 用户信息记录删除功能 ← ===============\n");

printf("************************************************************\n");

printf("输入要删除的联系人学号:");

gets(num);

p1=head;

if (head==NULL)

{

printf("很抱歉!!没有任何联系人纪录!!\n");

printf("\n*******************************************************\n");

return(head);

}

while(p1!=NULL)

{

if(strcmp(p1->num,num)==0)

{

if(p1==head)

head=p1->next;

else p2->next=p1->next;

free(p1);

printf("删除记录成功!!\n");

return(head);

}

p2=p1;

p1=p1->next;

}

printf("对不起!!没有要删除的联系人纪录!!\n");

return(head);

}

//电子通讯录的查找,关键字为用户姓名;

void search(struct student *head)

{

struct student *p1,*p2;

char name[20];

p1=head;

p2=p1;

system("CLS");

printf("\n**************************************************************\n");

printf("================ → 用户信息记录查询功能 ← ==================\n");

printf("**************************************************************\n");

printf("输入要查找联系人的姓名:");

gets(name);

while(p1!=NULL)

{

if(strcmp(p1->name,name)==0)

{

printf("联系人学号:");

puts(p1->num);

printf("联系人姓名:");

puts(p1->name);

printf("联系人电话号码:");

puts(p1->phone);

printf("联系人地址:");

puts(p1->home);

printf("联系人出生日期:");

puts(p1->birthday);

printf("\n=============================================================\n");

break;

}

p2=p1;

p1=p1->next;

}

if(p1==NULL)

printf("对不起!!没有该联系人的纪录!!\n");

}

//电子通讯录的记录存盘操作,使用文件指针;

void save(struct student *head)

{

FILE *fp,*fp1;

struct student *p;

p=head;

fp=fopen("record.txt","w");

fp1=fopen("record1.txt","w");

fprintf(fp1,"=============== → 用户信息记录表 ← =================\n");

while(p!=NULL)

{

//首先把数据保存在record.txt中,这是提供给load函数用的数据

//fprintf(fp," %s %s %s %s %s %s",p->num,p->name,p->phone,p->email,p->home,p->birthday);

//然后把数据保存在record1.txt中,这是能提供直接查询看的,有比较友好的画面

fprintf(fp1,"====================================================\n");

fprintf(fp1,"联系人学号:%s\n",p->num);

fprintf(fp1,"联系人姓名:%s\n",p->name);

fprintf(fp1,"联系人电话:%s\n",p->phone);

fprintf(fp1,"联系人家庭地址:%s\n",p->home);

fprintf(fp1,"联系人出生日期:%s\n",p->birthday);

p=p->next;

}

fprintf(fp1,"*************************************************************\n");

fclose(fp1);

fclose(fp);

printf("\n\n恭喜你!!成功储存,你能在record1.txt找到相应纪录\n");

printf("**************************************************************\n");

printf("PRESS ANY KEY TO EXIT.\n\n");

getchar();

exit(1);

}

//电子通讯录的记录读盘操作,使用文件指针;

struct student *load(void)

{

FILE *fp;

struct student *head=NULL,*p1=NULL,*p2=NULL;

char c;

int i;

fp=fopen("record.txt","r");

for(i=1;(c=fgetc(fp))!=-1;i++)

{

p1=(struct student *)malloc(LEN);

//fscanf(fp,"%s %s %s %s %s %s",p1->num,p1->name,p1->phone,p1->email,p1->home,p1->birthday);

if(i==1)

{head=p1;p2=p1;}

else

{p2->next=p1;p2=p1;}

}

if(p1==NULL)

{fclose(fp);return(head);}

p2->next=NULL;

fclose(fp);

return(head);

}

main()

{

FILE *fp1,*fp2;

int c;//功能选择需要的号码

system("cls");

system("color 5f");

system("cls");

struct student *head=NULL;

if ((fp1=fopen("record.txt","r"))==NULL)

{

fp2=fopen("record.txt","w");//如果不存在record.txt就创建一个

fclose(fp2);

}

head=load();

while(1)

{

face();

printf("选择你需要操作的功能号码:");

scanf("%d",&c);

getchar();

switch(c)

{

case 1:head=append(head);break;

case 2:print(head);break;

case 3:head=del(head);break;

case 4:search(head);break;

case 5:save(head);break;

case 6:exit(0);break;

default :printf("Enter error!!\n");

}

//printf("*****************\n");

printf("◇◆请按ENTER返回功能操作菜单◇◆\n");

//printf("*****************\n");

getchar();

system("CLS");

}

}

D. C 语言实现 学生成绩统计、排序的实现

#include "stdio.h"
#include "conio.h"
int i;
int temp;
int j;
int choose;
struct{
int stuid;
char stuname[20];
char obj1[20];
char obj2[20];
char obj3[20];
char obj4[20];
int grade1;
int grade2;
int grade3;
int grade4;
}info[3];

/*初始化数据*/
void inputinfo(){

for(i=0;i<3;i++){
printf("The %d student id :",i+1);
scanf(" %d",&info[i].stuid);

printf("The %d student name:",i+1);
scanf(" %c",&info[i].stuname);

getchar();
printf("The %d student objectname1:",i+1);
scanf(" %c",&info[i].obj2);
getchar();

printf("The %d student grade1:",i+1);
scanf(" %d",&info[i].grade1);
getchar();

printf("The %d student objectname2:",i+1);
scanf(" %c",&info[i].obj2);
getchar();

printf("The %d student grade2:",i+1);
scanf(" %d",&info[i].grade2);
getchar();

printf("The %d student objectname3:",i+1);
scanf(" %c",&info[i].obj3);
getchar();

printf("The %d student grade3:",i+1);
scanf(" %d",&info[i].grade3);
getchar();

printf("The %d student objectname4:",i+1);
scanf(" %c",&info[i].obj4);
getchar();

printf("The %d student grade4:",i+1);
scanf(" %d",&info[i].grade4);
getchar();
}

}
/*每门课程的平均成绩*/
void getAveGrade(){

int grade1 = 0;
int grade2 = 0;
int grade3 = 0;
int grade4 = 0;
for(i=0;i<3;i++){
grade1 = grade1 + info[i].grade1;
grade2 = grade2 + info[i].grade2;
grade3 = grade3 + info[i].grade3;
grade4 = grade4 + info[i].grade4;
}
printf("The %c is: %d",info[0].obj1,grade1/3);
printf("The %c is: %d",info[1].obj2,grade2/3);
printf("The %c is: %d",info[2].obj3,grade3/3);
printf("The %c is: %d",info[3].obj4,grade4/3);
}
/*输出有课程不及格学生的姓名,学号及其各门课程的成绩*/
void getflunkinfo(){
for(i=0;i<3;i++){
if(info[i].grade1<60 || info[i].grade2<60 || info[i].grade3<60 || info[i].grade4<60){
printf("Student id: %d",info[i].stuid);
printf("Student Name: %c",info[i].stuname);
printf("The %c : %d",info[i].obj1,info[i].obj1);
printf("The %c : %d",info[i].obj2,info[i].obj2);
printf("The %c : %d",info[i].obj3,info[i].obj3);
printf("The %c : %d",info[i].obj4,info[i].obj4);
}
}

}

/*输出个人平均分超过90分的学生姓名,学号*/
void getGoodStudent(){
for(i=0;i<3;i++){
int count = (info[i].grade1 + info[i].grade2 + info[i].grade3 + info[i].grade4)/3;
if(count>=90){
printf(" The good student id is : %c",info[i].stuid);
printf(" The good student name is : %c",info[i].stuname);
}
}
}

/*对4门课程中的任何一门,可随意抽取1门按学生成绩进行排序*/
void geteachgrade(){

int count[3];
printf("Please input the number 1~4: ");
scanf(" %d",&choose);
if(choose==1){
for(i=0;i<3;i++){
count[i] = info[i].grade1;
}
}
else if(choose==2){
for(i=0;i<3;i++){
count[i] = info[i].grade2;
}
}
else if(choose==3){
for(i=0;i<3;i++){
count[i] = info[i].grade3;
}
}
else if(choose==4){
for(i=0;i<3;i++){
count[i] = info[i].grade4;
}
}
/*冒泡排序*/

for(i=0;i<10;i++){
for(j=0;j<10;j++){
if(count[j]<count[i]){
temp = count[i];
count[i] = count[j];
count[j] = temp;

}
}
}
for(i=0;i<10;i++){
printf(" %d ",count[i]);
}

}

/*退出*/
void exit(){
exit(0);
}

void main()
{
inputinfo();

printf("Please input the number 1~5: ");
scanf(" %d",&choose);
if(choose==1){
getAveGrade();
}
else if(choose==2){
getflunkinfo();

}
else if(choose==3){
getGoodStudent();
}
else if(choose==4){
geteachgrade();
}
else if(choose==5){
exit();
}

}

E. 用c语言编写 简单学生成绩统计软件

#include<stdio.h>
intmain()
{
floatmark1,mark2,c;
intyou=0;
for(;;)
{
printf("请输入两门抄课程的成绩袭_____");
scanf("%f,%f",&mark1,&mark2);
c=(mark1+mark2)/2;
printf(" 你的总分是:%.2f平均分是:%.2f 总评为:",mark1+mark2,c);
if(c>=85)
{
printf("优 ");
you++;
}
if(c>=70&&c<85)
printf("中 ");
if(c<70)
printf("差 ");
printf("目前得优的人数为%d ",you);
getchar();
}
return0;
}

F. 用c语言编写一个学生成绩统计系统 急!!

思路提示。创建一个头文件,定义二维数组保存学生成绩。声明求学生总成绩以及各科最高最低成绩函数。创建源文件,实现上述头文件声明的函数。创建main函数调用上述方法即可

G. 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);
}

H. 用C语言做一个学生成绩统计系统,求帮忙(源代码。。)

可以给你。需要点时间。现在在上课。
#include <stdio.h>
void main()
{
int Password =0,i=0,sum=0;
clrscr();
printf("\n===请输入密码!====\n");
while(Password != 1234)
{
if(i>3)
{
printf(" 密码错误!\n ");
return;
}
i++;
printf(" 请输入密码!\n");
}
//以上为三次密码部分,密码默认1234。
int k=0,b=0;
int stu[50];
loop:
printf("1. 学生成绩录入(限人数50)\n");
printf("2. 显示学生成绩\n");
printf("3. 统计总分平均分\n");
printf("4. 最高分和最低分\n");
printf("5. 统计各分数段人数\n");
printf("6. 退出\n");
abc:
scanf("%d",&k);
switch(k)
{
case 1:
printf("请输入50个学生成绩:\n");
for(i=0;i<50;i++)
{
scanf("%d",&stu[i]);
b=i;
}
printf("请选择下一个选项:\n");
goto abc;
case 2:
if(b == 50)
{
printf(" 显示学生成绩:\n");
for(i=0;i<50;i++)
printf(" %d ",stu[i]);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 3:
if(b == 50)
{
printf(" 显示学生总分:\n");
for(i=0;i<50;i++)
sum += stu[i];
printf(" %d ",sum);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 4:
if(b == 50)
{
printf(" 显示学生最大分,最小分:\n");
min = stu[0];
max = stu[49];
for(i=0;i<50;i++)
if(min > stu[i])
min = stu[i];
for(i=0;i<50;i++)
if(max < stu[i])
max = stu[i];
printf(" %d %d ",max ,min);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 5:
if(b == 50)
{
printf(" 统计各分数段人数:\n");
// ************************************
// 哥们,这里你自己来写好吗?我给点提示,把及格,不及格写出来。细分分数段,你自己来吧。
int x=0,y=0;
for(i=0;i<50;i++)
if (stu[i]>=60)
x++;
else
y++;
printf(" 及格人数 %d 人,不及格人数 %d 人\n",x,y);
// ***********************************
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 6:
break;
default:
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
//switch语句结束。
getch();
}
亲,刚写好了。我没调试。这个仅供参考。自己调试,有错就找找。

I. 用C语言设计一个学生成绩统计程序,

要求输入10个学生5门功课的成绩,分别用子函数求出:(1)每个学生的平均分;(2)每门功课的平均分;(3)找出最高分所对应的学生和功课。
#include<stdio.h>
#include<stdlib.h>
structstudent
{
doublescore[5];
}s[10];
voidavg()
{
printf(" ");
doublesum;
for(inti=0;i<10;i++)
{
sum=0;
printf("第%d位学生的平均分数是:",i+1);
for(intj=0;j<5;j++)
sum+=s[i].score[j];
printf("%.2lf ",sum/5);
}
printf(" ");
return;
}
voidtavg()
{
printf(" ");
doublesum;
for(intj=0;j<5;j++)
{
sum=0;
for(inti=0;i<10;i++)
sum+=s[i].score[j];
printf("第%d门功课的平均分是:%.2lf ",j+1,sum/10);
}
return;
}
voidmaxsc()
{
printf(" ");
doublemax=-1;
inti,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分,对应学生与功课如下: ",max);
for(i=0;i<10;i++)
{
for(intj=0;j<5;j++)
if(max==s[i].score[j])
{
printf("第%d位学生的第%d门成绩 ",i+1,j+1);
}
}
printf(" ");
}
intmain()
{
inti,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(" ");
}
printf(" ");

}
printf("学生平均分数情况: ");
avg();//每个学生的平均分
printf("功课平均分数情况: ");
tavg();//每门功课的平均分
printf("最高分数即对应学生功课: ");
maxsc();//最高分对应的学生和功课
system("PAUSE");
return0;
}

J. 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);
}
}

热点内容
武汉大学学生会辅导员寄语 发布: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