3、编写简单的学生信息管理系统。学生的信息包括学生姓名和成绩。如选择1,则输入学生的信息等。

作者&投稿:种梁 (若有异议请与网页底部的电邮联系)
以前课程设计做过

#include<stdio.h>
#include<string.h>
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int i;
struct student
{ char name[20];
char sex[10];
int age,num;
struct sco
{ int phy;
int maths;
int english;
int computer;
int vc;
}score;
}stu[1000];
void scan()
{ int u,xe;
i=0;
for(u=0;u<1000;u++)
{ strcpy(stu[u].name,"/0");
strcpy(stu[u].sex,"/升乱0");
stu[u].num=0;
stu[u].age=0;
stu[u].score.phy=0;
stu[u].score.maths=0;
stu[u].score.english=0;
stu[u].score.computer=0;
stu[u].score.vc=0;
}
printf("依次输入你要输入的信息,先是名字,然后学号,性别,年龄,成绩(5科),此系统最多科存1000名学生信息,剩余1000\n");
do
{ printf("输入学生名字\n");
scanf("%s",&stu[i].name);
printf("输入学生学号\n");
scanf("%d",&stu[i].num);
printf("输入学生性别\n");
while(scanf("%s",&stu[i].sex)&&strcmp(stu[i].sex,"boy")!=0&&strcmp(stu[i].sex,"girl")!=0)
printf("输入错误,请再输入");
printf("输入学生年龄\n");
scanf("%d",&stu[i].age);
printf("输入学衡笑大生成绩(5科)\n");
printf("物理:");
scanf("%d",&stu[i].score.phy);
printf("数学:");
scanf("%d",&stu[i].score.maths);
printf("电脑:");
scanf("%d",&stu[i].score.computer);
printf("英语:");
scanf("%d",&stu[i].score.english);
printf("VC:");
scanf("%d",&stu[i].score.vc);
printf("剩咐竖余%d\n",999-i);
printf("0继续输入下一个学生信息\n1回到菜单\n");
i++;

if(i>=1000){printf("系统存储空间已满,无法继续增加,抱歉!");break;}

while(scanf("%d",&xe)&&xe!=0&&xe!=1)
printf("输入错误,请再输入");
if(xe==0)printf("请继续输入\n");
}while(xe!=1);
}
void watch1()
{ if(i==0)printf("请先输入学生信息\n");
while(i!=0)
{ int i2,j2,all[100],averge[100],g,a,za;
char change3[10];
for(i2=0;i2<i;i2++)
{ all[i2]=stu[i2].score.phy+stu[i2].score.computer+stu[i2].score.english+stu[i2].score.maths+stu[i2].score.vc;
averge[i2]=all[i2]/5;
}
for(i2=1;i2<i;i2++)
{ for(j2=1;j2<i;j2++)
{ if(all[j2-1]<all[j2])
{ a=stu[j2-1].age;stu[j2-1].age=stu[j2].age;stu[j2].age=a;
a=stu[j2-1].score.computer;stu[j2-1].score.computer=stu[j2].score.computer;stu[j2].score.computer=a;
a=stu[j2-1].score.english;stu[j2-1].score.english=stu[j2].score.english;stu[j2].score.english=a;
a=stu[j2-1].score.maths;stu[j2-1].score.maths=stu[j2].score.maths;stu[j2].score.maths=a;
a=stu[j2-1].score.phy;stu[j2-1].score.phy=stu[j2].score.phy;stu[j2].score.phy=a;
a=stu[j2-1].score.vc;stu[j2-1].score.vc=stu[j2].score.vc;stu[j2].score.vc=a;

a=all[j2-1];all[j2-1]=all[j2];all[j2]=a;
a=stu[j2-1].num;stu[j2-1].num=stu[j2].num;stu[j2].num=a;
a=averge[j2-1];averge[j2-1]=averge[j2];averge[j2]=a;
strcpy(change3,stu[j2-1].name);
strcpy(stu[j2-1].name,stu[j2].name);
strcpy(stu[j2].name,change3);
strcpy(change3,stu[j2-1].sex);
strcpy(stu[j2-1].sex,stu[j2].sex);
strcpy(stu[j2].sex,change3);
}
}
}
printf("学号 姓名 性别 年龄 物理 数学 英语 电脑 VC 总分 平均分 名次\n");
for(g=0;g<i;g++)
printf("%-6d%-10s%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-5d%-5d%-5d\n",stu[g].num,stu[g].name,stu[g].sex,stu[g].age,stu[g].score.phy,stu[g].score.maths,stu[g].score.english,stu[g].score.computer,stu[g].score.vc,all[g],averge[g],g+1);
printf("输入0返回菜单");
while(scanf("%d",&za)&&za!=0)
printf("输入错误,请再输入");
if(za==0)break;
}
}
void watch2()
{ if(i==0)printf("请先输入学生信息\n");
while(i!=0)
{ int max[5],min[5],j,g,i2,all[100],averge[100],za,j2,a,yy[5][2];char change3[20];
for(i2=0;i2<i;i2++)
{ all[i2]=stu[i2].score.phy+stu[i2].score.computer+stu[i2].score.english+stu[i2].score.maths+stu[i2].score.vc;
averge[i2]=all[i2]/5;
}
for(i2=0;i2<i;i2++)
{ for(j2=1;j2<i;j2++)
{ if(all[j2-1]<all[j2])
{ a=stu[j2-1].age;stu[j2-1].age=stu[j2].age;stu[j2].age=a;
a=stu[j2-1].score.computer;stu[j2-1].score.computer=stu[j2].score.computer;stu[j2].score.computer=a;
a=stu[j2-1].score.english;stu[j2-1].score.english=stu[j2].score.english;stu[j2].score.english=a;
a=stu[j2-1].score.maths;stu[j2-1].score.maths=stu[j2].score.maths;stu[j2].score.maths=a;
a=stu[j2-1].score.phy;stu[j2-1].score.phy=stu[j2].score.phy;stu[j2].score.phy=a;
a=stu[j2-1].score.vc;stu[j2-1].score.vc=stu[j2].score.vc;stu[j2].score.vc=a;

a=all[j2-1];all[j2-1]=all[j2];all[j2]=a;
a=stu[j2-1].num;stu[j2-1].num=stu[j2].num;stu[j2].num=a;
a=averge[j2-1];averge[j2-1]=averge[j2];averge[j2]=a;
strcpy(change3,stu[j2-1].name);
strcpy(stu[j2-1].name,stu[j2].name);
strcpy(stu[j2].name,change3);
strcpy(change3,stu[j2-1].sex);
strcpy(stu[j2-1].sex,stu[j2].sex);
strcpy(stu[j2].sex,change3);
}
}
}
printf("学号 姓名 性别 年龄 物理 数学 英语 电脑 VC 总分 平均分 名次\n");
for(i2=0;i2<i;i2++)
{ all[i2]=stu[i2].score.phy+stu[i2].score.computer+stu[i2].score.english+stu[i2].score.maths+stu[i2].score.vc;
averge[i2]=all[i2]/5;
}
for(g=0;g<i;g++)
printf("%-6d%-10s%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-5d%-5d%-5d\n",stu[g].num,stu[g].name,stu[g].sex,stu[g].age,stu[g].score.phy,stu[g].score.maths,stu[g].score.english,stu[g].score.computer,stu[g].score.vc,all[g],averge[g],g+1);

max[0]=0;min[0]=100;
for(j=0;j<i;j++)
{
if(stu[j].score.phy>=max[0])
{ max[0]=stu[j].score.phy;yy[0][0]=j;}
if(stu[j].score.phy<=min[0])
{ min[0]=stu[j].score.phy;yy[0][1]=j;}
}
max[3]=0;min[3]=100;
for(j=0;j<i;j++)
{
if(stu[j].score.computer>=max[3])
{ max[3]=stu[j].score.computer;yy[3][0]=j;}
if(stu[j].score.computer<=min[3])
{ min[3]=stu[j].score.computer;yy[3][1]=j;}
}
max[2]=0;min[2]=100;
for(j=0;j<i;j++)
{
if(stu[j].score.english>=max[2])
{ max[2]=stu[j].score.english;yy[2][0]=j;}
if(stu[j].score.english<=min[2])
{ min[2]=stu[j].score.english;yy[2][1]=j;}
}
max[1]=0;min[1]=100;
for(j=0;j<i;j++)
{
if(stu[j].score.maths>=max[1])
{ max[1]=stu[j].score.maths;yy[1][0]=j;}
if(stu[j].score.maths<=min[1])
{ min[1]=stu[j].score.maths;yy[1][1]=j;}
}
max[4]=0;min[4]=100;
for(j=0;j<i;j++)
{
if(stu[j].score.vc>=max[4])
{ max[4]=stu[j].score.vc;yy[4][0]=j;}
if(stu[j].score.vc<=min[4])
{ min[4]=stu[j].score.vc;yy[4][1]=j;}
}
printf("物理最高分:%d %s最低分:%d %s\n数学最高分:%d %s最低分%d %s\n英语最高分:%d %s最低分:%d %s\n电脑最高分:%d %s最低分:%d %s\nV C最高分:%d %s最低分:%d %s\n",max[0],stu[yy[0][0]].name,min[0],stu[yy[0][1]].name,max[1],stu[yy[1][0]].name,min[1],stu[yy[1][1]].name,max[2],stu[yy[2][0]].name,min[2],stu[yy[2][1]].name,max[3],stu[yy[3][0]].name,min[3],stu[yy[3][1]].name,max[4],stu[yy[4][0]].name,min[4],stu[yy[4][1]].name);
printf("输入0返回菜单");
while(scanf("%d",&za)&&za!=0)
printf("输入错误,请再输入");
if(za==0)break;
}

}
void fine()
{ if(i==0)printf("请先输入学生信息\n");
while(i!=0)
{ printf("用学号查找请输入0,用姓名查找请输入1\n");
int i1,j1,num1,te=0,tc=0;char name1[20];
scanf("%d",&i1);
if(i1!=0&&i1!=1)
printf("输入错误\n");
else if(i1==0)
{ printf("请输入学生学号");
scanf("%d",&num1);
for(j1=0;j1<i;j1++)
if(num1==stu[j1].num)
{ printf("学号:%d姓名:%s性别:%s年龄:%d物理:%d数学:%d英语:%d电脑:%dVC:%d总分%d\n",stu[j1].num,stu[j1].name,stu[j1].sex,stu[j1].age,stu[j1].score.phy,stu[j1].score.maths,stu[j1].score.english,stu[j1].score.computer,stu[j1].score.vc,stu[j1].score.vc+stu[j1].score.computer+stu[j1].score.english+stu[j1].score.maths+stu[j1].score.phy);
te=1;
}
if(te!=1) printf("无此学生信息\n");

}
else if(i1==1)
{ printf("请输入学生姓名");
scanf("%s",&name1);
for(j1=0;j1<i;j1++)
if(strcmp(name1,stu[j1].name)==0)
{ printf("学号:%d姓名:%s性别:%s年龄:%d物理:%d数学:%d英语:%d电脑:%dVC:%d总分%d\n",stu[j1].num,stu[j1].name,stu[j1].sex,stu[j1].age,stu[j1].score.phy,stu[j1].score.maths,stu[j1].score.english,stu[j1].score.computer,stu[j1].score.vc,stu[j1].score.vc+stu[j1].score.computer+stu[j1].score.english+stu[j1].score.maths+stu[j1].score.phy);
tc=1;
}
if(tc!=1) printf("无此学生信息\n");
}

printf("继续查找请输入1,回菜单请输入0");
int qq;
while(scanf("%d",&qq)&&qq!=0&&qq!=1)
printf("输入错误,请再输入");
if(qq==1)continue;
if(qq==0)break;
}
}
void became()
{ if(i==0)printf("请先输入学生信息\n");
while(i!=0)
{ printf("请输入要修改的学生学号\n");
int num2,j3;
scanf("%d",&num2);
for(j3=0;j3<=i;j3++)
if(num2==stu[j3].num)
{ strcpy(stu[j3].name,"/0");
printf("重新输入该学生所有数据,依次为学号、姓名、性别、年龄、物理、数学、英语、电脑、VC。\n");
printf("输入学生名字\n");
scanf("%s",&stu[j3].name);
printf("输入学生学号\n");
scanf("%d",&stu[j3].num);
printf("输入学生性别\n");
while(scanf("%s",&stu[j3].sex)&&strcmp(stu[j3].sex,"boy")!=0&&strcmp(stu[j3].sex,"girl")!=0)
printf("输入错误,请再输入");
printf("输入学生年龄\n");
scanf("%d",&stu[j3].age);
printf("输入学生成绩(5科)\n");
printf("物理:");
scanf("%d",&stu[j3].score.phy);
printf("数学:");
scanf("%d",&stu[j3].score.maths);
printf("电脑:");
scanf("%d",&stu[j3].score.computer);
printf("英语:");
scanf("%d",&stu[j3].score.english);
printf("VC:");
scanf("%d",&stu[j3].score.vc);
printf("修改成功");
}
else("未找到该学号学生请确定输入无误\n");
int za;
printf("输入0返回菜单,输入1继续查找");
while(scanf("%d",&za)&&za!=0&&za!=1)
printf("输入错误,请再输入");
if(za==0)break;
if(za==1)continue;
}
}
void out()
{ if(i==0)printf("请先输入学生信息\n");
while(i!=0)
{ printf("请输入要删除的学生的学号\n");
int num3,j4,i3,za;
scanf("%d",&num3);
for(j4=0;j4<=i;j4++)
if(num3==stu[j4].num)
{ for(i3=j4;i3<i;i3++)
{ stu[i3].num=stu[i3+1].num;
stu[i3].age=stu[i3+1].age;
strcpy(stu[i3].name,stu[i3+1].name);
strcpy(stu[i3].sex,stu[i3+1].sex);
stu[i3].score.computer=stu[i3+1].score.computer;
stu[i3].score.english=stu[i3+1].score.english;
stu[i3].score.maths=stu[i3+1].score.maths;
stu[i3].score.phy=stu[i3+1].score.phy;
stu[i3].score.vc=stu[i3+1].score.vc;
}
i--;
printf("修改成功\n");
}
else printf("未找到该学号学生请确定输入无误\n");
printf("输入0返回菜单,输入1继续修改");
while(scanf("%d",&za)&&za!=0&&za!=1)
printf("输入错误,请再输入");
if(za==0)break;
if(za==1)continue;
}
}
void into()
{ for(;;)
{ if(i>1000){printf("系统存储空间已满,无法继续增加,抱歉!\n");break;}
printf("输入要增加学生信息,依次为学号、姓名、性别、年龄、物理、数学、英语、电脑、VC。\n");
i++;
printf("输入学生名字\n");
scanf("%s",&stu[i-1].name);
printf("输入学生学号\n");
scanf("%d",&stu[i-1].num);
printf("输入学生性别\n");
while(scanf("%s",&stu[i-1].sex)&&strcmp(stu[i-1].sex,"boy")!=0&&strcmp(stu[i-1].sex,"girl")!=0)
printf("输入错误,请再输入");
printf("输入学生年龄\n");
scanf("%d",&stu[i-1].age);
printf("输入学生成绩(5科)\n");
printf("物理:");
scanf("%d",&stu[i-1].score.phy);
printf("数学:");
scanf("%d",&stu[i-1].score.maths);
printf("电脑:");
scanf("%d",&stu[i-1].score.computer);
printf("英语:");
scanf("%d",&stu[i-1].score.english);
printf("VC:");
scanf("%d",&stu[i-1].score.vc);
printf("输入成功,剩余%d",1000-i);
if(i>=1000){printf("系统存储空间已满,无法继续增加,抱歉!\n");break;}
int za;
printf("输入0返回菜单,输入1继续增加");
while(scanf("%d",&za)&&za!=0&&za!=1)
printf("输入错误,请再输入");
if(za==0)break;
if(za==1)continue;
}
}
void main()
{ int a,wu=0;
FILE *fp;
fp=fopen("out.txt","rb+");
if(feof(fp)!=0)i=0;
while(feof(fp)==0)
{ fread(&i,sizeof(int),1,fp);
for(int m=0;m<i;m++)
fread(&stu[m],sizeof(struct student),1,fp);
}
fclose(fp);
do
{printf("********************主菜单********************\n");
printf(" 1.输入和储存学生信息(会删除之前记录)\n");
printf(" 2.查看学生信息(已排名)\n");
printf(" 3.学生成绩统计\n");
printf(" 4.查找学生信息\n");
printf(" 5.修改学生信息\n");
printf(" 6.删除学生信息\n");
printf(" 7.增加学生信息\n");
printf(" 8.退出\n");
printf("**********************************************\n");
printf("请输入选择项目序号:");
while(scanf("%d",&a)&&a!=0&&a!=1&&a!=2&&a!=3&&a!=4&&a!=5&&a!=6&&a!=7&&a!=8)
printf("输入错误,请再输入");

if(a==1)
{scan();}

if(a==2)
{watch1();}
if(a==3)
{watch2();}
if(a==4)
{fine();}
if(a==5)
{became();}
if(a==6)
{out();}
if(a==7)
{into();}
if(a==8)
{ FILE *fp;
fp=fopen("out.txt","rb+");

fwrite(&i,sizeof(int),1,fp);
for(int m=0;m<i;m++)
fwrite(&stu[m],sizeof(struct student),1,fp);

fclose(fp);

break;
}

}while(8);
}

