设计一个学生信息管理系统。

不是源代码,而是请达人帮我讲解一下怎么去做。谢谢大家。设计题目:学生信息管理设计要求:设计要求实现如下功能:(1)建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时... 不是源代码,而是请达人帮我讲解一下怎么去做。
谢谢大家。

设计题目:学生信息管理
设计要求:
设计要求实现如下功能:
(1)建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。
(2)使用继承的方法构造至少3个类,(即学生类——虚基类,一年级学生和二年级学生类——派生类)使用相应的对象放置10个学生信息。
(3)编写同名display()成员函数,用来输出数组的内容。
(4)按不同类别输出学生信息,比如按性别。(可选功能)
(5)抽取并计算学生的平均成绩。
(6)按照至少一科成绩进行排序。
(7)检索(查找)指定信息。(如按姓名检索、按年龄检索)
(8)参考界面如下:
增加学生
显示全部学生
计算平均成绩
删除一个学生
按年级输出学生信息
按性别输出学生信息
按姓名检索学生
结束程序运行
用c++ 发邮箱里吧 656845162@qq.com

主要是写出程序,其他的不用管。
是我没过多的时间去分析,麻烦大家了。
大家最好附加一下讲解,尽可能详细点
展开
 我来答
郝在益
2011-12-30 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:726万
展开全部
#include"stdio.h"
#define SIZE 5

struct stu
{
char name[10];
int no;
int age;
char add[10];
}stu[SIZE];

void readdat();
void writedat();
void change();

main()
{
char k;

printf(" 欢迎进入学生信息管理系统\n");
printf("\n\n 1.学生信息输入系统 ");
printf(" 2.学生信息查询系统\n");
printf(" 3.学生信息修改系统\n\n\n");
began:
printf("\n\n请输入选项:");
scanf("%d",&k);
switch(k)
{
case 1: writedat(); break;

case 2: readdat(); break;

case 3: change(); break;

default: goto began;
}
goto began;
while(1);
}

void writedat()
{
FILE *fp;
char i;

printf("\n\n请输入学生的姓名、学号、年龄和地址:\n");
for(i=0;i<SIZE;i++)
{
printf("输入%d号学生信息:",i+1);
scanf("%s %d %d %s",stu[i].name,&stu[i].no,&stu[i].age,stu[i].add);
}

if((fp=fopen("E:\\a.dat","wb"))==NULL)
{
printf("Open Error\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)
printf("write error\n");
}
fclose(fp);
}

void readdat()
{
FILE *fp;
int i,k,kk;

jixu:
printf("查询全部请输入0,查询单个请输入1:");
scanf("%d",&k);

if((fp=fopen("E:\\a.dat","rb"))==NULL)
{
printf("Read Error\n");
return;
}
if(k==0)
{
printf("编号 姓名 学号 年龄 地址\n");
for(i=0;i<SIZE;i++)
{
if(fread(&stu[i],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",i+1,stu[i].name,stu[i].no,stu[i].age,stu[i].add);
}
}
else if(k==1)
{
printf("请输入学生的编号:");
scanf("%d",&kk);
printf("编号 姓名 学号 年龄 地址\n");
if(fread(&stu[kk-1],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);
}
else
{
printf("输入错误!");
goto jixu;
}
fclose(fp);
}

void change()
{
FILE *fp;
char i,kk;

while(1)
{
printf("请输入修改信息学生的编号(0退出):");
scanf("%d",&kk);
if(kk==0)
return;

printf("编号 姓名 学号 年龄 地址\n");
if((fp=fopen("E:\\a.dat","rb"))==NULL)
{
printf("Read Error\n");
return;
}
for(i=0;i<SIZE;i++)
if(fread(&stu[i],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);

printf("请输入学生的姓名、学号、年龄和地址:\n");
scanf("%s %d %d %s",stu[kk-1].name,&stu[kk-1].no,&stu[kk-1].age,stu[kk-1].add);
if((fp=fopen("E:\\a.dat","wb"))==NULL)
{
printf("Open Error\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)
printf("write error\n");
}

fclose(fp);
}
}
一比七品牌咨询
2025-08-13 广告
详情请咨询:18998930742。深圳市一比七品牌咨询有限公司成立于2007年, 致力于为成长型企业担供业绩暴涨的品牌策划,旗下设计事业部专注于VI升级!出品一搞过,兼具艺术性、营销性和实用性!... 点击进入详情页
本回答由一比七品牌咨询提供
meswang2011
2011-12-29 · TA获得超过1075个赞
知道小有建树答主
回答量:518
采纳率:100%
帮助的人:231万
展开全部
分数给的不少,不过确实还是有一定的难度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
couky1989
2012-01-06 · 超过17用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:60.7万
展开全部
已发,注意查收
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中Y间
2011-12-29 · 贡献了超过103个回答
知道答主
回答量:103
采纳率:0%
帮助的人:12.2万
展开全部
用什么做。这个就二天就可以做完了 。先做数据分析嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式