| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:[求助]vc语言成绩记录簿
只看楼主 加入收藏
bioo1234
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-9
收藏
 问题点数:0 回复次数:3 
[求助]vc语言成绩记录簿

是关于一个C++语言成绩记录簿,每个学生信息应该包括:学号、姓名、C语言成绩。具体功能:
(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的成绩;
(3)按学号或姓名查询成绩;
(4)添加成绩记录;
(5)修改指定姓名或学号的学生的成绩并可存盘;
(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。
大侠们看看这程序有问提吗,好想不是c++de ,谁帮我 改下



#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <iomanip.h>

const int MAX=100;


//每位同学的数据包括以下内容:学号(长整型)、姓名(字符串)、
//数学成绩(整型)、程序设计成绩(整型)。
struct STUDENT
{
long id;
char name[20];
int math;
int prog;
};

STUDENT student[MAX];
int num=0;//实际人数


//初始化数据
void init()
{
for(int i=0;i<MAX;i++)
{
student[i].id=0;
//student[i].name="";
student[i].math=0;
student[i].prog=0;
}
}

void print()
{
cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"数学"<<setw(10)<<"程序"<<endl;
for(int i=0;i<num;i++)
{
cout<<setw(10)<<student[i].id;
cout<<setw(10)<<student[i].name;
cout<<setw(10)<<student[i].math;
cout<<setw(10)<<student[i].prog;
cout<<endl;
}
}

//新建学生档案
void newdata()
{
cout<<"请输入学生人数:";
cin>>num;
if(num<=MAX)
{
for(int i=0;i<num;i++)
{
cout<<"请输入第"<<i+1<<"个学生的资料"<<endl;
cout<<"学号:";
cin>>student[i].id;
cout<<"姓名:";
cin>>student[i].name;
cout<<"数学成绩:";
cin>>student[i].math;
cout<<"程序设计成绩:";
cin>>student[i].prog;
}
cout<<"输入完毕!!"<<endl;
print();
}
else
{
cout<<"人数过多,请加大空间!"<<endl;
exit(1);
}
}

//添加学生数据
void adddata()
{
if(num==0)
{
cout<<"尚未建立学生档案,请重新选择!"<<endl;
}
else
{
if(num<MAX)
{

cout<<"请输入第"<<num+1<<"个学生的资料"<<endl;
cout<<"学号:";
cin>>student[num].id;
cout<<"姓名:";
cin>>student[num].name;
cout<<"数学成绩:";
cin>>student[num].math;
cout<<"程序设计成绩:";
cin>>student[num].prog;
num++;
}
else
{
cout<<"空间已经爆满了!";
}
}
}


//删除学生数据
void deldata()
{
long del;
int founded=0;

cout<<"请输入要删除的学生id:";
cin>>del;
for(int i=0;i<num;i++)
{
if(del==student[i].id)
{
student[i].id=student[num-1].id;
strcpy(student[i].name,student[num-1].name);
student[i].math=student[num-1].math;
student[i].prog=student[num-1].prog;
num--;
founded=1;
}
if(founded==0)
{
cout<<"不存在该数据!"<<endl;
}
}
}

//排序
void sort()
{
//对数组a[0]~a[num-1]的id号进行冒泡排序,我就不写了。。
}

//查询
void find()
{
int i,sel;
int founded=0;//是否查到
int tol=0;//查询所得的人数
STUDENT temp;
cout<<"1.学号查询"<<endl;
cout<<"2.姓名查询"<<endl;
cout<<"3.按科目查询"<<endl;
cout<<"4.总分查询"<<endl;
cout<<"请输入进行查询的操作号:";
cin>>sel;
switch (sel)
{
case 1: cout<<"请输入学号:";
cin>>temp.id;
for(i=0;i<num;i++)
{
if(temp.id==student[i].id)
{
cout<<setw(5)<<student[i].id;
cout<<setw(5)<<student[i].name;
cout<<setw(5)<<student[i].math;
cout<<setw(5)<<student[i].prog;
founded=1;
cout<<endl;
}
}
if(founded==0) cout<<"找不到该学生数据"<<endl;
break;
case 2: cout<<"请输入姓名:";
cin>>temp.name;
for(i=0;i<num;i++)
{
if(strcmp(temp.name,student[i].name)==0)
{
cout<<setw(5)<<student[i].id;
cout<<setw(5)<<student[i].name;
cout<<setw(5)<<student[i].math;
cout<<setw(5)<<student[i].prog;
founded=1;
cout<<endl;
}
}
if(founded==0) cout<<"找不到该学生数据"<<endl;
break;
case 3:cout<<"请选择科目:1-数学 2-程序设计";
cin>>sel;
if(sel==1)
{
cout<<"请输入分数:";
cin>>temp.math;
for(i=0;i<num;i++)
{
if(temp.math<=student[i].math)
{
cout<<setw(5)<<student[i].id;
cout<<setw(5)<<student[i].name;
cout<<setw(5)<<student[i].math;
cout<<endl;
tol++;
}
}
cout<<"总人数:"<<tol;
}
else if(sel==2)
{
cout<<"请输入分数:";
cin>>temp.prog;
for(i=0;i<num;i++)
{
if(temp.prog<=student[i].prog)
{
cout<<setw(5)<<student[i].id;
cout<<setw(5)<<student[i].name;
cout<<setw(5)<<student[i].prog;
cout<<endl;
tol++;
}
}
cout<<"总人数:"<<tol;
}
else cout<<"输入错误!"<<endl;

break;
case 4:cout<<"请输入总分:";
//使用temp.math来存储总分
cin>>temp.math;
for(i=0;i<num;i++)
{
if(temp.math<=student[i].prog+student[i].math)
{
cout<<setw(5)<<student[i].id;
cout<<setw(5)<<student[i].name;
cout<<setw(5)<<student[i].math;
cout<<setw(5)<<student[i].prog;
cout<<endl;
tol++;
}
}
cout<<"总人数:"<<tol;
break;
default:cout<<"输入错误!"<<endl;
}
}

int main(void)
{
int sel;//选择的操作

init();
while(1)
{
cout<<"1.新建数据档案"<<endl;
cout<<"2.添加数据"<<endl;
cout<<"3.删除数据"<<endl;
cout<<"4.对输入的数据进行排序"<<endl;
cout<<"5.对输入的数据进行查询"<<endl;
cout<<"6.退出";
cout<<"请选择所需功能:(序号)";
cin>>sel;
switch(sel)
{
case 1:newdata();break;
case 2:adddata();break;
case 3:deldata();break;
case 4:sort();break;
case 5:find();break;
case 6: exit(1);
default:cout<<"输入错误,请重新输入:"<<endl;

}
}
return 0;
}

搜索更多相关主题的帖子: 记录簿 语言成绩 学号 include 
2007-07-09 11:30
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
就是C++的。。。LZ莫非是哪弄来的代码吧。。。

这个代码也太难看了。。。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2007-07-09 12:13
bioo1234
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-9
收藏
得分:0 
回复:(走刀口→超)就是C++的。。。LZ莫非是哪弄来的...

是C++的,不过最后1个功能没的 ,谁帮我加下\

2007-07-10 14:48
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
这个程序是自己写的吗????
如果都可以写出这么好的程序了就一个
小功能不能实现吗?????
这样一说偶就有点不理解咯
上面的功能都很简单,都没需要
什么好的基础,所以偶感觉你应该可以
写得出来...........

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-07-11 12:04
快速回复:[求助]vc语言成绩记录簿
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016648 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved