c语言课设Word下载.docx

上传人:b****6 文档编号:21910060 上传时间:2023-02-01 格式:DOCX 页数:18 大小:189.77KB
下载 相关 举报
c语言课设Word下载.docx_第1页
第1页 / 共18页
c语言课设Word下载.docx_第2页
第2页 / 共18页
c语言课设Word下载.docx_第3页
第3页 / 共18页
c语言课设Word下载.docx_第4页
第4页 / 共18页
c语言课设Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言课设Word下载.docx

《c语言课设Word下载.docx》由会员分享,可在线阅读,更多相关《c语言课设Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

c语言课设Word下载.docx

很好

比较好

一般

不好

报告完成情况

纪律表现

程序创意

所选模块完成情况

较差

所选算法难易程度

复杂

比较复杂

简单

很简单

程序可操作性

答辩表现

最后成绩

优秀

A>

=5

B<

=3

C<

=0

D=0

E=0

良好

=4

=1

中等

B>

=2

C>

D<

及格

A=0

B=0

D>

不及格

C=0

E>

负责指导教师:

(签名)

指导教师:

自本102班C语言课程设计任务书

一、设计目的

通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。

二、设计要求

1、认真查阅参考书、资料2、遵守课程设计时间安排

3、按时上机,认真调试程序4、认真完成课程设计报告

三、课设报告装订内容及顺序

1、课程设计封皮2、目录

3、课程设计成绩评定表4、课程设计任务书

5、程序基本框架图6、程序设计说明书

7、源代码清单8、课设总结与心得

四、设计题目

●通讯录管理系统

五、时间安排(一周:

从6月13日到6月17日)

1、查阅资料及程序设计(1天)2、程序编制及调试(3天)

3、成绩评定(0.5天)3、打印报告(0.5天)

六、参考文献

1、《C语言程序设计》李淑华/李贞编大连理工大学出版社

2、《C语言程序设计》孙连科/姚大鹏编辽海出版社

3、《C++时尚编程百例》网冠科技编.机械工业出版社

4、《TURBOC实用大全》徐金梧等编.机械工业出版社

程序基本框架结构图

程序设计说明书

一、程序运用的语句:

Switch语句,

For语句,

If语句。

二、程序构思:

程序通过运用switch语句实现各种功能的选择,通过for(;

)有限循环实现联系人的添加,通过for循环语句实现联系人的显示,通过字符串的比较实现联系人的查找。

程序的亮点在于其简单易于操作,便于各种功能的顺利运行,而且程序的所有函数都在我们的知识范围之内,便于程序的调试和完善。

可移植性良好。

三、程序功能简介

本程序有添加联系人,查找联系人,删除联系人,显示,编辑,读取保存功能。

(一)、添加联系人:

定义全局变量,结构体指针,采用for有限循环进行输入。

(二)、查找联系人:

利用字符串的比较功能(strcmp),For循环语句和输出函数(printf)实现该功能。

(三)、删除联系:

利用字符串的比较,字符串拷贝,If语句,For循环实现该功能,全局变量n自减改变记录条数。

(四)、显示:

利用全局变量n,For循环语句实现该功能。

(五)、编辑:

利用字符串的比较,字符串的拷贝,switch语句,全局变量n和for循环,把记录内容显示。

(六)、读取:

利用文件指针,文件打开函数fopen(),switch语句,fseek()函数,定位函数rewind()来实现。

(七)、保存:

利用文件指针,switch语句,以及一些文件操作实现该功能。

源代码清单

#include<

stdio.h>

string.h>

stdlib.h>

conio.h>

typedef

structTongxun

{

charname[40];

charage[40];

charphone[40];

charqq[40];

charemail[40];

charaddress[40];

}TX;

TXstu[400];

TX*p=stu;

intn=0;

charS[50];

charS1[50];

voidAdd(TXstu[])

inti,m;

printf("

添加联系信息\n"

);

请输入添加联系人的个数:

"

scanf("

%d"

&

m);

for(i=n;

i<

m+n;

i++)

{printf("

输入序号:

%d\n"

i+1);

姓名:

%s"

(p+i)->

name);

年龄:

age);

电话:

phone);

QQ:

qq);

邮箱:

email);

家庭住址:

address);

}

n=n+m;

添加成功,按任意键返回"

getch();

voidSearch(TXstu[])

{inti,j,k=1;

charName[40];

请输入要查询的姓名:

Name);

for(i=0;

n;

j=strcmp(Name,stu[i].name);

if(j==0)

成功找到\n"

%s,年龄:

%s,电话:

%s,QQ:

%s,邮箱:

%s,家庭住址:

%s\n"

name,(p+i)->

age,(p+i)->

phone,(p+i)->

qq,(p+i)->

email,(p+n)->

k=0;

if(k!

=0)

对不起,未发现要查找的信息\n"

按任意键返回"

voidDelete(TXstu[])

{inti,j,m,k=1,judge;

请输入要删除的姓名:

确实要删除此条信息?

是:

1;

否:

其他:

judge);

if(judge==1)

for(m=n-1;

m>

i;

m--)

strcpy(stu[m-1].name,stu[m].name);

strcpy(stu[m-1].age,stu[m].age);

strcpy(stu[m-1].phone,stu[m].phone);

strcpy(stu[m-1].qq,stu[m].qq);

strcpy(stu[m-1].email,stu[m].email);

strcpy(stu[m-1].address,stu[m].address);

保存文件后删除成功\n"

n=n-1;

对不起,未发现要删除的信息\n"

voidEdit(TXstu[])

inti,j,k=1,num,num1;

charEditor[40];

请输入要修改的信息姓名:

\n"

选择修改项目\n"

1、姓名\n"

2、年龄\n"

3、电话\n"

4、QQ\n"

5、邮箱\n"

6、家庭住址\n"

0、返回\n"

while(num1!

您要选择:

num);

switch(num)

case0:

num1=0;

break;

case1:

{

输入新的名字:

Editor);

strcpy(stu[i].name,Editor);

Editor[0]='

\0'

;

}break;

