当前位置:首页 » 考试成绩 » 学生成绩程序流程图

学生成绩程序流程图

发布时间: 2020-12-11 05:33:27

㈠ 急求学生成绩统计程序的流程图,代码如下

save和display的没有看。

不知道是不是这样。

㈡ 跪求面向对象程序设计c++大作业:完成一个学生成绩管理系统。内容包括1问题描述2类体系设计和程序流程图3

这是我电脑里的一个程序
可能跟你的不是完全符合,但是毕竟很相似了,因为解决问题的方法是一致的
你自己修改一下,如果还有任何问题,m我

#include<iostream>
#include<string> //控制字符串的头文件

using namespace std;
class tong //建立同学录的一个类
{
public:
tong(); //构造函数
tong(char n[20],char se,int ag,int te,int qq);
~tong();
void Set();//添加
void Delete();//删除
void Alter();//修改
void List();//显示
void RearchN();
void RearchT();
void RearchQ();
private:
char name[20];
int age,telphone,QQ;
char sex;
};
tong::tong()//构造函数
{
strcpy(name, "");
sex='M';
age=0;
telphone=0;
QQ=0;
}
tong::tong(char n[20],char se,int ag,int te,int qq)
{
strcpy(name, n);
sex=se;
age=ag;
telphone=te;
QQ=qq;
}
tong::~tong(){}
tong*s[50];int i=0;int j=0;
char name[20];int age,telphone,QQ;char sex;
void tong::Set()
{
cout<<"请输入姓名:"<<endl;
cin>>name;
cout<<"请输入性别:"<<endl;
cin>>sex;
cout<<"请输入年龄:"<<endl;
cin>>age;
cout<<"电话号码:"<<endl;
cin>>telphone;
cout<<"QQ号码:"<<endl;
cin>>QQ;
j++;
s[i]=new tong(name,sex,age,telphone,QQ);
i++;
}
void tong:: Delete() //(2)删除人员(Delete)
{
cout<<"请输入您要删除的学生姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
i--;
s[h]=s[h+1];
h++;
}
else cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
}
}
void tong::Alter() //(3)修改数据(Alter)
{
cout<<"请输入您要修改的学生的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
char se;int ag,qq,te;
cout<<"请输入性别:"<<endl;
cin>>se;
cout<<"请输入年龄:"<<endl;
cin>>ag;
cout<<"电话号码:"<<endl;
cin>>te;
cout<<"QQ号码:"<<endl;
cin>>qq;
s[h]->sex=se;
s[h]->age=ag;
s[h]->telphone=te;
s[h]->QQ=qq;
cout<<"数据修改成功!";
break;
}
if (i == j)
{
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
//else cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl;
}
}
void tong::List() //(4)显示记录(List)
{
cout<<"本系统所有通讯录的数据如下:"<<endl;
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<"姓名:"<<s[k]->name<<" "<<
"性别:"<<s[k]->sex<<" "<<"年龄:"<<s[k]->age
<<" "<<"电话号码:"<<s[k]->telphone<<" "<<"QQ号码:"
<<s[k]->QQ<<endl;
}
}

