求用C++编写一个学生成绩管理程序

wuxiulei1991 2010-06-28 11:18:15
Student ID Username MT1 MT2 ISAS Project SWAP
R8P8400095 郭威 79 93 92 93 88.7
R8P8400096 朱梦婕 85 96 90 88 89.7
R8P8400093 罗匀梓 86 90 90 86 87.6
R8P8400184 李凤娟 69 88 91 82 80.8
R8P8400192 宋凤英 78 93 91 85 85.9
R8P8400193 严萍 26 92 85 87 70
管理一个班级的期末成绩信息。上面表格是某个班的一门课程的成绩信息,最终成绩SWAP由前面四项共同构成,除了ISAS占10%的比例外,其它三项都是占30%的比例。所有题目的基本要求,都参考最后一次幻灯。下面是针对此题目在业务逻辑上的要求:(1)用户输入数据的时候,是输入上面表格中的前六列数据,最后一列SWAP是通过计算得到的。(2)可以显示一个班级的最高分和最低分的学生信息。(3)统计不及格的学生所占比例,以SWAP来统计。(4)输入某个学生的姓名后,可以查询此学生的分数信息。

有如下的基本要求:
(1)程序第一次启动时,能从一个txt文件中加载数据到内存(以对象数组或指针保存)。
(2)程序的后续运行中,都是从二进制文件中加载数据。数据的保存,也是保存在二进制文件中。
(3)能够将数据以HTML格式导出。
(4)程序具有与用户交互的功能,能够接收用户从键盘输入的数据,存入对象及存入文件中。
(5)至少提供一种应用逻辑,如数据的查找、排序、平均值的计算等。
...全文
807 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
x_todoo 2010-06-28
  • 打赏
  • 举报
回复
这个很全,有10个c++学生成绩管理系统
http://download.chinaprj.cn/tag/iiiiEbr/
x_todoo 2010-06-28
  • 打赏
  • 举报
回复
给几个参考吧
1,c++学生成绩管理系统论文--课程设计
http://www.25175.com/200609/25175/25175_html/2007-01/1121.html

2,

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct student{
int id;
char name[10];
int age;
int cell;
int tel;
}st[50];
int i=0;
void shuru() {
char a;
do{
printf("\n请输入身份证号:");
scanf("%d",&st[i].id);
fflush(stdin);
printf("\n请输入姓名:");
gets(st[i].name);
printf("\n") ;
printf("请输入年龄:");
scanf("%d",&st[i].age);
printf("\n请输入手机:");
scanf("%d",&st[i].cell);
printf("\n请输入电话:");
scanf("%d",&st[i].tel);
printf("\n是否继续输入另外一个学生信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}while(a=='y' && i<=50);

}


void xianshi()
{
int j;
printf("\t身份证号 \t姓名\t\t年龄\t\t手机\t\t电话\n");
for(j=0;j<i;j++)
printf(" \t%d\t\t%s \t\t%d\t\t%d\t\t%d\n",st[j].id,st[j].name,st[j].age,st[j].cell,st[j].tel);
getche();
}

void paixu() //按年龄从大到小排序函数
{
int j,k;
int temp;
for(j=0;j<i;j++)
{
for(k=0;k<i-1-j;k++)
{
if(st[k].age<st[k+1].age)
{
temp=st[k].age;
st[k].age=st[k+1].age;
st[k+1].age=temp;
}
}
}
xianshi(); //排序后输出
}

void chazhao()
{
int m;
char name[20],b;
do
{
printf("\n请输入想查找的学生姓名:");
fflush(stdin);
gets(name);
for(m=0;m<i;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t\t您查找的学生在第%d个位置找到了!!!\n",m+1);
break;
}
}
if(m>=20)
printf("\n\t\t没有找到这个学生!!!\n");
else
{
printf("\t身份证号 \t姓名\t\t年龄\t\t手机\t\t电话\t\t平均分\n");
printf(" \t%d\t\t%s \t\t%d\t\t%d\t\t%d\n",st[m].id,st[m].name,st[m].age,st[m].cell,st[m].tel);
}
printf("\n是否查找另一个学生的信息?(y/n)");
fflush(stdin);
b=getchar();

}while(b=='y');


}

void shanchu()
{
char name[20],c;
int a,b;
do
{
printf("\n请输入要删除的学生姓名:\n");
fflush(stdin);
gets(name);
for(a=0;a<i;a++)
{
if(strcmp(name,st[a].name)==0)
break;
}

for(b=a;b<i;b++)
st[b]=st[b+1];
if(a>i)
printf("\t\t没有找到这个学生!!!\n");

else
{
i--;
xianshi();
}

printf("\n是否继续删除另一个学生信息?(y/n) ");
fflush(stdin);
c=getchar();
}while(c=='y');

}


void charu()
{
shuru();
paixu();

}

void main() //主函数
{
int change;
do{
system("cls");
printf("============================学生信息管理系统===================================\n");
printf("\t\t\t一: 输入学生信息\n");
printf("\t\t\t二: 显示学生信息\n");
printf("\t\t\t三: 查找学生信息\n");
printf("\t\t\t四: 删除学生信息\n");
printf("\t\t\t五: 插入学生信息\n");
printf("\t\t\t六: 退出程序\n");
fflush(stdin);
printf("\t\t\t请输入功能选项:");
scanf("%d",&change);
switch(change)
{
case 1:
shuru(); break;
case 2:
xianshi(); break;
case 3:
chazhao(); break;
case 4:
shanchu(); break;
case 5:
charu(); break;
case 6:
break;
}
getch();
}while(change!=6);
}
honemay 2010-06-28
  • 打赏
  • 举报
回复
LZ这种问题CSDN都不会给答的,别等了
结贴把!!
liutengfeigo 2010-06-28
  • 打赏
  • 举报
回复
接分升星星
zhouzhipen 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 wuxiulei1991 的回复:]
Student ID Username MT1 MT2 ISAS Project SWAP
R8P8400095 郭威 79 93 92 93 88.7
R8P8400096 朱梦婕 85 96 90 88 89.7
R8P8400093 罗匀梓 86 90 90 86 87.6
R8P8400184 李凤娟 69 88 91 82 80.8
R8P8400192 宋凤英 78 93 9……
[/Quote]

这娃太天真了,作业贴也摆上来,还是这句:“求到的可能性为0”
zj294006 2010-06-28
  • 打赏
  • 举报
回复
求到的可能性为0

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