
按以下要求,用C语言编一个程序——简单学生管理系统,使用的是VC++6.0这种编译器。。 20
系统功能简介本系统有7个功能供给用户,用于管理学生信息。1.输入和储存学生信息用户可以使用系统储存学生信息,包括学生姓名,学号,性别,成绩(物理,英语,数学,计算机导论,...
系统功能简介
本系统有7个功能供给用户,用于管理学生信息。
1. 输入和储存学生信息
用户可以使用系统储存学生信息,包括学生姓名,学号,性别,成绩(物理,英语,数学,计算机导论,C程序)
按“1”回车键选择输入和储存学生信息,
在选择这项功能的时候如果之前有储存学生信息,都会被删除,要添加就要用到第7项功能。选择“1”后会出现你要输入的信息,先是名字,然后学号,性别,成绩,然后储存,如果想继续输入下一个学生信息就选择“y”,否则选择“n”回到菜单。
2. 查看学生信息
通过使用系统可以查看已统计好的学生信息
按2回车就可以查看所有储存了的学生的信息,已经排好名次,平均分,总分。
3. 学生成绩统计:
使用系统可以浏览学生已排好的成绩统计,包括名次,总分,平均分,最高和最低分。
进入后用户可以浏览学生的成绩,已经排好名次,最高分,最低分,总分,平均分。
4. 查找学生信息:
使用系统可以浏览单个学生的信息,分为按学号和姓名查找。
进入后有两种方法查找,第一是按学号,只要输入学生学号就可以知道该生的信息,第二种是按学生姓名查找,同样,只要输入学生姓名就行了。
5. 修改学生信息:当学生信息有误时就可以通过系统来修改。
根据提示进行学生信息的修改,输入学生学号进行修改
6. 删除学生信息:使用系统可以要删除某个学生信息。
根据提示删除不要的学生信息,输入学生学号删除
7. 增加学生信息:不能在第一个功能上增加学生信息,只能在这个功能上实现。
根据提示增加学生信息,和第一个功能一样,但不会删除之前的信息
8. 退出。 展开
本系统有7个功能供给用户,用于管理学生信息。
1. 输入和储存学生信息
用户可以使用系统储存学生信息,包括学生姓名,学号,性别,成绩(物理,英语,数学,计算机导论,C程序)
按“1”回车键选择输入和储存学生信息,
在选择这项功能的时候如果之前有储存学生信息,都会被删除,要添加就要用到第7项功能。选择“1”后会出现你要输入的信息,先是名字,然后学号,性别,成绩,然后储存,如果想继续输入下一个学生信息就选择“y”,否则选择“n”回到菜单。
2. 查看学生信息
通过使用系统可以查看已统计好的学生信息
按2回车就可以查看所有储存了的学生的信息,已经排好名次,平均分,总分。
3. 学生成绩统计:
使用系统可以浏览学生已排好的成绩统计,包括名次,总分,平均分,最高和最低分。
进入后用户可以浏览学生的成绩,已经排好名次,最高分,最低分,总分,平均分。
4. 查找学生信息:
使用系统可以浏览单个学生的信息,分为按学号和姓名查找。
进入后有两种方法查找,第一是按学号,只要输入学生学号就可以知道该生的信息,第二种是按学生姓名查找,同样,只要输入学生姓名就行了。
5. 修改学生信息:当学生信息有误时就可以通过系统来修改。
根据提示进行学生信息的修改,输入学生学号进行修改
6. 删除学生信息:使用系统可以要删除某个学生信息。
根据提示删除不要的学生信息,输入学生学号删除
7. 增加学生信息:不能在第一个功能上增加学生信息,只能在这个功能上实现。
根据提示增加学生信息,和第一个功能一样,但不会删除之前的信息
8. 退出。 展开
2个回答
展开全部
#include<stdio.h>
#include<string.h>
struct student
{
int num;
char n[50];
int a1,a2,a3,s1;
}stu[50],t;
static int b=0,i;
char a;
void display();
void x();
void p();
void c();
void s();
void main()
{printf("显示学员的信息: \n");
display();
x();
p();
c();
s();
}
void display()
{
int i=0;
do{
printf("学号: ");
scanf("%d",&stu[i].num);
fflush(stdin);
printf("姓名: ");
gets(stu[i].n);
fflush(stdin);
printf("三门成绩:\n");
printf("成绩1: ");
scanf("%d",&stu[i].a1);
printf("成绩2: ");
scanf("%d",&stu[i].a2);
printf("成绩3: ");
scanf("%d",&stu[i].a3);
stu[i].s1=(stu[i].a1+stu[i].a2+stu[i].a3)/3;
printf("是否继续: <y/n>");
fflush(stdin);
a=getchar();
i++,b++;
}while (a=='y');
}
void x()
{
int j;
printf("学号\t姓名\t平均成绩\n");
for(j=0;j<b;j++)
{
printf("%d\t%s\t%d\n",stu[j].num,stu[j].n,stu[j].s1);
}
}
void p()
{
int i,j;
for(i=0;i<b;i++)
{
for(j=0;j<b-i-1;j++)
{
if(stu[j].s1<stu[j+1].s1)
{
t=stu[j+1];
stu[j+1]=stu[j];
stu[j]=t;
}
}
}
printf("排序后的信息为: \n");
x();
}
void c()
{
int i,j,t;
char a;
struct student stu1;
printf("是否要插入学员得信息: <y /n>");
fflush(stdin);
a=getchar();
while(a=='y')
{
printf("学号: ");
scanf("%d",&stu1.num);
fflush(stdin);
printf("\n姓名: ");
gets(stu1.n);
fflush(stdin);
printf("三门成绩:\n");
printf("\n成绩1: "); scanf("%d",&stu1.a1);
printf("\n成绩2: "); scanf("%d",&stu1.a2);
printf("\n成绩3: "); scanf("%d",&stu1.a3);
t=stu1.a1+stu1.a2+stu1.a3;
stu1.s1=t/3;
for(i=0;i<b;i++)
{
if(stu[i].s1>stu1.s1)
break;
}
for(j=b;j>i;j--)
{
stu[j]=stu[j-1];
}
stu[i]=stu1;
b++;
printf("插入后学员的信息: \n");
p();
break;
}
}
void s()
{
int i,j,n;
printf("是否要删除学员信息: <y/n>");
fflush(stdin);
a=getchar();
while(a=='y')
{
printf("输入删除学员的学号: ");
scanf("%d",&n);
fflush(stdin);
for(i=0;i<b;i++)
{
if(stu[i].num==n)
break;
}
for(j=i;j<b;j++)
{
stu[j]=stu[j+1];
}
b--;
printf("\n删除后的学员信息: \n");
x();
break;
}
}
这是我做的,不知道是否符合你的要求.因为是很久以前做的了,是不是符合你的要求就真的不记得了,你好好看看吧.是我学C做的第二个项目啊.如果符合你的要求就应该没有太大的问题.
#include<string.h>
struct student
{
int num;
char n[50];
int a1,a2,a3,s1;
}stu[50],t;
static int b=0,i;
char a;
void display();
void x();
void p();
void c();
void s();
void main()
{printf("显示学员的信息: \n");
display();
x();
p();
c();
s();
}
void display()
{
int i=0;
do{
printf("学号: ");
scanf("%d",&stu[i].num);
fflush(stdin);
printf("姓名: ");
gets(stu[i].n);
fflush(stdin);
printf("三门成绩:\n");
printf("成绩1: ");
scanf("%d",&stu[i].a1);
printf("成绩2: ");
scanf("%d",&stu[i].a2);
printf("成绩3: ");
scanf("%d",&stu[i].a3);
stu[i].s1=(stu[i].a1+stu[i].a2+stu[i].a3)/3;
printf("是否继续: <y/n>");
fflush(stdin);
a=getchar();
i++,b++;
}while (a=='y');
}
void x()
{
int j;
printf("学号\t姓名\t平均成绩\n");
for(j=0;j<b;j++)
{
printf("%d\t%s\t%d\n",stu[j].num,stu[j].n,stu[j].s1);
}
}
void p()
{
int i,j;
for(i=0;i<b;i++)
{
for(j=0;j<b-i-1;j++)
{
if(stu[j].s1<stu[j+1].s1)
{
t=stu[j+1];
stu[j+1]=stu[j];
stu[j]=t;
}
}
}
printf("排序后的信息为: \n");
x();
}
void c()
{
int i,j,t;
char a;
struct student stu1;
printf("是否要插入学员得信息: <y /n>");
fflush(stdin);
a=getchar();
while(a=='y')
{
printf("学号: ");
scanf("%d",&stu1.num);
fflush(stdin);
printf("\n姓名: ");
gets(stu1.n);
fflush(stdin);
printf("三门成绩:\n");
printf("\n成绩1: "); scanf("%d",&stu1.a1);
printf("\n成绩2: "); scanf("%d",&stu1.a2);
printf("\n成绩3: "); scanf("%d",&stu1.a3);
t=stu1.a1+stu1.a2+stu1.a3;
stu1.s1=t/3;
for(i=0;i<b;i++)
{
if(stu[i].s1>stu1.s1)
break;
}
for(j=b;j>i;j--)
{
stu[j]=stu[j-1];
}
stu[i]=stu1;
b++;
printf("插入后学员的信息: \n");
p();
break;
}
}
void s()
{
int i,j,n;
printf("是否要删除学员信息: <y/n>");
fflush(stdin);
a=getchar();
while(a=='y')
{
printf("输入删除学员的学号: ");
scanf("%d",&n);
fflush(stdin);
for(i=0;i<b;i++)
{
if(stu[i].num==n)
break;
}
for(j=i;j<b;j++)
{
stu[j]=stu[j+1];
}
b--;
printf("\n删除后的学员信息: \n");
x();
break;
}
}
这是我做的,不知道是否符合你的要求.因为是很久以前做的了,是不是符合你的要求就真的不记得了,你好好看看吧.是我学C做的第二个项目啊.如果符合你的要求就应该没有太大的问题.
展开全部
没事儿了,就编了一个,专门为你的题编的啊,看看满意不,运行一下,有问题再联系!呵呵
#include<stdio.h>
#include<stdlib.h>
int i,j;
typedef struct student_type
{
char num[12];
char name[9];
char class[21];
int score[3];
int ave;
}stu;
stu stud[4];
void save()
{
FILE *fp;
fp=fopen("score.txt","w");
for(i=0; i<4; i++)
{
fprintf(fp, "num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );
for(j=0; j<3; j++)
{
fprintf(fp, "score%d=%d ",j+1, stud[i].score[j]);
}
printf("\n");
fprintf(fp,"ave=%d\n\n", stud[i].ave);
}
fclose(fp);
}
void display()
{
FILE *fp;
fp=fopen("score.txt","r");
for(i=0; i<4; i++)
{
printf("num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );
for(j=0; j<3; j++)
{
printf("score%d=%d ",j+1, stud[i].score[j]);
}
printf("\n");
printf("ave=%d\n", stud[i].ave);
}
fclose(fp);
}
int main()
{
/*printf("please enter the information: ");*/
for(i=0; i<4; i++)
{ printf("please enput the %dth num:",i+1);
scanf("%s", &stud[i].num);
printf("please enput the %dth name:",i+1);
scanf("%s", &stud[i].name);
printf("please enput the %dth class:",i+1);
scanf("%s", &stud[i].class);
/*printf("num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );*/
/* printf("please enput the %dth score:",i+1);*/
for(j=0; j<3; j++)
{
printf("please enput the %dth score:",j+1);
scanf("%d", &stud[i].score[j]);
/*printf("score%d=%d ",j, stud[i].score[j]);*/
}
printf("\n");
stud[i].ave=0;
for(j=0; j<3; j++)
{
stud[i].ave += stud[i].score[j];
}
stud[i].ave/=3;
/* printf("ave=%d", stud[i].ave);*/
}
save();
display();
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int i,j;
typedef struct student_type
{
char num[12];
char name[9];
char class[21];
int score[3];
int ave;
}stu;
stu stud[4];
void save()
{
FILE *fp;
fp=fopen("score.txt","w");
for(i=0; i<4; i++)
{
fprintf(fp, "num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );
for(j=0; j<3; j++)
{
fprintf(fp, "score%d=%d ",j+1, stud[i].score[j]);
}
printf("\n");
fprintf(fp,"ave=%d\n\n", stud[i].ave);
}
fclose(fp);
}
void display()
{
FILE *fp;
fp=fopen("score.txt","r");
for(i=0; i<4; i++)
{
printf("num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );
for(j=0; j<3; j++)
{
printf("score%d=%d ",j+1, stud[i].score[j]);
}
printf("\n");
printf("ave=%d\n", stud[i].ave);
}
fclose(fp);
}
int main()
{
/*printf("please enter the information: ");*/
for(i=0; i<4; i++)
{ printf("please enput the %dth num:",i+1);
scanf("%s", &stud[i].num);
printf("please enput the %dth name:",i+1);
scanf("%s", &stud[i].name);
printf("please enput the %dth class:",i+1);
scanf("%s", &stud[i].class);
/*printf("num=%s name=%s class=%s\n",stud[i].num ,stud[i].name, stud[i].class );*/
/* printf("please enput the %dth score:",i+1);*/
for(j=0; j<3; j++)
{
printf("please enput the %dth score:",j+1);
scanf("%d", &stud[i].score[j]);
/*printf("score%d=%d ",j, stud[i].score[j]);*/
}
printf("\n");
stud[i].ave=0;
for(j=0; j<3; j++)
{
stud[i].ave += stud[i].score[j];
}
stud[i].ave/=3;
/* printf("ave=%d", stud[i].ave);*/
}
save();
display();
system("pause");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询