c语言简单的学生成绩管理系统

作者&投稿:慕艳 (若有异议请与网页底部的电邮联系)
用c语言实现一个简单的学生成绩管理系统,包括:学号,姓名,科目,成绩~

//用字符界面实现,比如按数字1,可以录入学生所有信息;//按数字2,显示所有学生成绩;//按数字3,进入查询,按学号或姓名查询该学生是否存在,如果存在显示他的所有信息,///否则给出不存在提示。#include struct student{ char num[6]; /*学号*/ char name[10]; char subject[20]; /*科目*/ float grade;}stu[10];void menu(){ printf("====================================
"); printf("| 学生成绩管理系统 |
"); printf("| 1 输入学生成绩 |
"); printf("| 2 输出学生成绩 |
"); printf("| 3 查询学生成绩 |
"); printf("| 0 退出管理系统 |
"); printf("====================================
");}void input(){ for(int i=0;i<10;i++) scanf("%s%s%s%f",stu[i].num,stu[i].name,stu[i].subject,&stu[i].grade);}void show(){ printf("学号姓名科目成绩
"); for(int i=0;i<10;i++) printf("%s%s%s%f
",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade);}void serach(){ char obj[10]; printf("输入要查询的学号"); scanf("%s",obj); for(int i=0;i<10;i++) { if(strcmp(obj,stu[i].num)) { printf("学号姓名科目成绩
"); printf("%s%s%s%f
",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade); } } }int main(){ int selection; while(true) { clrscr(); menu(); printf("请选择0--3: "); scanf("%d",&selection); switch(selection) { case 1: input();break; case 2: show();break; case 3: search();break; case 0: exit(0);break; default: printf("错误的输入,请重新输入:"); } } return 0;}