void tong::RearchN()
{
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
cout<<"请输入你要查询的学生姓名"<<endl;
cin>>name;
for(int j=0;j<i;j++)
{
if(strcmp(name,s[j]->name)==0)
{
cout<<"您要查询的学生是:"<<s[j]->name<<endl;
cout<<"性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
<<" "<<"QQ号码:"<<s[j]->QQ<<endl;
break;
}

// else
// cout<<"对不起!您要查询的学生不存在!"<<endl;
if (i == j)
{
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
}
}
void tong::RearchT()
{
int n;
if(i==0)
cout<<"管理系统中没有输入数据!"<<endl;
cout<<"请输入你要查询的学生的电话"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(s[j]->telphone==n)
{
cout<<"您要查询的学生是:"<<s[j]->name<<endl;
cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
<<" "<<"QQ号码:"<<s[j]->QQ<<endl;
break;
}

//else cout<<"对不起!您要查询的学生不存在!"<<endl;
}
if (i == j)
{
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
}
void tong::RearchQ()
{
int n;
if(i==0)
cout<<"管理系统中没有输入数据!"<<endl;
cout<<"请输入你要查询的学生的QQ"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(s[j]->QQ==n)
{
cout<<"您要查询的学生是:"<<s[j]->name<<endl;
cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone<<" "<<"QQ号码:"<<s[j]->QQ<<endl;
break;
}
// else
// cout<<"对不起!您要查询的学生不存在!"<<endl;
}
if (i == j)
{
cout<<"对不起!您要查询的学生不存在!"<<endl;
}
}
void caozuo(int p)
{
tong t;
switch(p)
{
case 0:t.Set();break;
case 1:t.Set();break;
case 2:t.Delete();break;
case 3:t.Alter();break;
case 4:t.List();break;
case 5:t.RearchN();break;
case 6:t.RearchT();break;
case 7:t.RearchQ();break;
case 8:exit(0);break;
}
}
int main()
{
char w;
do
{
cout<<"请输入操作代码(0 通讯录录入/1 增加人员/2 删除人员/3 修改数据/4 显示记录/ 5 按姓名查询/6 按电话查询/7 按QQ查询/8 退出)"<<endl;
int a;
cin>>a;
caozuo(a);
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
cin>>w;
}while(w=='y');
return 0;
} //利用while语句又回到了前面的循环

㈢ C++编程学生成绩管理程序最重要的是流程图

