ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:107.87KB ,
资源ID:13744446      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13744446.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序模板设计报告课程设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C语言程序模板设计报告课程设计.docx

1、C语言程序模板设计报告课程设计C语言课程设计报告Experime nt Desig ning reporter课程名称 :c语言课程设计英文名称:C Program Experime nt Desig ning专 业:工商管理类+ 软件工程09-2学 号:姓 名:指导教师:日 期:2010年7月12日至2010年7月23日大连交通大学软件学院课程编号: 适用专业:C语言课程设计报告C Program Experiment Designing0120308006 学时: 40 学时软件工程专业 授课单位:软件学院一、 C语言课程设计目的及要求目的:根据课堂讲授内容,学生做相应的自主练习,消化课堂

2、所讲解的内容;通过调 试典型例题或习题积累调试 C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。要求:1.熟悉Turbo C的编程环境、主要菜单功能。2.通过上机验证运算符、表达式、运算规则、函数使用。3.熟练使用C语言的典型语句编写简单程序。4.调试典型例题或习题。5.提高上机编程能力二、 实验类型设计类型三、 实验学时40学时四、 实验设备微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0软件一套五、 C语言课程参考教材:1. C语言程序设计 清华大学出版社 马靖善主编2.谭浩强.C语言程序设计(第三版).北京:高等教育出版

3、社,2002课程设计(报告)任务书任务及要求:1.设计(研究)内容和要求研究内容:C语言课程设计题目相关内容5个小程序都分别是什么任务和要求:(1) 学习C语言基础知识,掌握 C语言编程和程序调试的基本技能。(2) 对指导教师下达的题目进行系统分析。(3 )根据分析结果完成系统设计。(4) 编程:在计算机上实现题目的代码实现。(5) 完成对该系统的测试和调试。(6) 提交课程设计报告。(7) 指标:要求完成课程设计报告 3千字以上(约二、三十页).完成若干综合性程序设计题目,综合设计题目的语句行数的和在 300行语句以上。2.原始依据了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语

4、言进行程序设计。 通过用C语言完成的题目,提高用 C语言解决实际问题的能力。3.参考文献1黄明等 C语言程序设计辅导教材大连理工大学出版社,20062马靖善等.C语言程序设计.清华大学出版社,20053谭浩强.C语言程序设计(第二版)北京:高等教育出版社, 2002C 语言课程设计报告 11谁在说谎问题 11.1功能说明 11.2设计说明 12排列无重复数字的三位数 12.1功能说明 12.2设计说明 13已知一组数据按从小到大输出 23.1功能说明 23.2设计说明 24有两个字符串S1和S2,编写程序把它们连接起来 24.1功能说明 24.2设计说明 25主函数说明 35.1功能说明 35

5、.2程序运行截图 35.3源程序代码 36通讯录系统管1.1功能说明 31.2设计分析 31.3程序运行截图 41.4程序源代码 4大连交通大学 软件学院SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITYC语言课程设计报告EXPERIMENT DESIGNING1谁在说谎问题1.1系统分析通过if语句分析谁在说谎1.2设计说明1、 定义:#in cludestdio.h2、 子函数,判定谁在说谎。函数名:g1()返回值:a b c其中之一参数:int a,b,c处理流程:Step1 :判定a是否为假,如果为真进去下一层,如果为假直接输出; Step2

6、:;判定b是否为假,如果为真进去下一层,如果为假直接输出 Step3:判定c是否为假,如果为假直接输出。2排列无重复数字的三位数2.1功能说明将三个数排列成无重复的三位数2.2设计说明1、 定义:#i nclude stdio.h#i nclude con io.h2、 子函数,输出无重复的三位数。函数名:g2()返回值:i,j,k参数:int i,j,k处理流程:Step1:输入三个数;Step2:以for循环排列三个数;Step3 :输出无重复的三位数。3已知一组数据按从小到大输出3.1功能说明将一组数据按从小到大输出。3.2设计说明1、 定义:#in clude#define N 102

7、、 子函数,将数据从大到小输出。函数名:g3()返回值:一组数据参数:int aN=6,3,42,23,71,98,67,56,38;int i,j,t;处理流程:Step1:定义一组数据 ;Step2:用for循环判断数据的大小;Step3:输出数据按从小到大顺序。4有两个字符串S1和S2,编写程序把它们连接起来4.1功能说明将两个字符串S1和S2,编写程序把它们连接4.2设计说明1、 定义:# in clude2、 子函数,连接两个字符串函数名:charint返回值:两个字符串参数:char S180,S240;i nt i=0,j=0;处理流程:Step1 :定义两个字符串Step2:向

8、子函数输入两个字符串;Step3:按顺序输出两个字符串。5主函数说明5.1功能说明主函数main()从键盘上输入1,则运行第一个程序:谁在说谎问题从键盘上输入2,则运行第二个程序:排列无重复数字的三位数从键盘上输入3,则运行第三个程序:5个学生,输入他们的学号、姓名、数学成绩和英 语成绩从键盘上输入4,则运行第四个程序:有两个字符串 S1和S2,编写程序把它们连接起来5.2程序运行截图56,协:退出If k 32,4.3Im 12 3 4C :U 詔 rsXD eskt a 氐富用字 cccDebu ag ongiang/u.-T.源,1,2、冋复聲 谎重组字 说无-个 霍已有字的三位数:6,