程序如下: #include
void main()
{
float student[100][7];
//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,
//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名
int n,i,j,k,p,t,count,flag;
int a[100],b[100],c[100];
//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据
printf("输入学生的个数:
");
scanf("%d",&n);
for(i=0;i<=n-1;i++)
{
printf("输入第%d个学生的学号:",i+1);
scanf("%f",&student[i][0]);
for(j=0,student[i][5]=0;j<=3;j++)
{
printf("输入第%d个学生的第%d门成绩:",i+1,j+1);
scanf("%f",&student[i][j+1]);
student[i][5]+=student[i][j+1]; //计算总分
}
b[i]=student[i][5]; //把总分再赋给b[]数组,以后排序用
student[i][6]=student[i][5]/4; //计算平均分
}

for(i=0;i<=n-2;i++) //对数组b[](即总分)进行排序
for(j=0;j<=n-2-i;j++)
{
if(b[j]<b[j+1])
{
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
for(i=0,k=0;i<=n-1;i++)//用数组a[]取得排序后总分的下标
{
for(j=0,flag=0;j<=n-1;j++)
{
if(b[i]==student[j][5])
{
if(0==k) //如果数组a[]中有零个元素,就把j直接赋给a[]
{
a[k]=j;
k++;
flag=1;
}
else //如果数组a[]中有元素了,则判断
{
for(p=0;p<=k-1;p++)
if(a[p]!=j)
{
a[k]=j;
k++;
flag=1;
break;
}
}
}
if(1==flag)
break;
}
}
for(count=1,i=0;i<=n-1;i++) //对c[](排名)进行处理
{
if(b[i]==b[i+1])
{
c[i]=count;
}
else
if(b[i]>b[i+1])
{
c[i]=count;
count++;
}
}
printf("
以下是统计结果:
");
printf("学号 s[1] s[2] s[3] s[4] 总分 平均分 排名
");
for(i=0;i<=n-1;i++)
{
printf("%.0f%.0f%.0f%.0f%.0f%.0f%f%d
",student[a[i]][0],student[a[i]][1],student[a[i]][2],student[a[i]][3],student[a[i]][4],student[a[i]][5],student[a[i]][6],c[i]);
}
} 有疑问提出

#include <iostream>
#include <string.h>
#include <ctime>
#include <conio.h>
using namespace std;
struct student //定义学生类
{
int num; //学号
char name[8]; //姓名
char classes[20]; //班别
int math,english,computer,sum; //数学,英语,计算机,平均总成绩
};
int s=0; //全局变量
class student1
{
private:
student stu[40]; //结构体变量
char name, classes;
int num;
int math,english,computer,sum;
public:
void input(int, char *, char *, int, int, int);
void output(int);
int check(int stu_num)
{
int m=0;
while(m<=s+1)
if(stu_num==stu[m++].num)
{
return 1;
break;
}
if(m>s+1)
return 0;
else
return 1;
}
void search(int);
void search1(int);
void deleted(int);
void deleted1(int);
void desc(int);
void desc1(int);
void desc2(int);
};
void student1::input(int stu_num,char *stu_name, char *stu_classes, int stu_math, int stu_english, int stu_computer) //输入模块
{
stu[s].num=stu_num;
strcpy(stu[s].name, stu_name);
strcpy(stu[s].classes, stu_classes);
stu[s].math=stu_math;
stu[s].english=stu_english;
stu[s].computer=stu_computer;
}
void student1::output(int s) //输出模块
{
cout << s << "\t";
cout << stu[s].num << "\t";
cout << stu[s].name << "\t";
cout << stu[s].classes << "\t";
cout << stu[s].math << "\t\t";
cout << stu[s].english << "\t\t";
cout << stu[s].computer << "\t\n";
}
void student1::search(int s) //查找模块
{
int stu_num,p;
while (s==0)
{
cout <<"没有记录,请先输入记录!" <<endl;
break;
}
if (s!=0)
{
cout << "请输入你要查找的学号:";
cin >> stu_num;
while (stu_num<100000 || stu_num>999999) //判断学号是否正确
{
cin.clear();
rewind(stdin);
cout << "你输入的学号不正确,请输入一个六位数的学号" << endl;
cin >> stu_num;
}
while (s!=0) //查找是否有符合条件的记录
{
p=1;
if (stu_num==stu[s].num)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" << endl;
cout << stu[s].num << "\t";
cout << stu[s].name << "\t";
cout << stu[s].classes << "\t";
cout << stu[s].math << "\t\t";
cout << stu[s].english << "\t\t";
cout << stu[s].computer << "\t\n";
getch();
break;
}
else
p=0;
s--;
}
if (p==0)
cout << "没有找到你要查找的记录!" << endl;
}
getch();
}
void student1::search1(int s) //按姓名查找模块
{
char stu_name[8],p;
while (s==0)
{
cout <<"没有记录,请先输入记录!" <<endl;
break;
}
if (s!=0)
{
cout << "请输入你要查找的姓名:";
cin >> stu_name;
while (s!=0) //查找是否有符合条件的记录
{
p=1;
if (strcmp(stu_name, stu[s].name)==0)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" << endl;
cout << stu[s].num << "\t";
cout << stu[s].name << "\t";
cout << stu[s].classes << "\t";
cout << stu[s].math << "\t\t";
cout << stu[s].english << "\t\t";
cout << stu[s].computer << "\t\n";
getch();
break;
}
else
p=0;
s--;
}
if (p==0)
cout << "没有找到你要查找的记录!" << endl;
}
getch();
}
void student1::deleted(int n) //删除模块
{
int stu_num,p;
char yes;
while (s==0)
{
cout << "没有记录,请先输入记录!" << endl;
break;
}
if (s!=0)
{
cout << "请输入要删除的学号:";
cin >> stu_num;
while (stu_num<100000 || stu_num>999999)
{
cin.clear();
rewind(stdin);
cout << "你输入的学号不正确,请输入一个六位数的学号" << endl;
cout << "学号:";
cin >> stu_num;
}
for (int i=1;i<=n;i++)
{
if (stu[i].num!=stu_num)
p=0;
if (stu[i].num==stu_num)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" <<endl;
cout << stu[i].num << "\t";
cout << stu[i].name << "\t";
cout << stu[i].classes << "\t";
cout << stu[i].math << "\t\t";
cout << stu[i].english << "\t\t";
cout << stu[i].computer << endl;
cout << "你确定要删除此学生记录吗?(y/n)";
cin >> yes;
if (yes == 'y' || yes == 'Y')
{
for (int j=1; j<=n-1; j++) //删除记录
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name, stu[j+1].name);
strcpy(stu[j].classes, stu[j+1].classes);
stu[j].math=stu[j+1].math;
stu[j].english=stu[j+1].english;
stu[j].computer=stu[j+1].computer;
}
cout << "学生记录删除成功" <<endl;
s=s-1;
p=1;
break;
}
else
{
cout << "学生记录删除失败" << endl;
p=1;
}
}
}
if (p==0)
cout << "没有找到你要查找的记录!" <<endl;
}
getch();
}
void student1::deleted1(int n) //按姓名删除模块
{
char stu_name[8],p;
char yes;
while (s==0)
{
cout << "没有记录,请先输入记录!" << endl;
break;
}
if (s!=0)
{
cout << "请输入要删除的姓名:";
cin >> stu_name;
for (int i=1;i<=n;i++)
{
if (strcmp(stu[i].name, stu_name)<0 || strcmp(stu[i].name, stu_name)>0)
p=0;
if (strcmp(stu[i].name, stu_name)==0)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" <<endl;
cout << stu[i].num << "\t";
cout << stu[i].name << "\t";
cout << stu[i].classes << "\t";
cout << stu[i].math << "\t\t";
cout << stu[i].english << "\t\t";
cout << stu[i].computer << endl;
cout << "你确定要删除此学生记录吗?(y/n)";
cin >> yes;
if (yes == 'y' || yes == 'Y')
{
for (int j=1; j<=n-1; j++) //删除记录
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name, stu[j+1].name);
strcpy(stu[j].classes, stu[j+1].classes);
stu[j].math=stu[j+1].math;
stu[j].english=stu[j+1].english;
stu[j].computer=stu[j+1].computer;
}
cout << "学生记录删除成功" <<endl;
s=s-1;
p=1;
break;
}
else
{
cout << "学生记录删除失败" << endl;
p=1;
}
}
}
if (p==0)
cout << "没有找到你要查找的记录!" <<endl;
}
getch();
}
void student1::desc1(int s) //按学号排序
{
int temp;
int sum[40];
while (s==0)
{
cout << "没有记录,请先输入记录!" <<endl;
break;
}
if (s!=0)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" <<endl;
for (int k=1;k<=s;k++)
sum[k]=stu[k].num;
for (int i=1;i<=s;i++) //利用冒泡法对sum[]进行排序
for (int j=1;j<=s-i;j++)
if (sum[j]>sum[j+1])
{
temp=sum[j];
sum[j]=sum[j+1];
sum[j+1]=temp;
}
for (int x=1;x<=s;x++) //输出与sum[]中相同总分所对应的内容
for (int y=1;y<=s;y++)
if (sum[x]==stu[y].num)
{
cout << stu[y].num << "\t";
cout << stu[y].name << "\t";
cout << stu[y].classes << "\t";
cout << stu[y].math << "\t\t";
cout << stu[y].english << "\t\t";
cout << stu[y].computer << "\t\t";
cout << endl;
}
}
getch();

}
void student1::desc2(int s) //按姓名排序
{
char sum[40][8];
char temp[8];
while (s==0)
{
cout << "没有记录,请先输入记录!" <<endl;
break;
}
if (s!=0)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t" <<endl;
for (int k=1;k<=s;k++)
strcpy(sum[k], stu[k].name);
for (int i=1;i<=s;i++) //利用冒泡法对sum[]进行排序
for (int j=1;j<=s-i;j++)
if (strcmp(sum[j], sum[j+1])>0)
{
strcpy(temp, sum[j]);
strcpy(sum[j], sum[j+1]);
strcpy(sum[j+1], temp);
}
for (int x=1;x<=s;x++) //输出与sum[]中相同总分所对应的内容
for (int y=1;y<=s;y++)
if (strcmp(sum[x], stu[y].name)==0)
{
cout << stu[y].num << "\t";
cout << stu[y].name << "\t";
cout << stu[y].classes << "\t";
cout << stu[y].math << "\t\t";
cout << stu[y].english << "\t\t";
cout << stu[y].computer << "\t\t";
cout << endl;
}
}
getch();
}
void student1::desc(int s) //平均成绩排序模块
{
int temp;
int sum[40];
while (s==0)
{
cout << "没有记录,请先输入记录!" <<endl;
break;
}
if (s!=0)
{
cout << "学号\t姓名\t班级\t数学成绩\t英语成绩\t计算机成绩\t平均成绩" <<endl;
for (int k=1;k<=s;k++)
{
sum[k]=(stu[k].math+stu[k].english+stu[k].computer)/3; //平均成绩
stu[k].sum=(stu[k].math+stu[k].english+stu[k].computer)/3;
}
for (int i=1;i<=s;i++) //利用冒泡法对sum[]进行排序
for (int j=1;j<=s-i;j++)
if (sum[j]<sum[j+1])
{
temp=sum[j];
sum[j]=sum[j+1];
sum[j+1]=temp;
}
for (int x=1;x<=s;x++) //输出与sum[]中相同总分所对应的内容
for (int y=1;y<=s;y++)
if (sum[x]==stu[y].sum)
{
cout << stu[y].num << "\t";
cout << stu[y].name << "\t";
cout << stu[y].classes << "\t";
cout << stu[y].math << "\t\t";
cout << stu[y].english << "\t\t";
cout << stu[y].computer << "\t\t";
cout << stu[y].sum << endl;
}
}
getch();
}
int main(int argc, char *argv[])
{
student1 st;
char yes,choice;
char *name,*classes;
int math, english, computer, num;
time_t t;
time(&t);
while (1)
{
system("cls");
cout<< "\t--------------------------学生成绩管理系统--------------------------"<<endl;
cout<< "\t\t\t时间:" << ctime(&t);
cout<<"--------------------------------------------------------------------------------\n"
<<" 1.增加学生成绩记录\n"
<<" 2.显示学生成绩记录\n"
<<" 3.查询学生成绩记录——按学号\n"
<<" 4.查询学生成绩记录——按姓名\n"
<<" 5.删除学生成绩记录——按学号\n"
<<" 6.删除学生成绩记录——按姓名\n"
<<" 7.排序学生成绩记录——按学号\n"
<<" 8.排序学生成绩记录——按姓名\n"
<<" 9.排序学生成绩记录——按平均成绩\n"
<<" 0.退出学生成绩管理系统\n"
<<"--------------------------------------------------------------------------------\n";
cout<<"提示:按0-6进行选择您要的服务";
cin >> choice;
t:
if (choice=='0')
break;
switch(choice)
{
case '1':
{
last:
cout << "请依次输入学生的学号,姓名,班级,数学成绩,英语成绩,计算机成绩——学号为6位数字"<<endl;
name = new char[];
classes =new char[];
cin >> num >> name >> classes >> math >> english >> computer;
while (num<10000 || num>999999)
{
cin.clear();
rewind(stdin);
cout << "学号必须为6位数字,请重新输入学生信息" << endl;
cin >> num >> name >> classes >> math >> english >> computer;
}
while (st.check(num)) //调用CHECK模块判断学号是否重复
{
cin.clear();
cout << "学号重复,请重输入!" << endl;
cout << "学号:";
cin >> num;
}
s=s+1;
st.input(num,name,classes,math,english,computer);
cout << "是否要继续输入?(y/n)";
cin >> yes;
while (yes == 'y' || yes == 'Y')
{
goto last;
}
getch();
};break;
case '2':
{
if (s==0) //判断是否有记录输入
{
cout << "没有学生记录,请先输入记录!" << endl;
getch();
break;
}
if (s!=0)
{
cout << "序号" << "\t";
cout << "学号" << "\t";
cout << "姓名" << "\t";
cout << "班级" << "\t";
cout << "数学成绩" << "\t";
cout << "英语成绩" << "\t";
cout << "计算机成绩" << "\t";
for (int i=1;i<=s;i++)
st.output(i);
getch();
}
};break;
case '3':st.search(s);break;
case '4':st.search1(s);break;
case '5':st.deleted(s);break;
case '6':st.deleted1(s);break;
case '7':st.desc1(s);break;
case '8':st.desc2(s);break;
case '9':st.desc(s);break;
default:
{
while (choice=='0'||choice>'6')
{
cout << "错误选项, 请重新选择!" << endl;
cin >> choice;
}
goto t;
}break;
}
}
cout << "谢谢您的使用!" << endl;
return 0;
}

