C语音高级语言课程设计DOC.docx
《C语音高级语言课程设计DOC.docx》由会员分享,可在线阅读,更多相关《C语音高级语言课程设计DOC.docx(8页珍藏版)》请在冰豆网上搜索。
C语音高级语言课程设计DOC
西安郵電學院
高级语言课程设计
报告书
院系名称
:
通信与信息工程学院
专业名称
:
信息工程
班级
:
信工1401
学号
:
03144028
学生姓名
:
陈晨
时间
:
2015年9月22日至2015年9月25日
一、 实验目的
1.熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。
2.掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
3.熟练运用if语句和switch语句以及嵌套应用。
涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。
4.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。
5.掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。
6.掌握结构体类型变量、数组的定义和使用。
7.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串
二、实验任务
学生成绩管理主要功能:
(1)能够输入,添加和删除学生的基本信息
(2)能输出学生的基本信息
(3)能按照学生姓名和学号查询学生的基本信息
(4)能排序
(5)能够以文件的形式将学生信息保存并且能够从文件中读取出来
开发工具——Win-VC
运行平台——Win-VC
各种功能都可以满足;程序相对较小,因而运行时反应比较迅速,不存在响应不及时地问题
三、总体设计
1.设计图
对系统进行分析,给出系统结构图;
2.功能模块说明
Voidadd()
空类型函数,无返回值,用来输入学生的各项信息,可以控制输入学生的个数。
Voidmodify()
空类型函数,无返回值,更新修改学生信息
Voiddel()
删除学生的各项信息,输入学生的学号后,即可删除该学生。
通过开关标志flag
可以控制是否继续删除,即可控制删除的学生的个数,删除后可显示删除后的
信息。
Voidlook()
查询学生信息,由switch语句控制可分别通过学号和姓名查询。
Voidsort()
对学生信息排序,通过选择排序法按学号对学生从小到大排列。
Voidread_()
读取学生信息,即从保存的txt文件中读取学生信息。
Voidsave_()
保存学生信息,将输入的学生信息保存到文本文件中。
Voidcount_()
统计学生信息,统计处不及格人数。
通过switch,case来选择。
Main()主函数,通过switch,case来选择、调用各个模块,case1—10为各个模块的调用
0为退出系统,各个模块具有独立功能,可独立工作,也可实现数据共享。
四、详细设计及运行结果
。
学生信息输入(输出)
清屏
If(i输入(输出)
num
name
数学
物理
英语
Else退出
学生信息修改模块
清屏
输入要修改的学生的学号
For(i=0;i输入要修改的内容
1、name
2、num
3、score
4、score1
5、score2
继续修改(y/n)
If(i退出
学生信息排列模块
按学号从小到大排列
通过选择排序
使学号从小到大排列
套用输出模块
返回主菜单
删除学生信息
输入要删除的学生的学号num
删除该学生的信息
if(choice=='y'||choice=='n')flag=1;
继续删除!
elseflag=0,退出删除
显示删除后的学生信息
返回主菜单
五、调试情况,设计技巧及体会
1、1总体过程
编译和调试工具:
选择VisualC++6.0,该工具稳定,其中有一个强大的调试工具,我比较熟悉。
2、有一个问题是当编到删除模块式一段代码被我写成了这样:
for(;k++;ks[k]=s[k+1];
每次当程序运行到这里就不再执行了,我百思不得其解,还以为时逻辑方面的
错误,找了半天也没找到,最后定神一看,竟然把k之后。
这就是由于粗心大意,所以以后编程还得全新投入,一刻也马虎不得。
通过两周以来的课程设计,我巩固了以前所学的知识,对c语言的计思想有了更深刻的理解
六、参考文献
1.王曙燕主编,C语言程序设计,科学出版社,2005