blacktusk--期待收获的季节
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
统计
随笔 - 23
文章 - 63
评论 - 61
引用 - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(6)
给我留言
查看公开留言
查看私人留言
随笔档案
2008年5月 (2)
2008年4月 (1)
2008年3月 (1)
2008年2月 (1)
2007年12月 (2)
2007年11月 (3)
2007年10月 (7)
2007年9月 (6)
文章分类
ACM(1)
(rss)
c++ premier(第四版中文版)(1)
(rss)
FTP搜索(3)
(rss)
linux使用解决指南(20)
(rss)
数据结构(10)
(rss)
算法导论(2)
(rss)
杂谈(1)
(rss)
文章档案
2008年7月 (1)
2008年5月 (3)
2008年3月 (4)
2008年2月 (3)
2007年12月 (4)
2007年11月 (5)
2007年10月 (20)
2007年9月 (3)
2007年6月 (15)
2007年5月 (5)
收藏夹
.net(2)
(rss)
acm(2)
(rss)
c++(3)
(rss)
值得我学习的c++博客
&豪
ACM
EEXPRESS 的ubuntu blog
lee7
vectordu
陈陈的c++博客
枫之羽
极风炫影
梁兄
农夫三拳
秦歌的c++博客
石头的ubuntu blog
未知
小果子
忆熵
重剑无峰,大巧不工
搜索
最新评论
1. re: gdb和g++的简单使用
fuck the prog```
--123123
2. re: 杭州电子科技大学acm1002:大数相加
写的灰常优美啊~
--露露护卫队
3. re: 乒乓球比赛问题:两个乒乓球队进行比赛,各出3人,甲队为A,B,C三人,乙队为x,y,z三人,列出所有的对战情况
错误的答案阿
--徐娟
4. re: gdb和g++的简单使用
感觉帖主是写JAVA出身的
--已阅
5. re: gdb和g++的简单使用[未登录]
评论内容较长,点击标题查看
--菜鸟
阅读排行榜
1. 大数相乘的速算思路(995)
2. 终于有了小项目(809)
3. 打乒乓球有感(742)
4. 终于搞定了unbuntu的基本安装(675)
5. 开始看算法导论(600)
评论排行榜
1. 彻底放弃了windows(11)
2. 国庆10.1七天计划(10)
3. 终于有了小项目(5)
4. 强敌出现(4)
5. 开始看算法导论(4)
编写的第一个稍微大点的程序:学生成绩管理系统(线性表版)
#include
<
iostream.h
>
#include
<
stdlib.h
>
const
int
max
=
5
;
class stu
{
private
:
int
length;
int
result[max];
public
:
stu (
int
length
=
0
){}
~stu(){}
void input();
//
输入函数
void output()
const
;
//
输出函数
char
*
insert();
//
插入函数
char
*
remove();
//
删除函数
void search()
const
;
//
顺序查找
void sort();
//
排序函数
};
void stu::input()
{
cout
<<
"
开始建立顺序表,请输入学生成绩表中学生的人数:
"
;
cin
>>
length;
cout
<<
endl;
if
(length
<=
0
||length
>
max)
{
cerr
<<
"
学生成绩表的长度范围输入错误!
"
<<
endl;
exit
(
1
);
}
for
(
int
i
=
0
;i
<
length;i
++
)
{
cout
<<
"
请输入第
"
<<
i
+
1
<<
"
学生的成绩:
"
;
cin
>>
result[i];
}
}
void stu::output()
const
{
if
(length
<=
0
)
{
cerr
<<
"
学生成绩表为空!
"
<<
endl;
exit
(
1
);
}
for
(
int
i
=
0
;i
<
length;i
++
)
{
cout
<<
"
第
"
<<
i
+
1
<<
"
个学生的成绩是:
"
<<
result[i]
<<
endl;
}
}
char
*
stu::insert()
{
if
(length
==
max)
{
cerr
<<
"
学生成绩表满,不能插入!
"
;
exit
(
1
);
}
int
i
=
0
;
//
要插入学生成绩的位置
cout
<<
"
请输入要插入学生成绩的位置:
"
;
cin
>>
i;
cout
<<
endl;
cout
<<
endl;
if
(i
<
0
||i
>
length)
{
cerr
<<
"
插入位置不合理!
"
<<
endl;
exit
(
1
);
}
cout
<<
"
请输入要插入学生的成绩:
"
;
int
temp
=
0
;
//
要插入学生的成绩
cin
>>
temp;
cout
<<
endl;
for
(
int
j
=
length
-
1
;j
>=
i;j
--
)
{
result[j
+
1
]
=
result[j];
}
result[i]
=
temp;
length
++
;
return
"
插入成功\n
"
;
}
char
*
stu::remove()
{
if
(length
==
0
)
{
cerr
<<
"
学生成绩表为空,不能删除!
"
;
exit
(
1
);
}
int
i
=
0
;
//
要删除学生成绩的位置
cout
<<
"
请输入要删除学生成绩的位置:
"
;
cin
>>
i;
cout
<<
endl;
if
(i
<
0
||i
>
length
-
1
)
{
cerr
<<
"
不存在要删除学生的位置!
"
;
exit
(
1
);
}
//
int
temp
=
result[i
-
1
];
//
将要被删除的学生成绩存入一个临时变量
for
(
int
j
=
i;j
<
length;j
++
)
result[j]
=
result[j
+
1
];
length
--
;
return
"
删除成功\n
"
;
}
void stu::search()
const
{
if
(length
==
0
)
{
cerr
<<
"
学生成绩表为空!
"
;
exit
(
1
);
}
int
temp
=
0
;
cout
<<
"
请输入要查询学生成绩的成绩:
"
;
cin
>>
temp;
cout
<<
endl;
for
(
int
i
=
0
;i
<
length;i
++
)
if
(result[i]
==
temp)
{
cout
<<
"
查找成功!您查找的成绩在学生成绩表的第
"
<<
i
<<
"
个位置
"
<<
endl;
break;
}
cout
<<
"
查找失败!
"
<<
endl;
}
void stu::sort()
{
int
temp
=
0
;
for
(
int
i
=
0
;i
<
length
-
1
;i
++
)
{
int
k
=
i;
for
(
int
j
=
i
+
1
;j
<
length;j
++
)
if
(result[k]
>=
result[j]) k
=
j;
if
(k!
=
i)
{
temp
=
result[k];
result[k]
=
result[i];
result[i]
=
temp;
}
}
cout
<<
"
排序完成
"
<<
endl;
for
(i
=
0
;i
<
length;i
++
)
cout
<<
result[i]
<<
endl;
}
int
menu()
{
cout
<<
"
************************* 学生成绩管理系统(线性表) ****************************
"
<<
endl;
cout
<<
"
* *
"
<<
endl;
cout
<<
"
* *
"
<<
endl;
cout
<<
"
* 1. 输入学生的成绩 *
"
<<
endl;
cout
<<
"
* 2. 插入学生的成绩 *
"
<<
endl;
cout
<<
"
* 3. 删除指定学生的成绩 *
"
<<
endl;
cout
<<
"
* 4. 查找指定学生的成绩 *
"
<<
endl;
cout
<<
"
* 5. 对学生的成绩排序 *
"
<<
endl;
cout
<<
"
* 6. 输出学生的成绩 *
"
<<
endl;
cout
<<
"
* 7. 退出 *
"
<<
endl;
cout
<<
"
* *
"
<<
endl;
cout
<<
"
*******************************************************************************
"
<<
endl;
int
choice
=
0
;
cout
<<
"
请选择动作:
"
;
cin
>>
choice;
cout
<<
endl;
return choice;
}
void main()
{
stu student;
bool
exit
=
false
;
int
choice
=
menu();
while
(
true
)
{
switch(choice)
{
case
1
:student.input();break;
case
2
:student.insert();break;
case
3
:student.remove();break;
case
4
:student.search();break;
case
5
:student.sort();break;
case
6
:student.output();break;
case
7
:
exit
=
true
;break;
}
if
(
exit
==
true
)
break;
cout
<<
endl;
cout
<<
"
请继续选择动作:
"
;
cin
>>
choice;
cout
<<
endl;
}
}
posted on 2007-09-23 17:32
heidaizx
阅读(1109)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理