你再简单得改改就行了

这个肯定是好用 的
#include<iostream>
#include<fstream>
#include<string>
using namespace std;

class StudBase
{
public:
StudBase(){}
void enter();
void show();
protected:
string number;
string name;
char* sex;
int age;
string major;
};

void StudBase::enter()
{
cout<<"请输入学生基本信息:";
cout<<endl<<"number:";
cin>>number;
cout<<"name:";
cin>>name;
cout<<"sex:";
sex=new char[10];
cin>>sex;
cout<<"age:";
cin>>age;
cout<<"major:";
cin>>major;
return;
}

void StudBase::show()
{
cout<<"学生基本信息为:"<<endl;
cout<<"number"<<"\t"<<"name"<<"\t"<<"sex"<<"\t"<<"age"<<"\t"<<"major"<<endl;
cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<age<<"\t"<<major<<endl;
return;
}

class Major:virtual public StudBase
{
public:
void gmajsco();
void pmajsco();
float majaverage(){return (majave=(Maj_score[0]+Maj_score[1]+Maj_score[2])/3);} //求主修平均分
protected:
float Maj_score[3];
float majave;
};

void Major::gmajsco()
{
cout<<"请输入主修的三门成绩:";
for(int i=0;i<3;i++){
cin>>Maj_score[i];
}
return;
}

