c语言源程序可以直接在dos环境中运行,[原创]学生信息管理C语言DOS环境运行[源代码在另一个同名的帖子中贴出来了]...

[原创]学生信息管理C语言DOS环境运行[源代码在另一个同名的帖子中贴出来了]

替同学写了作业,如下,我同学说看不懂啊 。。。

就添加了很详细的注释,大家有兴趣的就看看吧 。。。

代码在这里下载:

e35bcbe7d8bbc73a593a185732ad163d.gifwQwODcun.rar

(58.27 KB)

[原创]学生信息管理C语言DOS环境运行[源代码]

====================================================

题目分析 及 算法设计 :

题目中的各个功能都是相对独立的,所以我将各项功能以 带 编号 的菜单形式组织在屏幕上,

用户通过 输入 编号 执行相应的功能。显示菜单的代码处于一个循环之中,当执行完一个

子功能后,就又回到循环,显示主菜单,直到用户选择 退出 菜单。

这种操作方式比其它机制(如:主程序 + 程序参数)更简捷,不必每次用不同的参数重新运行程序,

以实现相应的功能。

1. 查看文件记录内容 的实现:

用 循环 读取文件内容,然后显示在屏幕上。

因为 我们的数据是以结构体的形式存放在文件中的,所以 代码中用了块读取和块写入函数。

在 循环中设置计数器来统计记录的个数。

2. 添加记录 的实现:

让用户根据屏幕提示输入数据,完成对学生信息结构体各项的赋值,待取得足够数据后,

将数据文件以“追加”方式打开,执行块写入,将整个结构体写入文件。

3. 删除记录 的实现:

学号(ID)一般不会重复,所以我在程序中让用户输入想要删除的记录的学号(ID),

然后在文件中查找,如果不是用户想要删除的记录(即ID不同),就保存在一个临时的文件中,

这样,就将想要删除的记录与其它记录分离开了,最后,删除原来的数据文件,将临时文件的

名字改为 原来数据文件的名字。

4. 统计功能 的实现:

统计功能模块分为三个小模块:平均分的分数段统计,总分的最高和最低分统计,

各科的最高和最低分统计。但我并不想分别来写,因为它们都要对所有记录进行扫描,

而它们又互不干扰,所以我把它们组织在一个循环中,各自都有自己的计算代码和变量,

所以这个 函数 中的局部变量 很多。

5. 查找功能 的实现:

题目要求两种查找方式:按 学号(ID) , 按 姓名(Name)。

两者是独立的,所以我用了一个参数 isFind_From_ID 来表明是哪种查找方式,进而在在程序

内部由一个 switch() 选择分支转向不同的代码段去执行。

具体的查找就是比较相应的项目是否与用户输入的一样,若一样就输出到屏幕。

有关各个变量的作用都已经在代码中表明,非常详细。

===================================================================================

运行效果如下(在dos环境中运行):

############ Main Menu ###############

##############################################

1 . View the Records in the data file

2 . Add New Record

3 . Delete an old Record

4 . Make a Statistics

5 . Find a Record from the ID

6 . Find a Record from the Name

7 . Quit

##############################################

Input the index of your choice : 1

######### Start a command #########

Name : wewewew Sex : Female

ID : 232323 Class : sasas

Math = -858993460 English = -858993460 Compute = -858993460

Philosophy = -858993460 PE = -858993460

------------------------------------------

Name : ww Sex : Female

ID : 2121 Class : 12

Math = 123 English = 123 Compute = 123

Philosophy = 123 PE = 123

------------------------------------------

The current data file have 2 record .

######### End a command #########

Press any key to Return Main Menu ....

[此贴子已经被作者于2006-8-11 9:30:21编辑过]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值