我大一的课程设计是C语言的 学生学籍管理系统 显示格式不太好 #include<stdio.h>
#include<stdlib.h>
#include<string.h>
int i,j,k,h,N;
char id,password;
FILE *fp;
struct student
{
char name[6];
int number;
char institute[10];
int birthday;
char classes[10];
int tel;
char sex[5];
char address[10];
float score0;
float score1;
float score2;
}student[30],temp,temp1;
void readin();//初始化
void pass();//身份验证
void newpass();
void delwork();//删除
void putin();//添加
void rework();//修改
void compositor();//排序
void compositor0();
void compositor1();
void compositor2();
void average();//平均值
//void star();//分数统计
void sortbycmark();
void sortbygmark();
void sortbyymark();
void read();//打印数据
void search();//数据查询
void search1();//按学号查询
void search2();//按姓名查询
void main()
{
pass();
int a;
do
{
printf(" **************************************************************\n");
printf(" * 学生学籍管理系统 *\n");
printf(" * *\n");
printf(" * 1-----------数据初始化 2-----------数据修改 *\n");
printf(" * *\n");
printf(" * 3-----------数据删除 4-----------添加数据 *\n");
printf(" * *\n");
printf(" * 5-----------计算平均值 6-----------打印数据 *\n");
printf(" * *\n");
printf(" * 7-----------数据排序 8-----------数据查询 *\n");
printf(" * *\n");
printf(" * ☆★☆★☆★☆★☆★ 0-----------保存退出 *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * 按数字键选择相应程序 *\n");
printf(" **************************************************************\n");
printf("Choose a number please:\n");
scanf("%d",&a);
switch(a)
{
case 1:readin();break;
case 2:rework();break;
case 3:delwork();break;
case 4:putin();break;
case 5:average();break;
case 6:read();break;
case 7:compositor();break;
case 8:search();break;
case 0:printf("您可以安全的退出了!\n");exit(0);break;
};
}while(1);
}
void pass()
{
int a,b;
id=123,password=123;
printf("Input your id please:\n");
scanf("%d",&a);
if(a==id)
{
printf("Input your password please:\n");
scanf("%d",&b);
if(b==password)
printf("Welcome!\n");
else
{
printf("You have input a wrong password!\n");
printf("Input your password please:\n");
scanf("%d",&b);
if(b==password)printf("Welcome\n");
else exit(0);
}
}
else
{
printf("You have input a wrong id!\n");
printf("Input your id please:\n");
scanf("%d",&a);
if(a==id)
{
printf("Input your password please:\n");
scanf("%d",&b);
if(b==password)printf("Welcome!\n");
else
{
printf("You have input a wrong password!\n");
printf("Input your password please:\n");
scanf("%d",&b);
if(b==password)printf("Welcome\n");
else exit(0);
}
}
else exit(0);
}
}
void readin()
{
FILE *fp;
char a;
printf("初始化将会使您丢失原有数据,是(y)否(n)继续?");
scanf("%s",&a);
while(a!='n')
{
if((fp=fopen("c://work.txt","w"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
printf("请输入您要初始化的学生总数:\n");
scanf("%d",&h);
fprintf(fp,"%d",h);
fprintf(fp,"\n");
printf("请输入姓名 学号 学院 班级 生日 性别 电话 住址 c语言成绩 高数成绩 英语成绩:\n");
for(i=0;i<h;i++)
{
fscanf(stdin,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
fprintf(fp,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
}
fclose(fp);
break;
}
}
void search()
{
int a;
printf("1----按学号查询 2----按姓名查询\n");
scanf("%d",&a);
switch(a)
{
case 1:search1();break;
case 2:search2();break;
}
}
void search1()//按学号查询
{
int a,b=0;
printf("请输入学生学号:\n");
scanf("%d",&a);
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
for(i=0;i<N;i++)
if(a==student[i].number)
{
b=1;
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
break;
}
if(b=0)
{
printf("输入学号错误,请重新输入。");
printf("请输入学生学号:");
scanf("%d",&a);
for(i=0;i<N;i++)
if(a==student[i].number)
{
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
}
}
}
void search2()//按姓名查询
{
int b=0;
char a[4];
printf("请输入学生姓名:\n");
scanf("%s",&a);
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
for(i=0;i<N;i++)
if(strcmp(a,student[i].name)==0)
{
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
b=1;
break;
}
if(b=0)
{
printf("查无此人,请重新输入。");
printf("请输入学生姓名:");
scanf("%d",&a);
for(i=0;i<N;i++)
if(strcmp(a,student[i].name)==0)
{
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
}
}
}
void read()
{
char ch;
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this file!\n");
exit(0);
}
fscanf(fp,"%d",&N);
printf("学生总数为%d\n",N);
while((ch=fgetc(fp))!=EOF)
{
fputc(ch,stdout);
}
putchar('\n');
fclose(fp);
}
void putin()
{
FILE *fp;
if((fp=fopen("c://work.txt","r+"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
printf("请输入您要添加的学生总数:\n");
scanf("%d",&k);
N+=k;
rewind(fp);
fprintf(fp,"%d",N);
fclose(fp);
if((fp=fopen("c://work.txt","a"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
printf("请输入姓名 学号 学院 班级 生日 性别 电话 住址 英语成绩 高数成绩 c语言成绩:\n");
for(i=0;i<k;i++)
{
fscanf(stdin,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
fprintf(fp,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
}
fclose(fp);
}
void rework()
{
int a;
printf("请输入您要修改的学生学号:\n");
scanf("%d",&a);
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
fclose(fp);
for(i=0;i<N;i++)
{
if(a==student[i].number)
{
j=i;
printf("该生的信息为:\n");
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
printf("输入新的姓名 学号 学院 班级 生日 性别 电话 住址 c语言成绩 高数成绩 英语成绩:\n");
fscanf(stdin,"%s%d%s%s%d%s%d%s%f%f%f",temp.name,&temp.number,temp.institute,temp.classes,&temp.birthday,temp.sex,&temp.tel,temp.address,&temp.score0,&temp.score1,&temp.score2);
break;
}
}
student[j]=temp;
fp=fopen("c://work.txt","w");
fprintf(fp,"%d",N);
fprintf(fp,"\n");
for(i=0;i<N;i++)

fprintf(fp,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
}
void delwork()
{
int a;
char b;
printf("请输入您要删除的学生学号:\n");
scanf("%d",&a);
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
fclose(fp);
for(i=0;i<N;i++)
{
if(a==student[i].number)
{
j=i;
printf("该生的信息为:\n");
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
printf("删除数据将无法找回,是(y)否(n)继续?");
scanf("%s",&b);
while(b!='n')
{
for(;j<N;j++)
student[j]=student[j+1];
N--;
fp=fopen("c://work.txt","w");
fprintf(fp,"%d",N);
fprintf(fp,"\n");
for(i=0;i<N;i++)
fprintf(fp,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
fclose(fp);
printf("删除成功!\n");
break;
}
}
}
}
void average()
{
float s;
printf("请输入要计算平均值的学生学号:");
scanf("%d",&j);
if((fp=fopen("c://work.txt","r"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
for(i=0;i<N;i++)
{
if(j==student[i].number)
s=student[i].score0+student[i].score1+student[i].score2;
s/=3;
printf("%s同学三科的平均成绩为%3.1f\n",student[i].name,s);
break;
}
}
void compositor0()
{
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
if(student[i].score0<student[j].score0)
{
temp=student[i];
student[i]=student[j];
student[j]=temp;
}
for(i=0;i<N;i++)
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
break;

}

}
void compositor1()
{
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
if(student[i].score1<student[j].score1)
{
temp=student[i];
student[i]=student[j];
student[j]=temp;
}
for(i=0;i<N;i++)
fprintf(stdout,"%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
break;

}

}
void compositor2()
{
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
if(student[i].score2<student[j].score2)
{
temp=student[i];
student[i]=student[j];
student[j]=temp;
}
for(i=0;i<N;i++)
printf("%s%7d%7s%8s%8d%7s%8d%7s%7.1f%7.1f%7.1f\n",student[i].name,student[i].number,student[i].institute,student[i].classes,student[i].birthday,student[i].sex,student[i].tel,student[i].address,student[i].score0,student[i].score1,student[i].score2);
break;

}
}
void compositor()
{
int b;
printf("请输入---1按C成绩排序;---2按数学成绩排序---3按英语成绩排序");
scanf("%d",&b);
if((fp=fopen("c://work.txt","r+"))==NULL)
{
printf("Can't open this fill!");
exit(0);
}
fscanf(fp,"%d",&N);
for(i=0;i<N;i++)
fscanf(fp,"%s%d%s%s%d%s%d%s%f%f%f",student[i].name,&student[i].number,student[i].institute,student[i].classes,&student[i].birthday,student[i].sex,&student[i].tel,student[i].address,&student[i].score0,&student[i].score1,&student[i].score2);
switch(b)
{
case 1:compositor0();break;
case 2:compositor1();break;
case 3:compositor2();break;
}
fclose(fp);
}

㈣ 急求C语言 学生成绩管理系统 程序及流程图(要简单的)

要最简抄单,学生成绩袭定义一个int数组,姓名或学号定义一个char数组。定义一个变量n记录当前数组保存的学生个数,初值0。
添加学生信息就给这两个数组赋值就好了。同时n++。
要删除那你循环遍历数组,通过学生名或学号找到数组对应下标。然后把之后的数组元素往前移动一位。同时n--。
修改信息就更简单,循环遍历到对应下标直接重新赋值。
如果想复杂点,可以用结构定义学生相关信息,然后写链表创建删除和修改。这方面我之前给别人写过好几个,你可以去我回答记录里先。

㈤ 学生成绩统计程序的流程图

图显IP:
用visio画就行了

㈥ c语言学生成绩系统流程图 救命 ~~

用软件帮你分析的

你的代码咋没有头文件哦

我帮你加的哈

#include<stdio.h>

㈦ 求大神解答,急。添加程序“将学生成绩分段输出”,画出程序流程图

你这个软件已经写好了呀,还有什么需要做的呢?

㈧ C语言程序设计(学生成绩管理系统)包括流程图,

我有一个教学收费系统·和你要求的差不多·改一下就可以用了·开源的`我可以传给你·但你要先加分给分我
`

㈨ c语言帮帮忙 学生成绩管理 要用流程图描述实现算法,根据算法进行代码的编写

//biaobiao.cpp:.

//

#include"stdafx.h"

#include<stdio.h>

#include<math.h>

#include<string.h>

#defineMaxSize100

typedefstructstud

{

charname[10];

intnum;

floatc;

floatmath;

floatenglish;

floatzf;

intpnum;

intpzf;

}Stud;

voidReadFile(Studstud[],int&n)

{

FILE*fp;

longlength;

inti;

if((fp=fopen("stud.dat","rb"))==NULL){

n=0;

return;

}

fseek(fp,0,2);

length=ftell(fp);

rewind(fp);

n=length/sizeof(Stud);

if(n!=0)

n--;

else

stud[0].pnum=stud[0].pzf=-1;

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

fread(&stud[i],sizeof(Stud),1,fp);

fclose(fp);

}

voidClearup(Studstud[],int&n)

{

FILE*fp;

if((fp=fopen("stud.dat","wb"))==NULL){

printf(">>文件不能打开 ");

return;

}

stud[0].pnum=stud[0].pzf=-1;

n=0;

fclose(fp);

printf("============================================================================ ");

}

voidSaveFile(Studstud[],int&n)

{

inti;

FILE*fp;

if((fp=fopen("stud.dat","wb"))==NULL){

printf(">>文件不能打开 ");

return;

}

if(n>1)

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

fwrite(&stud[i],sizeof(Stud),1,fp);

fclose(fp);

printf("============================================================================ ");

}

voidInput(Studstud[],int&n)

{

inti;

intflag=0;

printf(">>请输入登记学生姓名学号C语言成绩数学成绩英语成绩: ");

n++;

scanf("%s%d%f%f%f",&stud[n].name,&stud[n].num,&stud[n].c,&stud[n].math,&stud[n].english);

stud[n].zf=stud[n].c+stud[n].math+stud[n].english;

for(i=0;i<=n-2;i++)

{

if(stud[i].num==stud[n].num)

{

flag=flag+1;

}

}

if(flag!=0)

printf("学号输入重复,请检查!! ");

stud[n].pnum=stud[n].pzf=0;

printf("============================================================================ ");

}

voidOutputFile(Studstud[],intn)

{

inti;

if(n<1)

{

printf(">>没任何记录 ");

return;

}

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

printf("|姓名|学号|C语言成绩|数学成绩|英语成绩|总分| ");

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

for(i=1;i<=n;i++)

{

printf("|%10s|%3d|%6.2f|%6.2f|%6.2f|%6.2f| ",stud[i].name,stud[i].num,stud[i].c,stud[i].math,stud[i].english,stud[i].zf);

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

}

}

voidDispnum(Studstud[],intn)

{ inti=2,j;

intk=stud[0].pnum;

if(n<1)

{

printf(">>没有这种记录,不能进行排序 ");

return;

}

stud[0].pnum=1;stud[1].pnum=-1;

while(i<=n)

{

j=0;

while(stud[j].pnum!=-1&&stud[stud[j].pnum].num<stud[i].num)

j=stud[j].pnum;

stud[i].pnum=stud[j].pnum;

stud[j].pnum=i;

i++;

}

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

printf("|姓名|学号|C语言成绩|数学成绩|英语成绩|总分| ");

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

while(k!=-1)

{

printf("|%10s|%3d|%6.2f|%6.2f|%6.2f|%6.2f| ",stud[k].name,stud[k].num,stud[k].c,stud[k].math,stud[k].english,stud[k].zf);

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

k=stud[k].pnum;

}

printf("============================================================================ ");

}

voidDispzf(Studstud[],intn)

{ inti=2,j;

intk=stud[0].pzf;

if(n<1)

{

printf(">>没有记录,不能进行排序 ");

return;

}

stud[0].pzf=1;stud[1].pzf=-1;

while(i<=n)

{

j=0;

while(stud[j].pzf!=-1&&stud[stud[j].pzf].zf<stud[i].zf)

j=stud[j].pzf;

stud[i].pzf=stud[j].pzf;

stud[j].pzf=i;

i++;

}

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

printf("|姓名|学号|C语言成绩|数学成绩|英语成绩|总分| ");

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

while(k!=-1)

{

printf("|%10s|%3d|%6.2f|%6.2f|%6.2f|%6.2f| ",stud[k].name,stud[k].num,stud[k].c,stud[k].math,stud[k].english,stud[k].zf);

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

k=stud[k].pzf;

}

printf("============================================================================ ");

}

voidxuehao(Studstud[],intn)

{

intnum,i,flag=0;

printf("请输入你要查询学生的学号: ");

scanf("%d",&num);

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

{

if(stud[i].num==num)

{

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

printf("|姓名|学号|C语言成绩|数学成绩|英语成绩|总分| ");

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

printf("|%10s|%3d|%6.2f|%6.2f|%6.2f|%6.2f| ",stud[i].name,stud[i].num,stud[i].c,stud[i].math,stud[i].english,stud[i].zf);

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

flag++;

}

}

if(flag==0)printf("查询操作失败,没有你要查询的学生!!! ");

elseprintf("查询操作成功!!! ");

printf("============================================================================ ");

}

voidxingming(Studstud[],intn)

{

charname[10];

inti,flag=0;

printf("请输入你要查询的学生的姓名: ");

scanf("%s",&name);

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

{

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

{

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

printf("|姓名|学号|C语言成绩|数学成绩|英语成绩|总分| ");

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

printf("|%10s|%3d|%6.2f|%6.2f|%6.2f|%6.2f| ",stud[i].name,stud[i].num,stud[i].c,stud[i].math,stud[i].english,stud[i].zf);

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

flag++;

}

}

if(flag==0)printf("查询操作失败,没有你要查询的学生!!! ");

elseprintf("查询操作成功!!! ");

printf("============================================================================ ");

}

voidModify(Studstud[],intn)

{

intNO,j;

intflag=0;

floatc,math,english;

printf("请输入你要修改学生的学号: ");

scanf("%d",&NO);

for(j=0;j<=n;j++)

{

if(stud[j].num==NO)

{

printf("请输入你要修改的学生的C语言成绩数学成绩英语成绩: ");

scanf("%f%f%f",&c,&math,&english);

stud[j].c=c;stud[j].math=math;stud[j].english=english;

stud[j].zf=stud[j].c+stud[j].math+stud[j].english;

flag++;

}

}

if(flag==0)printf("修改操作失败,该学号不存在!!! ");

elseprintf("修改操作成功!!! ");

printf("============================================================================ ");

}

voidDelete(Studstud[],int&n)

{

intNO,i,j;

intflag=0;

printf("请输入你要删除的学生的学号: ");

scanf("%d",&NO);

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

{

if(stud[i].num==NO)

{

for(j=i;j<n;j++)

stud[j]=stud[j+1];

flag++;

}

}

if(flag==0)printf("删除操作失败,该学号不存在!!! ");

else{n--;

printf("删除操作成功!!! ");

}

printf("============================================================================ ");

}

voidmain()

{ doublemmy=sin(0.0);

Studstud[MaxSize];

intk,n;

printf("欢迎使用学生成绩管理系统!!! ");

printf("============================================================================ ");

ReadFile(stud,n);

do{

printf("1:学生登记2:显示学生信息 ");

printf("3:清空记录4:删除记录 ");

printf("5:按学号排序输出6:按总分排序输出 ");

printf("7:学号查询8:姓名查询 ");

printf("9:修改0:储存退出 ");

printf("请选择相应的功能:");

scanf("%d",&k);

if(k>9&&k<0)printf("操作不当,请重新输入: ");

switch(k)

{

case1:Input(stud,n);

break;

case2:OutputFile(stud,n);

break;

case3:Clearup(stud,n);

break;

case4:Delete(stud,n);

break;

case5:Dispnum(stud,n);

break;

case6:Dispzf(stud,n);

break;

case7:xuehao(stud,n);

break;

case8:xingming(stud,n);

break;

case9:Modify(stud,n);

break;

case0:SaveFile(stud,n);

break;

}

}while(k!=0);

}

效果图:

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