void Major::pmajsco()
{
cout<<"主修三门成绩为:"<<endl;
cout<<"major 1"<<"\t"<<"major 2"<<"\t"<<"major 3"<<endl;
cout<<Maj_score[0]<<"\t"<<Maj_score[1]<<"\t"<<Maj_score[2]<<endl;
return;
}

class Minor:virtual public StudBase
{
public:
void gminsco();
void pminsco();
float minaverage(){return (minave=(Min_score[0]+Min_score[1])/2);} //求辅修平均分
protected:
float Min_score[2];
float minave;
};

void Minor::gminsco()
{
cout<<"请输入辅修的两门成绩:";

cin>>Min_score[0]>>Min_score[1];
return;
}

void Minor::pminsco()
{
cout<<"辅修的两门成绩为:"<<endl;
cout<<"minor 1"<<"\t"<<"minor 2"<<endl;
cout<<Min_score[0]<<"\t"<<Min_score[1]<<endl;
return;
}

class Student:public Major,public Minor
{
public:
Student(){};
void average(); //求总平均分
void find(string);
void get_from_file(); //从文件提取信息
void save_to_file(); //保存到文件
float reave(){return ave;} //返回总平均值
friend ostream& operator <<(ostream& out,Student& obj)
{
obj.show();
obj.pmajsco();
obj.pminsco();
obj.average();
return out;
}
private:
float ave;
};

