c语言课题设计 学生管理系统 要求:1.可输入学生学号、姓名、性别、入学成绩。最多保存十个学生信
c语言课题设计学生管理系统要求:1.可输入学生学号、姓名、性别、入学成绩。最多保存十个学生信息。2.可有查询功能,比如输入学号,能显示该生所有信息;输入性别,能显示所有该...
c语言课题设计
学生管理系统
要求:1.可输入学生学号、姓名、性别、入学成绩。最多保存十个学生信息。
2.可有查询功能,比如输入学号,能显示该生所有信息;输入性别,能显示所有该性别学生的信息;输入成绩,能显示低于,高于或等于该成绩的学生信息。 展开
学生管理系统
要求:1.可输入学生学号、姓名、性别、入学成绩。最多保存十个学生信息。
2.可有查询功能,比如输入学号,能显示该生所有信息;输入性别,能显示所有该性别学生的信息;输入成绩,能显示低于,高于或等于该成绩的学生信息。 展开
4个回答
展开全部
#include <stdio.h>
struct student /*结构体数组*/
{int num;
char name[8];
int class;
int math;
int eng ;
int c;
int he;
}st[10],temp;
int a=1;
main() /*主函数*/
{ int flag=1;
char c;
clrscr();
printf("\n\n\n");
printf(" *****************************************************");
printf("\n");
printf(" * *");
printf("\n");
printf(" * *");
printf("\n");
printf(" * 成绩统计系统 *");
printf("\n");
printf(" * *");
printf("\n");
printf(" * *\n");
printf(" *****************************************************\n");
while(flag==1)
{menu(); /*调用菜单函数*/
if(a==0)
{printf("确定要退出?(y/n):");
scanf("%s",&c);
}
if (c=='y')
break;
}
}
menu() /*菜单*/
{int num;
printf(" 1.输入3名学生成绩\n");
printf(" 2.成绩浏览\n");
printf(" 3.成绩排名\n");
printf(" 4.成绩查询\n");
printf(" 5.退出\n");
printf(" 请选择(1、2、3、4或5):");
scanf("%d",&num);
switch (num) /*用switch循环调用函数*/
{case 1:input();break;
case 2:output();break;
case 3:paixu();break;
case 4:lookfor();break;
case 5:a=0;break;
default:;printf("\n \n 错误\n\n\n");
}
/*退出菜单回到主函数*/
}
input()
{int i,j;
input_1(); /*调用输入函数*/
for(i=0;i<3;i++) /*检查学号是否重复*/
for(j=i+1;j<3;j++)
while(st[i].num==st[j].num)
{ printf("\n\n学号输入重复,请重新输入\n\n") ;
input_1();
}
}
input_1() /*输入*/
{int i;
for(i=0;i<3;i++)
{
printf("\n\输入第%d名学生\n",i+1);
printf("学号(整型):");
scanf("%d",&st[i].num);
printf("\n姓名(字母无空格):");
scanf("%s",&st[i].name);
printf("\n班级(整型):");
scanf("%d",&st[i].class);
printf("\n数学(整型):");
scanf("%d",&st[i].math);
printf("\n英语(整型):");
scanf("%d",&st[i].eng);
printf("\nC语言(整型):");
scanf("%d",&st[i].c);
}
for(i=0;i<3;i++) /*求总成绩*/
st[i].he=st[i].math+st[i].eng+st[i].c;
save(); /*调用文件函数*/
}
save() /*文件*/
{FILE*fp;
int i;
if ((fp=fopen("stu_list","wb"))==NULL) /*检查文件能否打开*/
{printf("cannot open file\n");
return;
}
for(i=0;i<3;i++)
if(fwrite(&st[i],sizeof(struct student),1,fp)!=1) /*检查文件能否写入*/
printf("file write error\n");
fclose(fp); /*关闭文件*/
}
output() /*输出*/
{int i;
FILE*fp;
fp=fopen("stu_list","rb");
printf("学号 姓名 班级 数学 英语 c语言 总分\n");
for(i=0;i<3;i++)
{fread(&st[i],sizeof(struct student),1,fp);
printf("%4d %-7s %4d %4d %4d %4d %4d\n",st[i].num,st[i].name,st[i].class,
st[i].math,st[i].eng,st[i].c,st[i].he);
}
}
paixu() /*排序*/
{int i,j;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(st[i].he<st[j].he)
{temp=st[i];
st[i]=st[j];
st[j]=temp;
}
printf("\n\n 名次榜\n\n");
printf("学号 姓名 班级 数学 英语 c语言 总分\n");
for(i=0;i<3;i++)
{printf("%4d %-7s %4d %4d %4d %4d %4d\n",st[i].num,st[i].name,st[i].class,
st[i].math,st[i].eng,st[i].c,st[i].he);
}
}
lookfor() /*查找*/
{int num,i,j=0;
printf("请输入要查询的学号(整型):");
scanf("%d",&num);
for(i=0;i<3;i++)
{if(st[i].num==num)
{printf("\n学号 姓名 班级 数学 英语 c语言 总分\n%4d %5s %4d %4d %4d %4d %4d\n\n",
st[i].num,st[i].name,st[i].class,st[i].math,st[i].eng,st[i].c,st[i].he);
j++ ;
}
}
if(j==0)
printf("\n\n无此学号学生,返回菜单。\n\n");
}
PS:跟你的要求类似,你看看吧,也许对你用用
struct student /*结构体数组*/
{int num;
char name[8];
int class;
int math;
int eng ;
int c;
int he;
}st[10],temp;
int a=1;
main() /*主函数*/
{ int flag=1;
char c;
clrscr();
printf("\n\n\n");
printf(" *****************************************************");
printf("\n");
printf(" * *");
printf("\n");
printf(" * *");
printf("\n");
printf(" * 成绩统计系统 *");
printf("\n");
printf(" * *");
printf("\n");
printf(" * *\n");
printf(" *****************************************************\n");
while(flag==1)
{menu(); /*调用菜单函数*/
if(a==0)
{printf("确定要退出?(y/n):");
scanf("%s",&c);
}
if (c=='y')
break;
}
}
menu() /*菜单*/
{int num;
printf(" 1.输入3名学生成绩\n");
printf(" 2.成绩浏览\n");
printf(" 3.成绩排名\n");
printf(" 4.成绩查询\n");
printf(" 5.退出\n");
printf(" 请选择(1、2、3、4或5):");
scanf("%d",&num);
switch (num) /*用switch循环调用函数*/
{case 1:input();break;
case 2:output();break;
case 3:paixu();break;
case 4:lookfor();break;
case 5:a=0;break;
default:;printf("\n \n 错误\n\n\n");
}
/*退出菜单回到主函数*/
}
input()
{int i,j;
input_1(); /*调用输入函数*/
for(i=0;i<3;i++) /*检查学号是否重复*/
for(j=i+1;j<3;j++)
while(st[i].num==st[j].num)
{ printf("\n\n学号输入重复,请重新输入\n\n") ;
input_1();
}
}
input_1() /*输入*/
{int i;
for(i=0;i<3;i++)
{
printf("\n\输入第%d名学生\n",i+1);
printf("学号(整型):");
scanf("%d",&st[i].num);
printf("\n姓名(字母无空格):");
scanf("%s",&st[i].name);
printf("\n班级(整型):");
scanf("%d",&st[i].class);
printf("\n数学(整型):");
scanf("%d",&st[i].math);
printf("\n英语(整型):");
scanf("%d",&st[i].eng);
printf("\nC语言(整型):");
scanf("%d",&st[i].c);
}
for(i=0;i<3;i++) /*求总成绩*/
st[i].he=st[i].math+st[i].eng+st[i].c;
save(); /*调用文件函数*/
}
save() /*文件*/
{FILE*fp;
int i;
if ((fp=fopen("stu_list","wb"))==NULL) /*检查文件能否打开*/
{printf("cannot open file\n");
return;
}
for(i=0;i<3;i++)
if(fwrite(&st[i],sizeof(struct student),1,fp)!=1) /*检查文件能否写入*/
printf("file write error\n");
fclose(fp); /*关闭文件*/
}
output() /*输出*/
{int i;
FILE*fp;
fp=fopen("stu_list","rb");
printf("学号 姓名 班级 数学 英语 c语言 总分\n");
for(i=0;i<3;i++)
{fread(&st[i],sizeof(struct student),1,fp);
printf("%4d %-7s %4d %4d %4d %4d %4d\n",st[i].num,st[i].name,st[i].class,
st[i].math,st[i].eng,st[i].c,st[i].he);
}
}
paixu() /*排序*/
{int i,j;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(st[i].he<st[j].he)
{temp=st[i];
st[i]=st[j];
st[j]=temp;
}
printf("\n\n 名次榜\n\n");
printf("学号 姓名 班级 数学 英语 c语言 总分\n");
for(i=0;i<3;i++)
{printf("%4d %-7s %4d %4d %4d %4d %4d\n",st[i].num,st[i].name,st[i].class,
st[i].math,st[i].eng,st[i].c,st[i].he);
}
}
lookfor() /*查找*/
{int num,i,j=0;
printf("请输入要查询的学号(整型):");
scanf("%d",&num);
for(i=0;i<3;i++)
{if(st[i].num==num)
{printf("\n学号 姓名 班级 数学 英语 c语言 总分\n%4d %5s %4d %4d %4d %4d %4d\n\n",
st[i].num,st[i].name,st[i].class,st[i].math,st[i].eng,st[i].c,st[i].he);
j++ ;
}
}
if(j==0)
printf("\n\n无此学号学生,返回菜单。\n\n");
}
PS:跟你的要求类似,你看看吧,也许对你用用
上海桦明教育科技
2024-12-14 广告
2024-12-14 广告
上海桦明教育科技有限公司(以下简称桦明教育)是一家经上海市场监督管理部门依法批准,教育主管部门备案监管的专业化、合法化的教育培训单位,华明教育上海教学场地位于杨浦区凤城路101号。 学校软硬件设施齐全,拥有27间标准化敦室(其中两间大教室分...
点击进入详情页
本回答由上海桦明教育科技提供
2014-12-21
展开全部
Access数据库里可以有这些功能,查询,窗体
更多追问追答
追问
咋查
追答
首先,打开电脑左下角所以程序里面的办公软件应用,找到Access打开它,然后打开这个学生管理的数据库
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
的饿,图书馆看书去吧
更多追问追答
追答
这里问不出来
追问
急用啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去图书馆
更多追问追答
追问
饿,,,,
追答
#include
#include
struct student {
char stuNum[20]; //学生学号
char stuName[20]; //学生姓名
int stuscore[3]; //学生3门课成绩
};
int main() {
int i, j;
student stu[10];
//为了简单,此处只输入前3个学生的数据。如果要输入10个学生数据,把for中3改成10即可
for(i = 0; i < 3; i++) {
printf("请输入第%d个学生学号:", i + 1);
scanf("%s", stu[i].stuNum);
printf("请输入第%d个学生姓名:", i + 1);
scanf("%s", stu[i].stuName);
printf("请输入第%d个学生的三门课程成绩:", i + 1);
for(j = 0; j < 3; j++)
scanf("%d", &stu[i].stuscore[j]);
printf("\n");
}
//输出,此处同样为了简略只输出3个。可以自己改成1个哦
printf("前3个学生3门课成绩如下:\n");
for(i = 0; i < 3; i++) {
printf("第%d个学生3门课成绩为:", i + 1);
printf("%4d%4d%4d\n", stu[i].stuscore[0], stu[i].stuscore[1], stu[i].stuscore[2]);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询