学生成绩管理程序设计答辩怎么写
『壹』 学生成绩管理程序设计怎么写
具体点,用什么语言
这有个C++的例子
#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
class student
{ private:
char name[20]; //姓名
double cpro,english,math,sport,law,hbpro,computer;//课程
int order, number; //名次,学号
public:
student(){}
student(char n[20],int nu,double cc,double eng,double ma,double sp,double l,double hb,double com)
{strcpy(name,n);
number=nu;
cpro=cc; english=eng;math=ma;sport=sp;law=l;hbpro=hb;computer=com;
}
friend void main();
};
void main()
{
cout<<" 欢迎进入**学生成绩管理系统**!"<<endl;
cout<<" ******************************************"<<endl;
cout<<" **** 学生成绩管理系统 ****"<<endl;
cout<<" ******************************************"<<endl;
cout<<" **************************"<<endl;
cout<<" **0、输入数据 **"<<endl;
cout<<" **1、增加数据 **"<<endl;
cout<<" **2、修改数据 **"<<endl;
cout<<" **3、按姓名查询 **"<<endl;
cout<<" **4、按学号查询 **"<<endl;
cout<<" **5、输出所有学生的成绩 **"<<endl;
cout<<" **6、退出系统 **"<<endl;
cout<<" **************************"<<endl;
cout<<" 选择0-6数字进行操作"<<endl;
char p;char w;
student *s[50]; //指针对象,最多存50个学生数据
ofstream *file[50]; //负责对文件插入操作
int i=0;
int j=0;
int flag=0;
do //flag判断输入是否有效
{
cin>>p;
if((p>='0'&&p<='6'))
flag=1;
else
cout<<" 指令错误!请重新输入:"<<endl;
}while(flag==0);
do{
switch(p) //接收功能选项
{
case '0': //输入数据
{
char c;
char name[20];int number;double cpro,english,math,sport,law,hbpro,computer;
do{
cout<<" 请输入姓名:";
cin>>name;
cout<<endl<<" 请输入学号:";
cin>>number;
cout<<" 请输入C++成绩:";
cin>>cpro;
cout<<endl<<" 请输入英语成绩:";
cin>>english;
cout<<endl<<" 请输入数学成绩:";
cin>>math;
cout<<endl<<" 请输入体育成绩:";
cin>>sport;
cout<<endl<<" 请输入网络基础成绩:";
cin>>law;
cout<<endl<<" 请输入C语言成绩:";
cin>>hbpro;
cout<<endl<<" 请输入数据库成绩:";
cin>>computer;
cout<<endl;
file[j]=new ofstream("D:\\document",ios::ate);
*file[j]<<" 姓名 "<<name<<" 学号 "<<number<<" C++成绩 "<<cpro
<<" 英语成绩 "<<english<<" 数学成绩 "<<math<<" 体育成绩 "
<<sport<<" 网络基础成绩 "<<law<<" C成绩 "<<hbpro<<" 数据库成绩 "<<computer<<endl;
j++;
s[i]=new student(name, number,cpro,english,math,sport,law,hbpro,computer);
i++;
cout<<" 数据输入成功,想继续输入吗(y/n):";
cin>>c;
cout<<endl;
do
{
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
else
flag=1;
}while(flag==0);
}while(c=='y');
break;
}
case '1': //增加数据
{
char name[20];
int number;double cpro,english,math,sport,law,hbpro,computer;
char c;
do
{
cout<<" 请输入您要增加的学生的姓名:";
cin>>name;
cout<<endl<<" 请输入学号:";
cin>>number;
cout<<endl<<" 请输入C++成绩:";
cin>>cpro;
cout<<endl<<" 请输入英语成绩:";
cin>>english;
cout<<endl<<" 请输入数学成绩:";
cin>>math;
cout<<endl<<" 请输入体育成绩:";
cin>>sport;
cout<<endl<<" 请输入网络基础成绩:";
cin>>law;
cout<<endl<<" 请输入C语言成绩:";
cin>>hbpro;
cout<<endl<<" 请输入数据库成绩:";
cin>>computer;
cout<<endl;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<" 姓名 "<<name<<" 学号 "<<number<<" C++成绩 "<<cpro<<" 英语成绩 "<<english<<" 数学成绩 "<<math<<" 体育成绩 "<<sport<<" 网络基础成绩 "<<law<<" C成绩 "<<hbpro<<" 数据库成绩 "<<computer<<endl;
j++;
s[i]=new student(name, number, cpro,english,math,sport,law,hbpro,computer);
i++;
cout<<" 数据输入成功,想继续数入吗(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
}while(c=='y');
break;
}
case '2': //修改数据
{
char name[20];int nu;double cc,eng,ma,sp,l,hb,com;flag=0;
char c;
if(i==0)
{
cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do
{
cout<<" 请输入您要修改的学生的姓名:";
cin>>name;
cout<<endl;
for(int h=0;h<i;h++) //h纪录要修改学生的位置
{
if(strcmp(name,s[h]->name)==0)
{
flag=1;
cout<<" 请输入新的学号:";
cin>>nu;
cout<<endl<<" 请输入C++成绩:";
cin>>cc;
cout<<endl<<" 请输入英语成绩:";
cin>>eng;
cout<<endl<<" 请输入数学成绩:";
cin>>ma;
cout<<endl<<" 请输入体育成绩:";
cin>>sp;
cout<<endl<<" 请输入网络基础成绩:";
cin>>l;
cout<<endl<<" 请输入C语言成绩:";
cin>>hb;
cout<<endl<<" 请输入数据库成绩:";
cin>>com;
cout<<endl;
s[h]->cpro=cc;
s[h]->english=eng;
s[h]->math=ma;
s[h]->sport=sp;
s[h]->law=l;
s[h]->hbpro=hb;
s[h]->computer=com;
s[h]->number=nu;
cout<<" 数据修改成功!"<<endl;
}
}
if(flag==0)
{
cout<<" 您要修改的学生本来就不存在!请检查重新输入!"<<endl;
}
cout<<" 想继续修改吗(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl<<" ";
cin>>c;
}
}while(c=='y');
break;
}
case '3': //按姓名查询
{
char n[20];int j=0;char c;
if(i==0)
{
cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do{
int flag=0;
cout<<" 请输入你要查询的学生姓名:";
cin>>n;
cout<<endl;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<" 您要查询的学生是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的成绩是: "<<" C++: "<<(*s[j]).cpro<<" 英语: "<<(*s[j]).english<<" 数学:"<<(*s[j]).math<<" 体育:"<<(*s[j]).sport<<" 法律:"<<(*s[j]).law<<" C:"<<(*s[j]).hbpro<<" 数据库 "<<(*s[j]).computer<<endl;
}
}
if(flag==0)
cout<<" 对不起!您要查询的学生不存在!"<<endl;
cout<<" 您想继续查询吗?(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '4': //按学号查询
{
int n,j=0;char c;
if(i==0){
cout<<" 管理系统中没有输入数据!"<<endl;break;
}
do{
int flag=0;
cout<<" 请输入你要查询的学生的学号:";
cin>>n;
cout<<endl;
for(int j=0;j<i;j++)
{
if(s[j]->number==n)
{
flag=1;
cout<<" 您要查询的学生是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的成绩是: "<<" C++:"<<(*s[j]).cpro<<" 英语:"<<(*s[j]).english<<" 数学:"<<(*s[j]).math<<" 体育:"<<(*s[j]).sport<<" 法律:"<<(*s[j]).law<<" C:"<<(*s[j]).hbpro<<" 数据库 "<<(*s[j]).computer<<endl;
}
}
if(flag==0)
cout<<" 对不起!您要查询的学生不存在!"<<endl;
cout<<" 您想继续查询吗?(y/n):";
cin>>c;
cout<<endl;
if(c!='y'&&c!='n')
{
cout<<" 指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '5': //输出
{
cout<<" 本系统所有学生数据如下:"<<endl;
if(i==0)
cout<<" 管理系统中没有输入数据!"<<endl;
cout<<" 姓名 学号 c++ 英语 数学 体育 网络基础 C语言 数据库 "<<endl;
for(int k=0;k<i;k++)
{
cout<<s[k]->name<<setw(7)<<s[k]->number<<setw(6)
<<(*s[k]).cpro<<setw(6)<<(*s[k]).english<<setw(6)
<<(*s[k]).math<<setw(6)<<(*s[k]).sport<<setw(7)
<<(*s[k]).law <<setw(10)<<(*s[k]).hbpro<<setw(10)<<(*s[k]).computer<<setw(10)<<endl;
}
break;
}
case'6'://退出
{exit(0); cout<<"Bye bye!"<<endl;}
}
cout<<" 您想继续进行其他操作吗?(y/n):";
int flag=0;
do
{
cin>>w;
cout<<endl;
if(w!='y'&&w!='n')
cout<<" 指令错误!请重新输入!"<<endl;
else
flag=1;
}while(flag==0);
if(w=='y')
cout<<" 请输入操作代码:0 输入数据"<<endl;
cout<<" 1 增加数据"<<endl;
cout<<" 2 修改数据"<<endl;
cout<<" 3 按姓名查询"<<endl;
cout<<" 4 按学号查找"<<endl;
cout<<" 5 输出所有学生成绩"<<endl;
cout<<" 6 退出系统"<<endl;
cin>>p;
}while(w=='y');
}
『贰』 关于VB课程设计答辩 老师会问一些什么问题 我做的是《学生综合测评成绩管理》答辩时要注意什么
一般情况下,答辩将主要围绕论文、针对论文的内容进行提问,要求对论文作进一步的解释。答辩时,首先要准备几分钟陈述,跟评委打过招呼后,介绍题目,再说说为什么选这个题目,怎么选的题目,然后说论文结构和主要内容,也可说说用什么方法作的研究,最后说得出什么结论。
这是一般的程序,自己看论文的写作情况可以在某些不熟悉的地方进行省略,也就是避重就轻吧。
提问者的问题可能涉及论文的研究方法,数据来源,论文的局限。也可能涉及论文的不足之处,论文的错误。也可能会问到目前本领域的最新科研成果、历史上的相关学者或名人论述等等。如果对老师提出的问题不明白,可以谦虚地请求再提示。
总之,自己一定要熟悉和理解自己的论文,答辩时要能做到自圆其说,自己写的东西自己要能解释清楚,自己搞不清楚的东西就最好不要写进论文,以免不巧被问到时尴尬而影响到自信心。
答辩时还要注意,要答其所问,要讲究逻辑性。
『叁』 编写一个学生成绩管理的程序。
怎么问这么弱智的问题啊,无语………………
『肆』 简单学生成绩管理系统程序设计
看可以不咯?
#include<stdio.h>
int avgGrade(int a[50])
{
int i,sum=0,max=0,min=0;
double avg=0.0;
max=a[0];
min=a[0];
for(i=0;i<50;i++)
{
sum+=a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
avg=(double)sum/50;
printf("平均成绩为%lf,最高成绩为%d,最低成绩为%d\n",avg,max,min);
return 0;
}
int compositor(int a[50])
{
int i,j,n,temp=0;
printf("请输入您要排序的方式(0:升序,1:降序):\n");
scanf("%d",&n);
for(i=0;i<50;i++)
{
for(j=0;j<i;j++)
{
if(n==0)
{
if(a[j]>a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
else
{
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
for(i=0;i<50;i++)
{
printf("%d",a[i]);
}
}
int insertGrade(int a[50])
{
int i,n;
printf("请输入你要插入的成绩:\n");
scanf("%d",&n);
for(i=0;i<50;i++)
if(n>a[i])
{
for(s=49;s>=i;s--)
a[s+1]=a[s];
break;
}
a[i]=n;
}
int deleteGrade(int a[50])
{
int x,i,j;
printf("请输入你要删除的成绩:\n");
scanf("%d",&x);
for(i=0;i<10;i++)
{
if(a[i]==x)
for(j=i+1;j<10;j++)
a[i]=a[j];
a[j]='\0';
}
}
void main()
{
int n,i,a[50];
printf("请输入50个学生的成绩:\n");
for(i=0;i<50;i++)
{
scanf("%d",&a[i]);
}
while(1)
{
printf ("--------------------------\n");
printf ("请选择您的功能:\n\n");
printf (" 0 录入成绩\n");
printf (" 1 输出成绩\n");
printf (" 2 输出平均分、最高分、最低分\n");
printf (" 3 成绩降序或升序排列\n");
printf (" 4 插入一个成绩\n");
printf (" 5 删除用户给定的成绩\n");
printf (" 6 退出\n\n");
printf ("--------------------------\n");
scanf("%d",n);
switch(n)
{
case 0:
printf("请输入50个学生的成绩:\n");
for(i=0;i<50;i++)
{
scanf("%d",&a[i]);
}
break;
case 1:
for(i=0;i<50;i++)
{
printf("%d",a[i]);
}
break;
case 2:
avgGrade(a);
break;
case 3:
compositor(a);
break;
case 4:
insertGrade(a);
break;
case 5:
deleteGrade(a);
break;
case 6:
exit (0);
}
}
return 0;
}
『伍』 学生成绩管理程序设计 这个程序用C语言怎么写
兄弟!这个最少要写120行吧!
你给为么一点分!谁愿意给你写呀!
『陆』 学生成绩管理系统毕业答辩开场白
我们有好多,可以供你挑选
『柒』 学生成绩管理程序设计(C语言)
我有几行和你要求不太相符的代码,大部分是相同的只是没有对文件的操作,快考试了,也没时间写了,你先拿去用吧!
定有错误和低效之处,发现后,请你指出来,谢谢!!!
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#define PRIN printf("%-14s%-14s%-14.2f%-14.2f%-14.2f\n",p->num,p->name,p->ch,p->math,p->all); //输出链表
#define CLA 2
//________________定义结构体变量___________________
struct student //定义学生个人信息结构体变量
{
char num[20];//学号
char name[20];//姓名
float ch;//语文成绩
float math;//数学成绩
float all;//总分
struct student *next;
}stu;
struct sta //定义课程信息结构体变量
{
char classname[20];//课程名字
float aver;//平均分
float pass;//及格率
float top;//最高分
float low;//最低分
};
int n; //定义学生人数
//______________________________________________________主函数________________________________________________________
int main()
{
struct student *input();
void output(struct student *);
struct student *sort(struct student *);
void search(struct studdent *);
void statictics(struct student *head);
void write(struct student *);
struct student *ins(struct student *);
struct student *del(struct student *);
void quit(void);
struct student *head;
int i;
int flag=0;
printf("===============================学生成绩管理系统===============================\n");
printf(" Copyringt 1990-2010 SoftWaring\n\n");
printf("欢迎你使用本系统\n\n");
while(1)
{
printf("1.输入学生成绩\n2.输出学生成绩\n3.统计课程信息\n4.增加学生信息\n5.删除学生信息\n6.查找学生成绩\n7.退 出\n\n");
scanf("%d",&i);
fflush(stdin);
switch(i)
{
case 1:head=input();flag=1;break;
case 2:if(flag) output(head); else {printf("请先输入数据\n按任意键回到主菜单!\n\n");getch();} break;
case 3:statictics(head);break;
case 4:if(flag) head=ins(head); else {printf("请先输入数据\n按任意键回到主菜单!\n\n");getch();} break;
case 5:if(flag) head=del(head); else {printf("请先输入数据\n按任意键回到主菜单!\n\n");getch();} break;
case 6:search(head);break;
case 7:quit();
default :printf("输入错误\n请输入1-7:");
}
}
return 0;
}
//___________________________________________________输入学生成绩_____________________________________________________
struct student *input()
{
struct student *p, *pnext;
struct student *head;
int i;
printf("请输入学生人数:");
scanf("%d",&n);
head=p=pnext=(struct student *)malloc(sizeof(struct student));
for(i=0;i<n;i++) //输入学生成绩
{
p->all=0; //初始化总成绩
printf("请输入第 %d 个学生的信息\n",i+1);
printf("————————————\n\n");
printf("请输入学号:");
scanf("%s",p->num);
fflush(stdin);
printf("请输入姓名:");
scanf("%s",p->name);
fflush(stdin);
printf("请输入语文成绩:");
scanf("%f",&p->ch);
fflush(stdin);
p->all+=p->ch;
printf("请输入数学成绩:");
scanf("%f",&p->math);
fflush(stdin);
p->all+=p->math;
printf("\n");
p=(struct student *)malloc(sizeof(struct student));
pnext->next=p;
pnext=p;
}
pnext->next=NULL;
printf("\n请按任意键回到主菜单\n\n");
getch();
return sort(head);
}
//_______________________________________________________输出_________________________________________________________
void output(struct student *head)
{
struct student *p;
p=head;
printf("————————————输出学生成绩————————————\n");
printf("学号 姓名 语文 数学 总分\n\n");
while(p->next!=NULL)
{
PRIN
p=p->next;
}
printf("\n");
printf("请按任意键回到主菜单\n\n");
fflush(stdin);
getch();
}
//_______________________________________________________排序_________________________________________________________
struct student *sort(struct student *head)
{
struct student *p;
char temp[20];
float t;
int i, j;
for(i=0;i<n;i++)
{
p=head;
for(j=0;j<n-i;j++)
{
if(p->all<p->next->all)
{
strcpy(temp,p->name);
strcpy(p->name,p->next->name);
strcpy(p->next->name,temp);
strcpy(temp,p->num);
strcpy(p->num,p->next->num);
strcpy(p->next->num,temp);
t=p->math;
p->math=p->next->math;
p->next->math=t;
t=p->ch;
p->ch=p->next->ch;
p->next->ch=t;
t=p->all;
p->all=p->next->all;
p->next->all=t;
}
p=p->next;
}
}
return head;
}
//_______________________________________________________查找_________________________________________________________
void search(struct student *head)
{
struct student *p;
int i;//查询方式
int flag=0;//标志是否有此学生
char sear[20];//查询内容
printf("1.按姓名查找\n2.按学号查找\n请选择你要查找的方式:");
scanf("%d",&i);
if(i==1)
printf("请输入名字:");
else
if(i==2)
printf("请输入学号:");
else
;//有待补充完成
scanf("%s",sear);
p=head;
while(p->next)
{
if(!strcmp(sear,p->name)||!strcmp(sear,p->num))
{
if(flag==0)
{
printf("————————————查询学生成绩————————————\n");
printf("学号 姓名 语文 数学 总分\n\n");
}
PRIN
flag++;
}
p=p->next;
}
if(flag)
{
printf("\n查找完毕!\n\n");
}
else
{
printf("你查找的内容不存在\n\n");
}
printf("请按任意键回到主菜单\n\n");
getch();
}
//_________________________________________________________增加_______________________________________________________
struct student *ins(struct student *head)
{
struct student *p, *p1,*p2;
char c;
p=head;
p=(struct studnet *)malloc(sizeof(struct student));
printf("------增加学生成绩------\n\n");
while(1)
{
p->all=0;
printf("请输入学号:");
scanf("%s",p->num);
fflush(stdin);
printf("请输入姓名:");
scanf("%s",p->name);
fflush(stdin);
printf("请输入语文成绩:");
scanf("%f",&p->ch);
fflush(stdin);
p->all+=p->ch;
printf("请输入数学成绩:");
scanf("%f",&p->math);
fflush(stdin);
p->all+=p->math;
printf("\n");
n++;//增加学生个数计数器
p1=head;
while((p->all<p1->all)&&(p1->next!=NULL))
{
p2=p1;
p1=p1->next;
}
if(p->all>=p1->all)
{
if(head==p1)
head=p;
else
p2->next=p;
p->next=p1;
}
else
{
p1->next=p;
p->next=NULL;
}
printf("是否需要再增加学生(Y/任意键视为不添加)\n");
c=getch();
if(c!='Y'&&c!='y')
break;
p=(struct student *)malloc(sizeof(struct student));
}
printf("请按任意键回到主菜单\n\n");
getch();
return head;
}
//_________________________________________________________删除_______________________________________________________
struct student *del(struct student *head)
{
struct student *p1,*p2;
char delname[20];
char delnum[20];
printf("----------删除学生信息----------\n\n");
fflush(stdin);
printf("请输入学号:");
scanf("%s",delnum);
fflush(stdin);
printf("请输入姓名:");
scanf("%s",delname);
fflush(stdin);
p1=head;
while((p1->next!=NULL)&&strcmp(delname,p1->name)&&strcmp(delnum,p1->num))
{
p2=p1;
p1=p1->next;
}
if(!strcmp(delname,p1->name)&&!strcmp(delnum,p1->num))
{
if(head==p1)
head=p1->next;
else
p2->next=p1->next;
printf("已成功删除!!!\n");
n-=1;
}
else
printf("无法找到学号:%s\n 姓名:%s\n",delnum,delname);
printf("按任意键回到主菜单!\n\n");
getch();
return head;
}
//____________________________________________________统计课程信息____________________________________________________
void statictics(struct student *head)
{
struct student *p;
struct sta course[CLA]={{"CHINA"},{"MATH"}};
int i;
int flag=0;
p=head;
while(p->next) //统计语文信息
{
course[0].aver+=p->ch;
if(p->ch>=60)
course[1].pass++;
course[0].top=(p->ch>p->next->ch)?p->ch:p->ch;
course[0].low=(p->ch<p->next->ch)?p->ch:p->ch;
p=p->next;
}
p=head;
while(p->next) //统计数学信息
{
course[1].aver+=p->math;
if(p->math>=60)
course[1].pass++;
course[1].top=(p->math>p->next->math)?p->math:p->math;
course[1].low=(p->math<p->next->math)?p->math:p->math;
flag++;
p=p->next;
}
printf("—————————————输入课程信息——————————————\n\n:");
printf("课程名称 平均分 及格率 最高分 最低分\n");
for(i=0;i<CLA;i++)
printf("%-16s%-16.2f%-16.2f%-16.2f%16.2f\n",course[i].classname,course[i].aver/flag,course[i].pass/flag*100,course[i].top,course[i].low);
printf("\n输入出完毕!\n");
}
//____________________________________________________退出_____________________________________________________________
void quit()
{
printf("请按任意键退出!\n");
fflush(stdin);
getch();
exit(0);
}
『捌』 学生成绩管理程序设计
其实这个我今个期中考试就做个的,费了好多时间精力,你悬赏也没有令人很难做的,不是说我不想上代码,因为这是我和团队的努力.你努力吧.我说完
『玖』 VB学生成绩管理系统怎么答辩,老师会问些什么问题。急急急
这哪有个准的。肯定是围绕这个系统来问。你唯有多花点时间把这个系统每个部分的功能及其代码多看,多理解。
『拾』 谁帮忙写个C语言学生成绩管理程序设计
#include "stdio.h"
#include "math.h"
#define N 30
struct student
{
long int num;
char name[10];
char sex[3];
int Chinese,Math,English,total,average;
}stu[N]={{4001,"lks","m",100,100,100},{4002,"lyt","w",99,63,89},{4003,"asd","w",60,70,80},{4004,"fgh","m",41,100,98},
{4005,"asd","m",74,74,87},{4006,"yt","m",85,58,78},{4007,"qwe","w",74,100,87},{4008,"dcs","w",74,85,96},
{4009,"qfg","m",74,78,36},{4010,"gft","m",45,85,98},{4011,"mn","m",60,77,17},{4012,"yer","w",78,78,100},{4013,"lsd","m",100,89,85}},s;
int M=13;
void modify(struct student stu[])
{
int t;long num;char z;
t=search(stu)-400;
printf("input num:");
scanf("%ld",&stu[t].num);
printf("input name:");
scanf("%s",stu[t].name);
printf("input sex:");
scanf("%s",stu[t].sex);
printf("input score of Chinese:");
scanf("%d",&stu[t].Chinese);
printf("input score of Math:");
scanf("%d",&stu[t].Math);
printf("input score of English:");
scanf("%d",&stu[t].English);
stu[t].average=(stu[t].English+stu[t].Math+stu[t].Chinese)/3;
stu[t].total=stu[t].English+stu[t].Math+stu[t].Chinese;
printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
printf("\t%4ld\t",stu[t].num);
printf(" %s\t",stu[t].name);
printf("%s\t",stu[t].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[t].Chinese,stu[t].Math,stu[t].English,stu[t].total,stu[t].average);
printf("Next?y/n???");
scanf("%s",&z);
if(z=='y')
modify(stu);
}
void output(struct student stu[])
{
int i; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
for(i=0;i<M;i++)
{
printf("\t%4ld\t",stu[i].num);
printf(" %s\t",stu[i].name);
printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);
}
}
void sort(struct student stu[])
{
int i,j,t;
printf("1.an yingyu chengcheji paixu\n2.an yuwen chengji paixu\n3.an shuxue chengji paixu\n4.an pingjue chengji paixu\n5.an zongfen paixu\n");
scanf("%d",&t);
switch(t)
{
case 1:
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
{
if(stu[j].English<stu[j+1].English)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
output(stu);
getch();
break;
case 2:
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
{
if(stu[j].Chinese<stu[j+1].Chinese)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
output(stu);
getch();
break;
case 3:
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
{
if(stu[j].Math<stu[j+1].Math)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
output(stu);
getch();
break;
case 4:
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
{
if(stu[j].average<stu[j+1].average)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
output(stu);
getch();
break;
case 5:
for(i=0;i<M-1;i++)
for(j=0;j<M-i-1;j++)
{
if(stu[j].total<stu[j+1].total)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
output(stu);
getch();
break;
}
}
int search(struct student stu[])
{
long t,i,z,K='y';char name[20];
printf("1.an xuehao chazhao\n2.an xingming chazhao\n");
scanf("%d",&z);
switch(z)
{
case 1:
printf("qing shuru xuehao:\n");
scanf("%ld",&t);
for(i=0;i<M;i++)
{
if(stu[i].num==t)
{
K='x'; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
printf("\t%4ld\t",stu[i].num);
printf(" %s\t",stu[i].name);
printf(" %s\t",stu[i].sex);
printf("%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);
return(stu[i].num);
getche();
break;
}
}
if(K='y')
{
printf("No find");
getchar();
}
break;
case 2:
printf("qing shuru xingming:");
scanf("%s",name);
for(i=0;i<M;i++)
{
if(strcmp(stu[i].name,name)==0)
{
K='x'; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
printf("\t%4ld\t",stu[i].num);
printf(" %s\t",stu[i].name);
printf(" %s\t",stu[i].sex);
printf("%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);
getche();
break;
}
}
if(K='y')
{
printf("No find");
getchar();
}
break;
}
}
void insert(struct student stu[])
{
int i;char z='y';
for(i=M;i<=N&&z=='y';i++)
{
printf("input num:");
scanf("%ld",&stu[i].num);
printf("input name:");
scanf("%s",stu[i].name);
printf("input name:");
scanf("%s",stu[i].sex);
printf("input score of Chinese:");
scanf("%d",&stu[i].Chinese);
printf("input score of Math:");
scanf("%d",&stu[i].Math);
printf("input score of English:");
scanf("%d",&stu[i].English); stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3;
stu[i].total=stu[i].English+stu[i].Math+stu[i].Chinese;
printf("Next?y/n???");
z=getche();
if(z!='y')
{
M=i+1;
sort(stu);
output(stu);
}
}
}
void delete(struct student stu[])
{
long t,i,z;char l,name[20];
printf("1.an xuehao shanchu/n2.an xingming chanchu");
scanf("%d",&z);
switch(z)
{
case 1:
printf("qing shuru xuehao:");
scanf("%ld",&t);
for(i=0;i<M;i++)
{
if(stu[i].num==t)
{ printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
printf("\t%4ld\t",stu[i].num);
printf(" %s\t",stu[i].name);
printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);
break;
}
}
printf("Go on?y/n???");
scanf("%s",&l);
if(l=='y')
{
for(;i<M;i++)
{
stu[i]=stu[i+1];
}
stu[M-1].num=0;
output(stu);
}
else
break;
case 2:
printf("qing shuru xingming:");
scanf("%s",name);
for(i=0;i<M;i++)
{
if(strcmp(stu[i].name,name)==0)
{
printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n");
printf("\t%4ld\t",stu[i].num);
printf(" %s\t",stu[i].name);
printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average);
break;
}
}
printf("Go on?y/n???");
scanf("%s",&l);
if(l=='y')
{
for(;i<M;i++)
{
stu[i]=stu[i+1];
}
stu[M-1].num=0;
output(stu);
}
else
break;
}
}
main()
{
int choice,i;
clrscr();
for(i=0;i<M;i++)
{ stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3; ;
stu[i].total=stu[i].English+stu[i].Math+stu[i].Chinese;
}
for(;;)
{
printf("\n------ xuesheng chengji guanli xitong------\n");
printf("1.modify xuesheng jilu \n");
printf("2.output xuesheng jilu\n");
printf("3.sort xuesheng jilu\n");
printf("4.search xuesheng jilu\n");
printf("5.insert xuesheng jilu\n");
printf("6.delete xuesheng jilu\n");
printf("7. exit\n");
printf("pllease input(1-7):\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
modify(stu);
break;
case 2:
output(stu);
break;
case 3:
sort(stu);
break;
case 4:
search(stu);
break;
case 5:
insert(stu);
break;
case 6:
delete(stu);
break;
case 7:
exit(); break;
}
}
getch();
}