Student stud[10];
Student* ptr[10];
ifstream infile;

void Student::save_to_file()
{
ofstream outfile("file.dat",ios::out|ios::app);
if(!outfile)
{
cerr<<"open file.dat error!"<<endl;
exit(1);
}
cout<<"number:"; cin>>number;
outfile<<number<<endl;
cout<<"name:"; cin>>name;
outfile<<name<<endl;
cout<<"sex:";
sex=new char[10];
cin>>sex;
outfile<<sex<<endl;
cout<<"age:"; cin>>age;
outfile<<age<<endl;
cout<<"major:"; cin>>major;
outfile<<major<<endl;
cout<<"请输入主修的三门成绩:";
for(int s=0;s<3;s++){
cin>>Maj_score[s];
outfile<<Maj_score[s]<<" ";
}
outfile<<endl;
cout<<"请输入辅修的两门成绩:";
for(int g=0;g<2;g++){
cin>>Min_score[g];
outfile<<Min_score[g]<<" ";
}
outfile<<endl;
outfile.close();
return;
}

void Student::get_from_file()
{

if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
infile>>number;
infile>>name;
sex=new char[10];
infile>>sex;
infile>>age;
infile>>major;
for(int a=0;a<3;a++){infile>>Maj_score[a];}
for(int b=0;b<2;b++){infile>>Min_score[b];}

return;
}

