2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言编程课程心得 c语言编程课程设计心得.docx

c语言编程课程心得 c语言编程课程设计心得.docx

时间:2023-08-31 21:37:25

相关推荐

c语言编程课程心得 c语言编程课程设计心得.docx

C语言编程课程设计心得

C语言编程课程设计心得

河南城建学院

《C语言程序设计》课程设计报告

适用专业工程管理专业课程名称C语言程序设计指导教师赵军民、魏新红、张芳芳

设计人:051409112王田

201*年6月

一、设计目的和要求

1.通过课程设计全面掌握《C语言程序设计》关键知识点,掌握C语言中数组、指针、结构体、文件等方面的基本知识。

2.通过课程设计了解并掌握C语言程序设计的方法,熟悉C程序设计的开发环境及C程序的调试过程。

3.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研有关问题,学会自己分析、解决问题的方法。

二、内容与设计思想

1、系统功能描述

(1)编译时,主菜单为如下:

0、输入记录1、显示记录2、按姓名查找3、按电话号码查找4、插入记录5、按姓名排序6、删除记录7、记录保存文件8、Quit(2)各项功能:0、输入记录:将所要记录的人的信息输入。

1、显示记录:将所输入的记录一一显示。2、按姓名查找:从所记录中输入姓名查找其信息。3、按电话号码查找:输入学生的号码查找其信息。4、插入记录:在所记录中插入需要记录的人的信息。5、按姓名排序:对已有的记录按姓名第一个字母的

ASCII码大小排列,并一一显示。

6、删除记录:从记录中删除某学生的信息。7、记录保存文件:对输入的学生的信息进行保存。8、退出程序。2、总体设计思想

运用所学知识编写一个简单的学生通讯录管理系统的程序,使它具有以下的功能:输入学生的学号,姓名,班级,电话号码,地址,显示学生记录,增加学生记录,按照学生姓名进行排序,删除学生记录,查找学生记录,保存学生记录。其主要结构用如下图示表示:

三、程序具体分析及操作时问题。

1、程序具体分析。

(1)文件名的使用:include称为文件包含命令,被包含的文件通常是由系统提供的,其扩展名为.h.stdio为standardinputoutput

的缩写,意为“标准输入输出”.代码中只要有用到printfscanf等函数,头文件就要写#include这个在代码中必不可少的,因为编写代码就是为了输出结果;用到像getch()这种键盘输入函数的话,就需要用到#include;用到系统标准输出函数的话,就用到#include;用到字符数组就要用#inciude。

(2)指针使用:如FILE*fp、定义1个文件型指针变量,指针变量名字分别叫fp,定义后fp是指向FILE类型结构体的指针。可以使他指向某个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。

指针是地址变量:它的值有两种:其一是地址,其二是内容。不同的表达方式可以取不同的值。

指针是可以运算的,它的运算法则与变量是一致的。

(3)结构体:如structLinkList定义结构体为LinkList。当结构体成员为指针的时候,每当给这个成员赋值之前必须先为这个结构体成员分配一个内存空间。

(4)字符数组的比较:如strcmp(student[i].name,name)==0,strcmp(student[i].phone,phone)==0

,strcmp(student[i].phone,phone)==NULL都是用来比较输入的与原有的,当相等时即为0.

(5)实现文件的打开和输入:除有scanf和printf以外还涉及到其他的,如fp=fopen("student.bin","wb"))==NULL用fopen()函数来实

现打开文件;fwrite(&student[i],sizeof(structrecord),1,fp)!=1fwrite用于二进制的文件输入输出也用于读写记录这里的记录是指一串固定长度的字节。

(6)C语言中的一些结构。如for(j=i;j

while(a8);returna;2.操作时问题分析

编好后进行运行时,有一些遗漏问题,如大括号的使用是否对起;语句的使用是否错误;对一个变量是否定义;输出是否有遗漏;数据的使用是否符合规定,定义是否正确等。对于调试,要看程序是否运行且达到预期效果,按照思路能够正确的使用。开始时在姓名输入上出了问题,但是是小问题,修改一下便可实现姓名、学号、班级、电话号码、地址的正常输出。

四、个人任务

得到正确的程序后,并对其进行调试、测试成功后,进行分组任务,而我得到的任务如下程序及解释:

list()/*显示记录中的信息*/{

inti;/*定义整形变量i*/system("cls");/*清屏*/

if(num!=0)/*如果信息记录不为0*/{

printf("\\n\\t\\t***************以下为通讯录所有信息************");

for(i=0;i

}printf("\\n\\t\\t****************************

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。