自己在改一下吧

我的毕业设计就是,不过是超复杂的,需求分析就10页的,不适合你。

用ASP。NET
不难的

~

3、编写简单的学生信息管理系统。学生的信息包括学生姓名和成绩。如选择...
答:printf("依次输入你要输入的信息,先是名字,然后学号,性别,年龄,成绩(5科),此系统最多科存1000名学生信息,剩余1000\n"); do { printf("输入学生名字\n"); scanf("%s",&stu[i].name); printf("输入学生学号\n"); scanf("%d",&stu[i].num); printf("输入学生性别\n"); while(scanf("%s",&stu...

使用java语言连接数据库编写一个简单的学生信息管理系统
答://将输入的信息存放到集合里面去 for(int i=1;i<=3;i++) { System.out.println("请输入第"+i+"个学生的id");String id = sc.next();System.out.println("请输入第"+i+"个学生的name");String name = sc.next();System.out.println("请输入第"+i+"个学生的age");int ...

学生信息管理系统最简单源代码。
答:1、创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入intmian()代码。4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。5、在Stu源文件的...

C语言学生管理系统
答:学生成绩管理系统主要功能:一、当前学生信息:通过结构体structstudent来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且可以输入当前学生初始信息。二、学... 学生成绩管理系统主要功能:一、 当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并...

求以下c语言编程:一个简单的学生成绩管理系统。其中每个学生信息包括学 ...
答:一个简单的学生成绩管理系统。其中每个学生信息包括学号、姓名、数学成绩、英语成绩、计算机成绩。编写一个菜单程序分别完成以下功能:每个学生的信息使用结构体变量存储。编写函数f... 一个简单的学生成绩管理系统。其中每个学生信息包括学号、姓名、数学成绩、英语成绩、计算机成绩。编写一个菜单程序分别完成以下功能:每个...

C++设计一个学生信息管理系统
答:C++设计一个学生信息管理系统 5 1、类1)Student类,即学生类;基本信息包含:学生学号(唯一)、学生姓名、学生年龄、学生性别、学生班级等;要求设置多个构造函数(缺省无参构造、带参数的构造);2)U... 1、类1)Student类,即学生类;基本信息包含:学生学号(唯一)、学生姓名、学生年龄、学生性别、学生班级等;要求设置...

求大虾用c编个简单学生信息管理系统 谢!
答:求大虾用c编个简单学生信息管理系统 谢! 主要功能说明1.用口令(密码)形式验证管理员身份(可输入三次),合法者可进入,否则程序结束。2.有关功能说明1)建立学生成绩表(模块a)建立新的学生成绩文件;输入若干学生纪录,... 主要功能说明1. 用口令(密码)形式验证管理员身份(可输入三次),合法者可进入,否则程序结束...

用C语言编写一个学生管理系统。
答:用C语言编写一个学生管理系统。实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。2、系统数据要求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。3、... 实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。 2、系统数据要求:学生...

求C语言高手编写学生信息管理系统
答:求C语言高手编写学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息... 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能...

用c语言编写学生信息管理系统
答:用c语言编写学生信息管理系统 1.定义结构体,应该至少包含如下属性:学号姓名性别年龄三门成绩2.要求所有功能均用函数来实现,要使main函数尽量的简洁3.录入学生信息(initStudentInfo())注意:学号的唯一性4.显示学... 1. 定义结构体,应该至少包含如下属性: 学号 姓名 性别 年龄 三门成绩 2. 要求所有功能均用函数...