void Student::average()
{
ave=(Maj_score[0]+Maj_score[1]+Maj_score[2]+Min_score[0]+Min_score[1])/5;
cout<<"平均成绩为:"<<ave<<endl;
return;
}
int flag=0;
void Student::find(string str)
{

if((str==name)||(str==number)){
cout<<(*this);
flag=1;
}

return;
}

void bubble1(Student* p[],int length)
{
int segment;
int loop;
Student* temp;
for(segment=0;segment<=length-2;segment=segment+1){
for(loop=length-2;loop>=segment;loop=loop-1){
if((*p[loop]).majaverage()<(*p[loop+1]).majaverage()){
temp=p[loop];
p[loop]=p[loop+1];
p[loop+1]=temp;
}
}
}
return;
}

void bubble2(Student* p[],int length)
{
int segment;
int loop;
Student* temp;
for(segment=0;segment<=length-2;segment=segment+1){
for(loop=length-2;loop>=segment;loop=loop-1){
if((*p[loop]).minaverage()<(*p[loop+1]).minaverage()){
temp=p[loop];
p[loop]=p[loop+1];
p[loop+1]=temp;
}
}
}
return;
}

void bubble3(Student* p[],int length)
{
int segment;
int loop;
Student* temp;
for(segment=0;segment<=length-2;segment=segment+1){
for(loop=length-2;loop>=segment;loop=loop-1){
if((*p[loop]).reave()<(*p[loop+1]).reave()){
temp=p[loop];
p[loop]=p[loop+1];
p[loop+1]=temp;
}
}
}
return;
}

