C语言课程设计报告示例

课程设计报告

课程:             

学号:                    

姓名:                    

班级:                

教师:                  

时间:              

     计算机科学与技术系

 

第二篇:C语言课程设计报告示例

程序设计报告示例

前言(略)

目录(略)

1 问题概述

设计一个某公司客户信息管理系统,以解决传统客户信息管理方式的诸多不便和弊端。

2 系统需求分析

在客户的日常管理中,经常需要对客户的相关信息进行处理,采用传统的手工记录,查询方式,显然有很多不便,如多次的增、删、改可能使记录变得混乱,为今后的信息提取带来很多麻烦。为了解决这一问题,可采用现代化的手段——计算机进行系统的管理。这样可大大提高管理的质量和效率,并且使客户的日常管理也从手工操作中解脱出来,减少纸制材料的数量,对日常信息的查询、方便、快捷。因此,基于这些方面的考虑,决定开发本系统。

3 系统概要设计

3.1系统的主要功能

系统的主要功能是实现基本的客户的数据管理和维护。主要包括:

(1)添加:添加客户信息记录

(2)显示:显示客户信息记录

(3)删除:删除客户信息记录

(4)查询:查询客户信息记录

(5)修改:修改客户信息记录

(6)保存:将信息保存到文件

3.2 系统的总体结构

C语言课程设计报告示例

添加:可以添加客户信息记录,依次输入编号、姓名、年龄、电话号码、地址、电子邮箱后,会提示是否继续添加。

显示:可以以表格形式输出所有客户信息里的记录

删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容

查询:可以选择用姓名、电话、地址三种方式查询

修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、地址、电子邮箱即可完成修改

保存:,输入文件名(带后缀名)后,即可将客户信息信息保存 3.3 系统软硬件环境

本程序所适用的计算机系统软硬件环境要求为: 硬件环境: Pentium III 500以上内存:256M 软件环境: Windows XP

3.4 数据结构设计

客户信息数据结构类型如下:

struct Person { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[40]; /*住址*/ };

4 系统的详细设计

根据系统总体结构对问题进行的模块划分,可以采用函数来完成模块功能的实现,分别使用了Input(Person per[],int n)、Display(Person per[],int n)、Delete_a_record(Person per[],int n)、Query_a_record(Person per[],int n)、Change(Person per[],int n)、WritetoText(Person per[],int n)等函数。其中数据的查找、数据的删除又可通过不同的方式如按学号或姓名等进行操作。

4.1 添加客户信息记录Input(Person per[],int n):

1.系统流程

C语言课程设计报告示例

图4.1 添加记录模块流程图

该函数主要用来输入新客户信息,该函数实现过程中首先定义了两个变量sign和i。首先判断sign的值,如果为字符“n”或“N”,结束信息输入,否则输入客户信息。函数参数n表示最后文件中所保存的数据记录条数,用变量i来抽象表示其中的任何一条记录。之后需使用户输入数据。以上操作成为一个循环过程,最后设计一个选择(y/n),根据用户的选择决定循环的进行,‘y’继续循环操作,‘n’则退出该函数回到主函数。

2.代码实现:

int Input(Person per[],int n)

{

int i=0;

char sign,x[10];

while(sign!='n'&&sign!='N')

{

printf("\t编号:");

scanf("\t%d",&per[n+i].score);

printf("\t姓名:");

scanf("\t%s",per[n+i].name);

printf("\t年龄:");

scanf("\t%s",per[n+i].age);

printf("\t电话号码:");

scanf("\t%s",per[n+i].num);

printf("\t通讯住址:");

scanf("\t%s",per[n+i].adds);

printf("\t电子邮箱:");

scanf("\t%s",per[n+i].email);

gets(x);

printf("\n\t是否继续添加?(Y/N)");

scanf("\t%c",&sign);

i++;

}

return(n+i);

}

4.2 显示客户信息记录Display(Person per[],int n):

4.3 删除客户信息记录Delete_a_record(Person per[],int n):

……

5 系统测试及调试

系统的测试及调试是为了发现程序中错误,而执行程序的过程。

1)双击该程序,进入一个主界面函数,出现了选择的界面

C语言课程设计报告示例

;

2)当输入“1”,则将里面的客户信息按姓名拼音的先后输出来;

C语言课程设计报告示例

……

3)在本次实习过程中碰到的编译、连接的错误主要有:

(1)缺少变量定义,定义位置不正确;

前后有些变量前后定义和使用不一致,在错误信息的提示下一般还是很容易找到。需要注意的是有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。

(2)语法错误;

一些语法错误在信息框的提示下一般是能够排除的。

6 用户手册

1)本系统执行文件为:Cpp1.exe。

2)进入系统界面后,在主菜单的中,选择相应的操作前的数字,出现提示界面。根据提示输入相关信息或得到预期结果。

3)在输入信息时:编号为字符型,

姓名为1~5个汉字或1~10个英文字母。

电话:为11位数字字符。

邮箱:为20位字符。

年龄:最多为8位数字字符

住址:为1~20个汉字。

7 总结

这次的程序实设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对C的操作有了进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。

当我选择客户信息这个题目时,一开始想运用大量链表及指针来完成,但是在慢慢琢磨之后,觉得这个不一定要用链表,于是改变了编程思路。当然还有不少文件的读写问题,不过还是通过不断测试之后顺利解决了。另外一点要说的就是这个程序用了很多的循环,因此对于循环的控制要十分小心,有时while和do-while的区别也是十分重要的。

总体来说,这次C语言程序设计实验还是比较成功的,虽然最终程序还存在一些不足,但能取得这样的成绩我还是比较高兴的。

最后,要感谢学校为我们提供这次实验机会,也要感谢老师的教导,

帮助与支持。

8 参考文献

[1] 谭浩强、张基温著.C语言程序设计(第3版)》.北京:清华大学出版社,2005

……

9 附录

相关推荐