case2:

输入新的年龄:

strcpy(stu[i].age,Editor);

case3:

输入新的电话:

strcpy(stu[i].phone,Editor);

case4:

输入新的QQ:

strcpy(stu[i].qq,Editor);

case5:

输入新的邮箱:

strcpy(stu[i].email,Editor);

case6:

输入新的家庭住址:

strcpy(stu[i].address,Editor);

voidDisplay(TXstu[])

{inti;

记录:

%s\n电话:

%s\n家庭住址:

(p+i)->

email,(p+i)->

voidType(TXstu[])

inti,j;

FILE*fp;

输入原通讯录的文件名以及路径:

S);

fp=fopen(S,"

rb"

if(fp==NULL)

没有找到文件是否建立新文件:

1、是2、否:

j);

switch(j)

case2:

exit

(1);

break;

case1:

{S[0]='

请输入要新建的文件名以及路径:

wb"

else

{rewind(fp);

fscanf(fp,"

n);

n+1;

{fseek(fp,2+i*240,SEEK_SET);

fread(p+i,1,240,fp);

}

fclose(fp);

voidSave(TXstu[])

{intx,y;

FILE*fp1;

1、保存2、另存为"

x);

switch(x)

fp1=fopen(S,"

请输入要保存的文件名以及路径:

S1);

fp1=fopen(S1,"

rewind(fp1);

fprintf(fp1,"

n);

for(y=0;

y<

y++)

{fseek(fp1,2+y*240,SEEK_SET);

fwrite(p+y,1,240,fp1);

fclose(fp1);

voidMenu()

:

:

∴★∵**☆欢迎来到通讯录**☆.∴★∵**☆\n"

∴★∵**☆.∴★∵*主菜单∴★∵**☆.∴★∵**☆∴.\n"

1、添加联系人\n"

2、查找联系人\n"

3、删除联系人\n"

4、显示通讯录\n"

5、编辑通讯录\n"

6、读取通讯录\n"

7、保存通讯录\n"

0、退出\n"

voidmain()

{inti=1,a,j;

Type(stu);

while(i!

{system("

cls"

Menu();

请输入要操作的选项:

a);

switch(a)

Add(stu);

Search(stu);

Delete(stu);

Display(stu);

Edit(stu);

Type(stu);

case7:

Save(stu);

i=0;

是否要保存修改:

1、是2、否"

exit(0);

exit(0);

课程设计总结

在忙碌的学习和工作后,我们终于完成了属于我们自己的C语言程序设计。

在本次课程设计,使我对计算机C语言内容有了更深一步的熟悉深化,在理论的基础上,进行实践研究。

我们通过自己亲自动手实践中查缺补漏,完善学习。

分工合作进行,大家互帮互助,并且在组长的领导下,我们的工作完成得很顺利,也条学会了更多的知识。

深深的懂得了编程不是一见很容易的事情。

学习C语言,它对于我们,特别是初学者的我们来说更是有一顶挑战性的课程,但是只要我们努力的去学习研究,一切问题终究会被我们所解决,我们只要是用心去学习了,我们就会有收获。

在大家密切的配合下,同学之间取长补短,顺利的完成了所分配的任务.虽然期间有很多波折,但在团体精神的鼓舞下,在组长的带动下,我负责的是通讯录的读取顺利完成,组员的努力合作充分发挥团队的力量,集体的作用,使本次设计圆满的完成了。

这次实训设计,在程序设计的中,我遇到了好多的问题,有时竟会因为一个小小的疏忽让以前所有的设计都前功尽弃。

但是我没有放弃,我的组员们也尽力的帮助我,让我在重重困境里获得了成功。

虽然一些问题的出现阻碍了设计的进度,但在解决问题的过程中让我明白了好多新知识,从而也锻炼了自己的耐力,更加深了我和同学之间的友谊一周的实训,不仅仅检验了我一直以来的学习情况,还加深了我对这门知识的进一步理解,在今后的学习中,我们不仅要牢记书本知识,掌握理论,而且还应学会把理论联系实际中,充分运用所学到的知识,让我们所学的知识能够更好的发挥起作用。

这次实训不仅增强了我对计算机程序设计这门科学的热情和信心,同时更加增强了我们的动手能力和应用能力,丰富了我们的实践经验,让我们在今后的学习和工作中能更好的发挥自己的能力.。

在老师的指导和组员同学的帮助下,虽然出现的问题都被一一解决了,但也让我清楚的明白:

自己对这门知识的掌握还不够,还有很多不足的地方,以后应更加的努力学习.

在以后的生活中、,我们会学习更多的知识,也会运用更多的知识,

在课程设计过程中,我学到了很多书本上没有的知识,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,无论面对什么问题,都以平常心去对待,因为黑夜终将过去,我们收获的会是黎明。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1