int main()
{
int n=0,j=0,b;
int choice;
for(int r=0;r<10;r++){
ptr[r]=&stud[r];
}
cout<<"选择要进行的操作:"<<endl;
cout<<"1.输入学生信息"<<endl;
cout<<"2.输出学生信息"<<endl;
cout<<"3.保存到文件file"<<endl;
cout<<"4.输出文件信息"<<endl;
cout<<"5.查询学生信息"<<endl;
cout<<"6.统计学生成绩"<<endl;
cout<<"7.学生成绩排序(从高至低)"<<endl;
cout<<"0.退出."<<endl;
while(cin>>choice,choice!=0)
{
switch(choice){
case 1:
while(1){
stud[n].enter();
stud[n].gmajsco();
stud[n].gminsco();
n++;
cout<<"输入成功!"<<endl;
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 2:
while(1){
for(int i=0;i<n;i++){
stud[i].show();
stud[i].pmajsco();
stud[i].pminsco();
stud[i].average();
}
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 3:
while(1){
stud[j].save_to_file();
j++;
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 4:
while(1){
int f;
cout<<"请输入需要从文件输出对象信息的个数: ";
cin>>f;
infile.open("file.dat",ios::in);
for(int k=0;k<f;k++){
stud[k].get_from_file();
cout<<endl<<stud[k];
n++;
}
infile.close();
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag=='n') break;
}
break;
case 5:
while(1){
cout<<"请输入需要查询的学生姓名或学号:"<<endl;
string st;
cin>>st;
cout<<"查询结果为:"<<endl;
for(int p=0;p<n;p++){
stud[p].find(st);
}
if(flag==0){
cout<<"查无此人!"<<endl;
}
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 6:
while(1){
float sum=0.0;
cout<<"所有学生平均分为:"<<endl;
for(int w=0;w<n;w++){
sum=sum+stud[w].reave();
}
cout<<(sum/n)<<endl;
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 7:
while(1){
int choice2;
cout<<"1.按主修平均成绩"<<endl;
cout<<"2.按辅修平均成绩"<<endl;
cout<<"3.按总平均成绩"<<endl;
cin>>choice2;
switch(choice2){
case 1:
bubble1(ptr,n);
for(b=0;b<n;b++){
cout<<(*ptr[b])<<endl;
}
break;
case 2:
bubble2(ptr,n);
for(b=0;b<n;b++){
cout<<(*ptr[b])<<endl;
}
break;
case 3:
bubble3(ptr,n);
for(b=0;b<n;b++){
cout<<(*ptr[b])<<endl;
}
}
char flag;
cout<<"是否继续?(y/n): ";
cin>>flag;
if(flag!='y') break;
}
break;
case 0:
break;
}
cout<<endl<<"1.输入学生信息"<<endl;
cout<<"2.输出学生信息"<<endl;
cout<<"3.保存到文件file"<<endl;
cout<<"4.输出文件信息"<<endl;
cout<<"5.查询学生信息"<<endl;
cout<<"6.统计学生成绩"<<endl;
cout<<"7.学生成绩排序(从高至低)"<<endl;
cout<<"0.退出."<<endl;
}
return 0;
}


学生成绩管理系统C语言编程
C语言课程设计报告---学生成绩简单管理程序一、系统菜单的主要功能(1)输入若干条记录(2)显示所有记录(3)按学号排序(4)插入一条记录(5)按姓名查找,删除一条记录(6)查找并显示一条记录(7)输出统计信息 (新增)(8)从正文中添加数据到结构体数组中(9)将所有数据写入文件中(0)退出程序二、题目分析该题主要考察...

c语言输入10个学生的成绩,输出最高分和最低分.编写函数max求最高分...
{ if(fenshu[i] < min){ min = fenshu[i];} } return min;} int main(){ int fenshu[10];printf("请输入十个整数(0~100)\\n");for(int i = 0; i < 10;i ++){ scanf("%d",&fenshu[i]);} printf("最高分数是%d,最低分数是%d",max(fenshu),min(fenshu));} ...

用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩
你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下。include <iostream> using namespace std;int main(){ int s [10], i, j, t;cout << "输入10个数:";for (i = 0; i < 10; i++){ cout << "请输入第" << i+1 << "名学生的成绩;" << endl;cin >...

编写c语言程序 学生成绩管理 用简单的c程序按下图要求(别用c++)_百...
你可以直接用链表制作,给你写个函数例子 include <stdio.h>#include <string.h>#include <stdlib.h>#include "listpointer.h"#define MALLOC(type,size)(type*)malloc(sizeof(type)*size)typedef struct _Achievement{ int a; int b; int c;}Achievement;typedef struct _Student{ ...

用C语言编写一程序,统计N个学生的成绩信息。
printf("请输入每个学生的信息:\\n");for(i=0;i<n;i++){ printf("第%d个学生:\\n",i+1);stud[i].mc=i+1;printf("输入学号:");scanf("%d",&stud[i].number);printf("输入姓名:");scanf("%s",stud[i].name);printf("输入数学成绩:");scanf("%lf",&stud[i].math);printf(...

c语言成绩管理系统
printf("\\n===>提示:没有找到该学生!\\n"); } void printc() \/* 本函数用于输出中文 *\/ { printf(" 学号\\t 姓名 性别 英语成绩 数学成绩 C语言成绩 总分 平均分\\n"); } void printe(Node *p)\/* 本函数用于输出英文 *\/ { printf("%-12s%s\\t%s\\t%d\\t%d\\t%d\\t %d\\t %d\\n",p->data...

用C语言 设计实现学生成绩管理软件
要求如下,本人是知道的菜鸟,没有多少积分,把全部的积分都给各位大虾了,C语言的牛人抓进来做啊,跪谢了!参考下面的数据,用C\/C++设计一个简单的学生成绩管理软件,实现基本的功能... 要求如下,本人是知道的菜鸟,没有多少积分,把全部的积分都给各位大虾了,C语言的牛人抓进来做啊,跪谢了!参考下面的数据,用C\/C++...

关于学生成绩的C语言结构数组简单问题
\/\/循环输入学生信息 保存到结构数组 stu[MAX]里面。do { printf("\\n请入学号:");scanf("%d",&stu[i].num);printf("\\n请输入姓名:");fflush(stdin);gets(stu[i].name);printf("\\n三门课的成绩:");printf("\\n成绩1:");scanf("%f",&stu[i].score.a);printf("\\n成绩2:");...

...成绩信息(不低于20人),要求用C语言编写一个简单的成绩管
printf("请输入学生语文成绩:\\n");scanf("%d",&(newStudent->score[0]));printf("请输入学生数学成绩:\\n");scanf("%d",&(newStudent->score[1]));printf("请输入学生英语成绩:\\n");scanf("%d",&(newStudent->score[2]));printf("请输入学生计算机成绩:\\n");scanf("%d",&(new...

C语言编程,从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值...
struct student { char no[10];char name[10];float score[3];}stu[MAX];float ave_course[3] = {0};float ave_student[MAX] = {0};int max_ave_i = 0; \/\/ 存储平均分最高的学生索引 int max_course_i[3] = {0}; \/\/存储单科分数,最高的学生索引 \/\/ 录入学生成绩 voi...

龙港区13379335483: 编程如何用C语言编写一个学生成绩管理系统程序 -
端使舒林: 我们才做了这个作业... #include <malloc.h> #include <stdio.h> #include <stdlib.h> #define LEN sizeof(struct scorenode) #define DEBUG #include <string.h> struct scorenode { int number;/*学号*/ char name[8];/*姓名*/ float cj1;/*成绩1*/ ...

龙港区13379335483: 求用C语言中最简单的代码编写学生成绩管理系统 -
端使舒林: #include "View.h" //导入视图类 #include//导入标准IO库 int main(void) { View NewView; //显示类 NewView.SetSoftVersion("1.01"); //设置版本 int nState = 0; while(1) { switch(NewView.GetnActionState()) { case 0: return 0; } 这是我在很...

龙港区13379335483: 怎么用c语言编写一个学生成绩管理系统啊?急…… -
端使舒林: C语言课程设计报告-------学生成绩简单管理程序 一、系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找,删除一条记录 (6)查找并显示一条记录 (7)输出统计信息 (新增)...

龙港区13379335483: C语言设计简单的成绩管理系统 -
端使舒林: vc++ 6.0平台编译#include<stdio.h>#include<string.h>#define N 100 struct student { char name[N]; int math; int en; int ch; int av; }stu[N]; void main() { int i,j,k; char a; char n[N]; struct student *p; struct student temp; p=stu; for(i=0;i<101;i++,p++) { ...

龙港区13379335483: 用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(" 请输入密码!...

龙港区13379335483: c语言:学生成绩简单管理程序 -
端使舒林: 给你一个模板吧:#include"stdio.h"#include"stdlib.h"#include"string.h"#include#include typedef struct list { ...

龙港区13379335483: 用C语言完成学生成绩管理系统 -
端使舒林: #include<stdio.h> #include<conio.h> #include <stdlib.h> #include<string.h> #define MAX 100void input(); void sort(); void show(); void del(); void quit(); int i=0; int k,j; char ch;struct student {int no;char name[20];float score1;float score2;float ...

龙港区13379335483: 如何用C语言编一个学生成绩管理系统 -
端使舒林: #include "stdio.h"#include "stdlib.h"#include "string.h"#define NULL 0 int shoudsave=0; struct student { char num[10]; char name[20]; char sex[4]; int cgrade; int mgrade; int egrade; int totle; int ave; char neartime[10]; }; typedef struct node { ...

龙港区13379335483: C语言实训题:简单学生成绩管理系统
端使舒林: #include"stdio.h" #include"conio.h" #include"string.h" int main() { }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网