C语言程序的设计实验报告课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char address[30]; //通讯地址
char QQ[20]; //QQ
int t; //类别标记
char fenlei[30]; //分类
};
struct address_list1 px[2ቤተ መጻሕፍቲ ባይዱ0];
struct address_list1 temp;
if(head==NULL)
{
printf("通讯录为空,无法排序!\n");
课程设计的目的和要求:
1、使学生巩固和加强《C语言程序设计》课程的理论知识。
2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。
3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。
4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S图表示算法。
5、使学生掌握调试程序的基本方法及上机操作方法。
return(head);
}
p1=head;
for(i=0;i<n,p1!=NULL;i++)
{
strcpy(px[i].name,p1->name);
strcpy(px[i].work,p1->work);
strcpy(px[i].handset,p1->handset);
strcpy(px[i].phone,p1->phone);
9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。
10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。
11、课程设计题目及内容
员工通讯管理系统:
⑷要求有欢迎界面、命令选择菜单、录入的数据保存在文件中,对数据的操作通过链表(每条记录保存在一个节点中(每个节点是一个结构体类型的数据),将节点链接在一起构成链表)、数组、结构体等数据结构实现;
⑸模块化程序设计:要求在设计的过程中,按功能定义函数或书写多个源程序文件,按照从顶向下逐步细化的模块化原则进行程序设计,各个功能模块用函数的形式来实现;
strcpy(px[i].email,p1->email);
6、掌握书写程序设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。
7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。
8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
思路虽然听起来很简单,但是在实际操作起来总存在这样那样的错误,比如说变量名不统一等合作性问题,而由于链表不是授课内容,不能很好的掌握,在写的过程中总是出现考虑不周全的情况。但是在百度的帮助下和不懈的努力下,在预期时间完成了我的任务并且还参与了最终程序的合并调试。
struct address_list *paixu(struct address_list *head)
2
⑴课程设计题目可以协商合作,但每名同学必须完成每个功能函数,甚至每条语句的作用。只有了解了整个程序设计思路,每个函数、设置每条语句的作用,才达到开“计算机与程序设计语言”这门课的目的。
⑵由于上机时间有限,要求在没上机时事先写好代码,再在上机时进行调试。
⑶要求利用结构化程序设计方法以及C的编程思想来完成系统的设计;
中南大学
二○一三~二○一四学年第一学期
信息科学与工程学院
程序设计基础实践
设计报告
课程名称:程序设计基础实践
班级:
学号:
姓名:
指导教师:
二○一三年十二月
一、
通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
{
struct address_list *p1,*p2;
int i,j;
struct address_list1
{
char name[30]; //名字
char work[50]; //单位
char handset[30]; //手机
char phone[30]; //固定电话
char email[30]; //电子邮件
对于菜单的实现,首先我们用printf函数把程序的功能列出来,然后等待用户选择而执行不同的函数,执行完了一个功能后又回到菜单。保存数据要通过文件来实现。
2
3
在简单的分工之后,我的任务是完成通讯录的排序,因为主题是用链表来实现通讯录之间的连接,而链表是不好直接进行排序的,所以我想到了数组。即把链表中指针指向的内容赋给一个数组,利用我们学到的冒泡排序法对其进行排序,排序结束之后重新赋回去。
⑹学生所选课题必须上机通过,并获得满意的结果;
3
⑴根据问题描述,设计数据存储方式;
⑵分析系统功能,划分功能模块,确定各模块函数名称;
⑶主程序算法设计和各模块算法设计;
⑷编程实现;
⑸调试和测试;
三
1
以上所给的课程设计的题目,每一个对象都包括多个属性。所以要考虑数据的存储形式要用结构体类型来实现。首先,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
通讯录信息为:姓名、地址、单位、固定电话、移动手机、分类(包括同事、朋友、同学、家人等)、EMAIL、QQ等。
1.通讯录的增加;
2.通讯录的修改、删除;
3.按姓名、电话、QQ查询;
4.通讯录的排序;
5.分类统计;
6.通讯录输出。
二、
1
⑴硬件:一般PC机。
⑵软件:操作系统为WindowsXP或Windows2000,设计语言为Visual C++或Turbo C2.0。
char QQ[20]; //QQ
int t; //类别标记
char fenlei[30]; //分类
};
struct address_list1 px[2ቤተ መጻሕፍቲ ባይዱ0];
struct address_list1 temp;
if(head==NULL)
{
printf("通讯录为空,无法排序!\n");
课程设计的目的和要求:
1、使学生巩固和加强《C语言程序设计》课程的理论知识。
2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。
3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。
4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S图表示算法。
5、使学生掌握调试程序的基本方法及上机操作方法。
return(head);
}
p1=head;
for(i=0;i<n,p1!=NULL;i++)
{
strcpy(px[i].name,p1->name);
strcpy(px[i].work,p1->work);
strcpy(px[i].handset,p1->handset);
strcpy(px[i].phone,p1->phone);
9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。
10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。
11、课程设计题目及内容
员工通讯管理系统:
⑷要求有欢迎界面、命令选择菜单、录入的数据保存在文件中,对数据的操作通过链表(每条记录保存在一个节点中(每个节点是一个结构体类型的数据),将节点链接在一起构成链表)、数组、结构体等数据结构实现;
⑸模块化程序设计:要求在设计的过程中,按功能定义函数或书写多个源程序文件,按照从顶向下逐步细化的模块化原则进行程序设计,各个功能模块用函数的形式来实现;
strcpy(px[i].email,p1->email);
6、掌握书写程序设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。
7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。
8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。
思路虽然听起来很简单,但是在实际操作起来总存在这样那样的错误,比如说变量名不统一等合作性问题,而由于链表不是授课内容,不能很好的掌握,在写的过程中总是出现考虑不周全的情况。但是在百度的帮助下和不懈的努力下,在预期时间完成了我的任务并且还参与了最终程序的合并调试。
struct address_list *paixu(struct address_list *head)
2
⑴课程设计题目可以协商合作,但每名同学必须完成每个功能函数,甚至每条语句的作用。只有了解了整个程序设计思路,每个函数、设置每条语句的作用,才达到开“计算机与程序设计语言”这门课的目的。
⑵由于上机时间有限,要求在没上机时事先写好代码,再在上机时进行调试。
⑶要求利用结构化程序设计方法以及C的编程思想来完成系统的设计;
中南大学
二○一三~二○一四学年第一学期
信息科学与工程学院
程序设计基础实践
设计报告
课程名称:程序设计基础实践
班级:
学号:
姓名:
指导教师:
二○一三年十二月
一、
通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
{
struct address_list *p1,*p2;
int i,j;
struct address_list1
{
char name[30]; //名字
char work[50]; //单位
char handset[30]; //手机
char phone[30]; //固定电话
char email[30]; //电子邮件
对于菜单的实现,首先我们用printf函数把程序的功能列出来,然后等待用户选择而执行不同的函数,执行完了一个功能后又回到菜单。保存数据要通过文件来实现。
2
3
在简单的分工之后,我的任务是完成通讯录的排序,因为主题是用链表来实现通讯录之间的连接,而链表是不好直接进行排序的,所以我想到了数组。即把链表中指针指向的内容赋给一个数组,利用我们学到的冒泡排序法对其进行排序,排序结束之后重新赋回去。
⑹学生所选课题必须上机通过,并获得满意的结果;
3
⑴根据问题描述,设计数据存储方式;
⑵分析系统功能,划分功能模块,确定各模块函数名称;
⑶主程序算法设计和各模块算法设计;
⑷编程实现;
⑸调试和测试;
三
1
以上所给的课程设计的题目,每一个对象都包括多个属性。所以要考虑数据的存储形式要用结构体类型来实现。首先,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
通讯录信息为:姓名、地址、单位、固定电话、移动手机、分类(包括同事、朋友、同学、家人等)、EMAIL、QQ等。
1.通讯录的增加;
2.通讯录的修改、删除;
3.按姓名、电话、QQ查询;
4.通讯录的排序;
5.分类统计;
6.通讯录输出。
二、
1
⑴硬件:一般PC机。
⑵软件:操作系统为WindowsXP或Windows2000,设计语言为Visual C++或Turbo C2.0。