9、 2, 42, 22, 35, 71, 99, G7,和編写程序把它勺连按起来4.3.14.3.23Utop 言羽手讥cDebuggongxSan gyu. exen5.3源程序代码1,g1()#includestdio.h void g1()int a,b,c;for(a=0;a=1;a+)for(b=0;b=1;b+)for(c=0;c=1;c+)if(a&!b|!a&b)&(b& !c|!b&c|!b&c)&(c&a+b=0|!c&a+b!=0)printf(zhangsan told a %sn,a?truth:lie);prin tf(lisi told a %sn,b?truth:

10、lie);printf(wangwu told a %sn,c?truth:lie);getchar();2,g2()#i nclude stdio.h #in clude coni o.hg2()int i,j,k;prin tf(n);for(i=1;i5;i+) for(j=1;j5;j+)for (k=1;k5;k+)if (i!=k&i!=j &j!=k) prin tf(%d,%d,%dn,i,j,k);3,g3()#in clude#define N 10g3()int aN=6,3,42,23,71,98,67,56,38; int i,j,t;prin tf(The arra

11、y before sorted:); for(i=0;iN;i+)prin tf(%4d,ai);for(i=0;i9;i+) for(j=1;j10;j+)t=ai;ai=aj;aj=t; for(i=0;iN;i+) prin tf(%4d,ai);4,g4()#in cludeg4()char S180,S240;int i=0,j=0;prin tf(n In put stri ng1:);scan f(%s,S1);prin tf(n In put stri ng2:);scan f(%s,S2);while(S1i!=0)i+;while(S2j!=0) S1i+=S2j+;S1i

12、=0;prin tf(n The conn ected stri ng is:);prin tf(%s,S1);5, mai n()#in elude stdio.hexter n g1(); exter n g2(); exter n g3(); exter n g4(); main ()int i;printf(0:退出 n);printf(1:谁在说谎问题n”);printf(2:排列无重复数字的三位数 n);printf(3:已知一组数据:6,3,42, 23, 35, 71,98, 6 printf(4:有两个字符串S1和S2,编写程序把它们连接起来 while(1)scan f(%

13、d, &i);switeh(i)case 1:g1();break;case 2:g2();break;case 3:g3();break;case 4:g4();56,38 n);n);6通讯录管理6.1功能说明(1) 通讯录信息和数据格式:姓名、地址、学号、(2) 程序功能:添加记录输出记录查找记录(按姓名查找)删除记录保存到文件打开文件QQ号、号、电子邮箱号6.2设计说明1)数据结构依据给定的通讯录信息和数据格式,链表结点必须用结构实现。结构类型的层次结构:struct list/*定义数据结构*/char name20; /* 姓名 */char addr20; /* 地址 */cha

14、r num20;/* 学号 */char qq1O;/* qq 号*/char phnum20;/* 电话号码 */char email30;/* 电子邮箱号 */(2)模块化分主函数mai n()添加记录void Add()输出记录void pri nt()查找记录(按姓名查找)void Fi nd()删除记录void Delete()保存到文件void SaveFree()打开文件void Creat()主菜单函数void menu()(3)功能模块图通讯录管理系统添显查删保打退加示找除存开出联联联联到文系系 人系 人系 人系 人文 件件统通讯录管理功能模块图(4)程序处理流程系统的执行应

15、从系统菜单的选择开始,允许用户输入 0-4之间的数值来选择要进行的操作,输入其它字符都是无效的,系统会给出出错的提示信息。若用户输入 1则调用add()函数,进行添加联系人操作;若输入 2,则调用print()函数,显示联系人信息; 若输入3,则调用find()函数,查找联系人信息;若用户输入 4,则调用delete()函数,删除联系人信息;若输入 0,则调用savefree ()函数,将联系人信息保存到文件;输入 其他,将退出6.3程序运行截图大连交通大学 软件学院SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITYC语言课程设计报告EXPERIME

16、NT DESIGNING6.4源程序#in clude#in clude#in cludestruct listchar n ame20;char addr20;char num20;char qq1O;char phnu m20;char email30;struct list *n ext;typedef struct list LIST;LIST *head二NULL;void menu(); /*菜单*/ void Add(); /* 添加记录 */ void print(); /* 输出记录 */ void Find(); /*查找记录(按姓名)*/ void Delete(); /

17、* 删除记录 */ void SaveFree(); /*保存到文件 */ void Creat(); /* 打开文件 */void mai n()char c;Creat(); /*打开文件*/while(1)menu(); /*显示菜单*/sea nf(” c, &c);switch(c) case 1:Add();break; /*添加记录 */ case 2:print(); break;/*输出条目 */ case 3:Find(); break;/*查找条目 1.按姓名 */ case 4:Delete(); /*删除信息 */ print(); break;/*输出删除后的结果*

18、/ case O:SaveFree(); /保存并释放内存 */ exit(O); /* 退出 */ break;default: printf(选择错误r);break;/*菜单*/void menu()prin tf(n*n);printf(*t1.添加记录*n);printf(*t2.输出记录*n);printf(*t3.查询记录*n);printf(*t4.删除记录*n);prin tf(*t0. 保存并退出!*n);printf(H*n)printf(t请选择将要进行的操作:n);/*添加记录*/ void Add()LIST *p仁NULL,*p2二NULL;p1=(LIST *)

19、malloc(sizeof(LIST); /* 申请结点 */printf(输入姓名:n); /*添加信息*/sea nf(%s,p1- n ame);printf(输入地址:n);sea nf(%s,p1-addr);printf(输入学号:n);sea nf(%s,p1- nu m);printf(请输入 qq 号:n);sea nf(%s,p1-qq);printf(输入电话:n”);sea nf(%s,p1-ph nu m);printf(请输入 email:n);sea nf(%s,p1-email);p1-next二NULL; /* 保存到链表 */if(head=NULL)hea

20、d=(LIST *)malloc(sizeof(LIST); /* 申请空间 */head-n ext=p1;else for(p2=head;p2-next!二NULL;p2=p2-next); /* 找到结点尾 */p2-n ext=p1;printf(此记录已添加! ”);/*输出学生信息*/void pri nt()LIST *p=NULL;if(head=NULL)printf(这是一个新记录,请添加记录n);return;printf(*n); /*通 讯 录 系输出信息*/printf(姓名 tt 地址t 学号ttqqtt 电话ttemailn);for(p二head-n ext

21、;p!二NULL;p=p- n ext) prin tf(%stt%st%st%st%st%sn,p- name,p-addr,p- num,p-qq, p-ph nu m,p-email);/*查找信息1按姓名、2、按学号*/void Fi nd()LIST *p;char name120,num120;int i;printf(请输入查找方式1、按姓名;2、按学号);sca nf(%d,&i);if(i=1)printf(请输入要查找的姓名:n);sea nf(%s, name1);printf(通 讯 录 系printf(姓名 tt 地址t 学号tqqt 电话ttemailn);for(

22、p二head-n ext;p!=NULL;p=p-n ext)if(stremp(p-n ame, name1)=0)prin tf(%stt%st%st%st%st%sn,p- name,p-addr,p- num,p-qq, p-ph nu m,p-email);else if(i=2)printf(请输入要查找人的学号:n);sea nf(%s, num1);prin tf(* 通 讯 录 系 统*、V、printf(姓名 tt 地址t 学号tqqt 电话temailn);for(p二head-n ext;p!二NULL;p=p-n ext)if(stremp(p-nu m, nu m1

23、)=0)prin tf(%stt%st%st%st%st%sn,p- name,p-addr,p- num,p-qq, p-ph nu m,p-email);elseprintf(请选择1和2两哥数字n);/*删除信息*/void Delete()char name120; /*先查找 后删除*/LIST *p = head-n ext, *pr = head-n ext;printf(请输入要删除的姓名:n);scanf( %s,name1);if (head- next = NULL)printf(无此节点!n);return;while (strcmp(p-n ame ,n ame1)!

24、=0 )& p-next != NULL)pr =p;p =p-n ext;if (strcmp(name1, p-name)=0)/*输出删除信息 */ prin tf(%stt%st%st%st%st%sn,p- next- n ame,p- next-addr, p-n ext- nu m,p-n ext-qq,p-n ext-ph nu m,p-n ext-email);if (p = head-n ext)head-n ext = p-n ext;elsepr-n ext = p-n ext;free(p);printf(此记录已删除!);/*保存链表信息到文件并释放内存空间 */v

25、oid SaveFree()LIST *p=NULL;FILE *fp;char *Book二list.txt;if(head=NULL)printf(n 记录为空! n);return;elsep=head-n ext;if(fp二fope n(Book,wb+)=NULL)printf(n 打不开文件!n”);return;while(p!二NULL) /* 保存信息 */fwrite(p,sizeof(LIST),1,fp);p=p-n ext;printf(保存完毕!);fclose(fp);*释放链表空间*for(;head- next!二NULL;)p=head-n ext;hea

26、d-n ext二head-n ext- n ext;free(p);free(head);/*文件信息输出到链表*/void Creat()FILE *fp;LIST *p1二NULL,*p2二NULL,*temp二NULL;if(fp二fope n(address list.txt,rb+)=NULL)prin tf(n* 这是一个新的通讯录管理系统*、| return;head=(LIST *)malloc(sizeof(LIST);head- next二NULL;temp二p2二head;while(! feof(fp) /* 循环读取 */p1=(LIST *)malloc(sizeof(LIST);temp=p2;p2-n ext=p1;p2=p1;fread(p1,sizeof(LIST),1,fp);temp-n ext二NULL;fclose(fp); /* 关闭文件 */代码

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2