c语言课程设计报告书
c语言课程设计报告详细版
c语言课程设计报告详细版一、课程目标知识目标:1. 掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、表达式和语句。
2. 理解并能运用控制结构,如顺序、选择和循环结构进行程序设计。
3. 学会使用数组、函数和指针进行程序开发,并能理解它们在解决复杂问题中的应用。
4. 熟悉基本的输入输出操作,文件操作以及简单的错误处理机制。
技能目标:1. 能够编写简单的C程序,解决实际问题,展现出逻辑思考和问题解决的能力。
2. 能够阅读和分析C程序代码,理解程序的结构和执行过程。
3. 能够使用调试工具检查和修正程序中的错误,提高程序的稳定性和可靠性。
4. 能够通过小组合作,完成一个综合性的项目,培养团队协作和项目管理的初步技能。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究计算机科学的热情,形成主动学习和终身学习的习惯。
2. 培养学生的创新思维和批判性思维,鼓励尝试不同的解决方案,勇于面对编程中的挑战。
3. 增强学生的信息意识和责任感,理解程序在现实生活中的应用和影响,认识到编程对社会发展的贡献。
4. 通过项目实践,培养学生的集体荣誉感,加强沟通能力,形成良好的团队合作精神。
课程性质分析:本课程为高年级的C语言程序设计,旨在通过项目驱动的教学方法,使学生在实践中掌握C语言的编程技能,并能够在日常生活和学习中应用。
学生特点分析:学生具备一定的逻辑思维能力,对计算机编程有一定兴趣,但个体差异较大,需要针对不同层次的学生设计不同难度和类型的教学活动。
教学要求:1. 结合实际案例进行教学,强调理论知识与实践操作的结合。
2. 注重培养学生的实际编程能力和问题解决能力,鼓励学生自主探索和协作学习。
3. 通过形成性评价和总结性评价相结合的方式,全面评估学生的学习成果。
二、教学内容1. C语言基础- 变量与数据类型- 运算符与表达式- 输入输出函数- 顺序结构程序设计2. 控制结构- 选择结构(if-else)- 循环结构(for、while、do-while)3. 函数与数组- 函数定义与调用- 数组的使用- 二维数组4. 指针与字符串- 指针的概念与使用- 指针与数组- 字符串处理函数5. 文件操作与错误处理- 文件的打开与关闭- 文件的读写操作- 简单错误处理6. 综合项目实践- 项目需求分析- 功能模块划分- 编程实现与调试- 项目展示与评价教学内容安排与进度:第一周:C语言基础第二周:控制结构第三周:函数与数组第四周:指针与字符串第五周:文件操作与错误处理第六周至第八周:综合项目实践教材章节关联:《C程序设计》第一章至第五章,涵盖课程教学内容中的所有知识点,为综合项目实践打下基础。
c语言课程设计报告文档
c语言课程设计报告文档一、课程目标知识目标:1. 理解C语言的基本语法和程序结构,掌握变量定义、数据类型、运算符、表达式等基本概念;2. 学会使用C语言进行顺序结构、分支结构、循环结构的编程,并能运用这些结构解决实际问题;3. 掌握C语言数组和字符串的使用,熟练运用数组进行数据处理;4. 了解C语言函数的定义与调用,学会编写简单的函数,理解函数参数、返回值等概念;5. 了解C语言指针的基本概念,学会使用指针进行内存操作和数据传递。
技能目标:1. 培养学生运用C语言编程解决实际问题的能力;2. 培养学生具有良好的编程习惯,如代码规范、注释清晰等;3. 提高学生调试程序、查找并解决问题的能力;4. 培养学生团队协作能力,学会与他人共同完成项目。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神;2. 培养学生面对编程困难时,具有坚持不懈、勇于克服的品质;3. 增强学生的自信心,使其在编程实践中感受到成就感;4. 引导学生认识到编程对于社会发展的重要性,培养其社会责任感。
本课程旨在让学生掌握C语言的基本知识和技能,培养其编程思维和解决问题的能力,同时注重培养其情感态度价值观,使其成为具有全面素质的计算机编程人才。
在教学过程中,根据学生的年龄特点和认知水平,采用任务驱动的教学方法,以实例为主线,引导学生主动参与、探究学习。
通过课程学习,使学生能够具备一定的编程基础,为后续学习打下坚实基础。
二、教学内容本章节教学内容围绕C语言基础知识,结合课程目标,制定以下教学大纲:1. C语言概述- 了解C语言发展史、特点和应用领域;- 掌握C语言程序的基本结构。
2. 数据类型、变量和常量- 学习基本数据类型(整型、浮点型、字符型);- 掌握变量的定义、赋值和作用域;- 理解常量的概念及其使用。
3. 运算符与表达式- 掌握算术、关系、逻辑运算符及其优先级;- 学习表达式的构成和计算。
4. 顺序结构程序设计- 学习C语言程序的基本输入输出函数;- 编写简单的顺序结构程序。
C语言程序设计课程设计报告
C语言程序设计课程设计报告1. 引言C语言程序设计是计算机科学与技术领域中一门重要的课程。
本报告旨在总结并展示我在该课程中的设计项目。
该项目要求我们使用C 语言设计并实现一个具有特定功能的程序。
2. 项目背景本项目的背景是为了帮助学生加深对C语言的理解和应用。
通过实践项目,我们可以更好地掌握C语言的语法和技巧,提升我们的编程能力。
3. 项目目标本项目的目标是设计一个简单的学生成绩管理系统。
该系统可以实现以下功能:- 输入学生的姓名和成绩;- 计算学生的平均成绩和总成绩;- 根据学生成绩进行排序;- 输出学生成绩单。
4. 设计思路为了实现项目的目标,我采取了以下设计思路:- 使用结构体来保存学生的信息,每个结构体包括学生的姓名和成绩;- 使用数组来保存学生的信息,数组的每个元素对应一个学生的信息;- 使用循环和条件语句来实现用户界面和功能选项;- 使用排序算法对学生成绩进行排序。
5. 程序设计与实现在程序的设计与实现过程中,我首先定义了学生信息的结构体,并声明了相应的全局变量和函数。
接着,我编写了主函数,其中包括用户界面的显示和功能选项的处理。
用户界面的显示采用了简洁美观的格式,每次显示菜单供用户选择相应的功能。
用户可以通过输入对应的数字来选择功能,并根据提示进行相应的操作。
在实现功能方面,我使用了循环来保证程序能够持续运行,直到用户选择退出。
根据用户的选择,程序会调用不同的函数来完成相应的功能,比如输入学生信息、计算平均成绩和总成绩、排序学生成绩等。
6. 测试与验证为了验证程序的正确性和稳定性,我进行了多次测试。
我输入了不同数量和不同范围的学生信息,以确保程序能够正确处理各种情况下的数据。
通过测试,我发现程序能够正常运行,实现了预期的功能。
输入的学生信息能够被正确保存、计算和排序,最终能够输出正确的学生成绩单。
7. 总结与展望通过本项目的设计与实现,我加深了对C语言的理解和应用,提升了我的编程能力。
c语言课程设计实验报告
c语言课程设计实验报告一、教学目标本课程的目标是让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和关键字。
–理解数据类型、变量、常量的概念及使用。
–熟悉运算符、表达式、语句的结构。
–学习函数的定义、声明和调用。
–掌握数组、指针、字符串的基本操作。
–了解结构体、共用体、枚举类型等数据结构。
–学习基本算法和排序、查找等常用算法。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–熟练使用集成开发环境(IDE)进行程序调试和运行。
–掌握编程规范和代码注释,编写可读性强的代码。
–学会使用函数模块化编程,提高代码重用性。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣,激发创新意识。
–培养学生的团队合作精神和自主学习能力。
–强化学生的编程实践能力,提高解决实际问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和关键字。
2.数据类型、变量、常量的使用和声明。
3.运算符、表达式、语句的结构和用法。
4.函数的定义、声明和调用。
5.数组、指针、字符串的基本操作和应用。
6.结构体、共用体、枚举类型等数据结构的概念和使用。
7.基本算法和排序、查找等常用算法。
8.第一周:C语言基本语法和关键字。
9.第二周:数据类型、变量、常量的使用和声明。
10.第三周:运算符、表达式、语句的结构和用法。
11.第四周:函数的定义、声明和调用。
12.第五周:数组、指针、字符串的基本操作和应用。
13.第六周:结构体、共用体、枚举类型等数据结构的概念和使用。
14.第七周:基本算法和排序、查找等常用算法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、示例等方式,向学生传授C语言的基本知识和编程技巧。
2.讨论法:教师引导学生进行问题讨论,培养学生的编程思维和解决问题的能力。
C语言课程设计设计报告书
C语言课程设计设计报告书一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量声明、数据类型、运算符、表达式等基本概念。
2. 学会使用C语言进行顺序结构、分支结构和循环结构的编程。
3. 掌握函数的定义、声明和调用,理解局部变量和全局变量的作用域。
4. 了解数组、指针和字符串的使用,能够运用它们解决实际问题。
技能目标:1. 培养学生编写、编译和调试C程序的能力,提高编程技巧。
2. 培养学生运用C语言解决实际问题的能力,如数值计算、数据处理等。
3. 培养学生分析问题、设计算法和编写程序的能力,提高逻辑思维能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性,提高自主学习能力。
2. 培养学生合作学习、分享经验的精神,提高团队协作能力。
3. 培养学生严谨、认真、负责的学习态度,养成良好编程习惯。
课程性质:本课程为高中年级C语言课程,以实践为主,注重培养学生的编程能力和逻辑思维能力。
学生特点:高中年级学生对计算机编程有一定的基础,好奇心强,学习积极性较高,但需加强实践操作和问题分析能力的培养。
教学要求:结合课程内容和学生特点,采用任务驱动、案例教学等方法,引导学生主动探究、动手实践,提高编程技能和解决问题的能力。
同时,注重培养学生良好的编程习惯和团队合作精神。
通过本课程的学习,使学生能够具备C 语言编程的基本能力,为后续计算机课程学习打下坚实基础。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式。
教材章节:第一章2. 控制结构:顺序结构、分支结构(if语句、switch语句)、循环结构(for循环、while循环、do-while循环)。
教材章节:第二章3. 函数:函数定义、声明、调用;局部变量和全局变量;递归函数。
教材章节:第三章4. 数组:一维数组、二维数组;数组的初始化、遍历和排序。
教材章节:第四章5. 指针:指针的定义与使用;指针与数组、字符串、函数的关系。
c课程设计报告
c课程设计报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生编程思维和解决问题的能力。
具体分为以下三个部分:1.知识目标:–掌握C语言的基本语法和关键字。
–理解数据类型的概念及使用方法。
–熟悉函数的定义和调用。
–了解程序的结构和模块化设计。
–理解指针的概念及其应用。
–掌握基本的数据结构和算法。
2.技能目标:–能运用C语言编写简单的程序。
–能够阅读并理解C语言的程序代码。
–能够利用调试工具进行程序的调试和优化。
–能够运用所学的数据结构和算法解决实际问题。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣和热情。
–培养学生主动探索、勇于创新的科学精神。
–培养学生团队协作和沟通交流的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数的定义和调用–指针和数组–结构体和联合体2.数据结构:–动态规划算法三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解C语言的基本语法、数据结构和算法,引导学生理解和掌握相关知识。
2.案例分析法:通过分析实际案例,让学生了解和掌握C语言在实际编程中的应用。
3.实验法:安排上机实验,让学生动手编写程序,培养学生的编程能力和实践能力。
4.小组讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的团队协作能力。
四、教学资源本课程的教学资源包括:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程调试工具5.在线资源:编程、论坛、开源项目等以上教学资源将有助于学生更好地学习C语言,提高编程能力。
五、教学评估本课程的教学评估分为平时表现、作业和考试三个部分,各部分所占比例分别为30%、30%和40%。
课程设计报告模板c语言
课程设计报告模板c语言一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握变量定义、数据类型、运算符等基础知识;2. 学会使用控制结构,如顺序结构、分支结构和循环结构;3. 掌握函数定义、声明和调用的方法,理解局部变量和全局变量的概念;4. 了解数组、字符串和指针的使用,并能运用它们解决实际问题。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 培养良好的编程习惯,如规范命名、合理注释、代码缩进等;3. 学会使用编译器进行程序编译、调试和运行;4. 能够阅读和分析简单的C程序代码,提高编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情;2. 培养学生的逻辑思维能力,提高问题解决能力;3. 培养学生的团队协作意识,学会与他人分享编程经验;4. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
课程性质:本课程为初中年级的信息技术课程,旨在让学生掌握C语言编程的基本知识和技能。
学生特点:初中学生具有较强的逻辑思维能力和学习兴趣,但对编程知识了解较少。
教学要求:结合学生特点,注重理论与实践相结合,通过实例分析、编程实践等方式,使学生能够掌握C语言的基本知识,提高编程能力。
在教学过程中,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。
将课程目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. C语言基础知识- 变量定义、数据类型和运算符- 输入输出函数的使用- 顺序结构程序设计2. 控制结构- 分支结构(if、if-else、switch)- 循环结构(for、while、do-while)3. 函数- 函数定义、声明和调用- 局部变量和全局变量- 递归函数4. 数组、字符串与指针- 数组的使用和操作- 字符串的基本操作- 指针的概念和用法5. 编程实践- 编写简单程序,解决问题- 分析实例代码,提高编程能力- 调试程序,找出并修复错误教学内容安排与进度:第一周:C语言基础知识,顺序结构程序设计第二周:控制结构(分支、循环)第三周:函数的定义和调用,递归函数第四周:数组、字符串与指针第五周:编程实践与总结教材章节关联:教学内容与教材相应章节紧密关联,确保学生能够在学习过程中系统地掌握C 语言知识。
c语言课程设计设计报告
c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
C语言课程设计-书店管理系统精选全文
计算机程序设计(C语言)课程设计报告题目:图书管理系统学院:专业:班级:学号:姓名:指导教师:设计日期:2013年06月24日一、选题背景:设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和密码会被视为非法登陆。
图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书二、设计思想:(1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。
主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。
(2)、Cbook();这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的操作。
它返回的时一个单向链表的头。
其他函数调用时只需调用它返回的头即可。
(3)、mainmenu();、menu1();、glm enu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。
menu1();为进程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。
glmenu();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。
cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。
jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。
操作完成后按提示信息进行文件的保存操作。
三、程序流程图会员登陆系统系统管理界面收银系统管理系统报表系统退出系统四、主要解决问题的方法及技术关键通过自己定义的函数和声明一个结构,主要方法是先使用int函数定义,不同的选择进入不同的定义函数,通过for语句进行判断,然后使用heart数组的各种方式打开此文件,然后通过while函数和for函数关闭文件,在不同的取用数值里,分别使用for,while语句进行判断是否进行下条语句。
c语言课程设计报告
c语言课程设计报告一、课程目标知识目标:1. 让学生掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等;2. 培养学生运用C语言进行程序设计的能力,学会编写简单的程序解决实际问题;3. 使学生了解C语言中的数组、函数和指针等高级概念,并能够灵活运用。
技能目标:1. 培养学生熟练使用C语言编程环境,如Turbo C或Visual Studio等;2. 提高学生的编程技巧,使其能够编写具有逻辑性和可读性的代码;3. 培养学生独立分析问题、设计程序解决问题的能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动探索、自主学习的精神;2. 培养学生严谨、细心的学习态度,使其认识到编程过程中细节的重要性;3. 强调团队协作和交流分享,提高学生的沟通能力和团队意识。
分析课程性质、学生特点和教学要求:1. 课程性质:C语言课程属于信息技术学科,具有实践性和应用性强的特点;2. 学生特点:学生为初中生,具有一定的逻辑思维能力和计算机操作基础,但编程经验不足;3. 教学要求:结合学生特点,注重理论与实践相结合,以实例教学为主,引导学生动手实践。
1. 熟练运用C语言编写简单的程序;2. 掌握C语言的基本语法和编程技巧;3. 提高编程兴趣,形成自主学习、团队协作的良好习惯。
二、教学内容1. C语言基础知识:- 变量与常量的概念及其声明- 数据类型:整型、浮点型、字符型- 运算符:算术、关系、逻辑、赋值运算符- 控制结构:顺序结构、选择结构、循环结构2. 函数与数组:- 函数的定义、声明和调用- 数组的定义、初始化和使用- 一维数组、二维数组的操作3. 指针与字符串:- 指针的概念、声明与使用- 指针与数组的关系- 字符串的基本操作4. 编程技巧与实践:- 编程规范与命名规则- 代码调试与优化- 简单算法的实现(如排序、查找)5. 综合案例分析与编程实践:- 结合实际案例,运用所学知识进行程序设计- 针对不同案例,分析问题、设计算法、编写程序- 案例包括:计算器、成绩管理系统、小游戏等教学内容安排与进度:1. C语言基础知识(2周)2. 函数与数组(2周)3. 指针与字符串(2周)4. 编程技巧与实践(1周)5. 综合案例分析与编程实践(3周)教材章节关联:1. C语言基础知识:教材第1-3章2. 函数与数组:教材第4-5章3. 指针与字符串:教材第6章4. 编程技巧与实践:教材第7章5. 综合案例分析与编程实践:教材第8章及课后习题、拓展案例三、教学方法1. 讲授法:- 对于C语言的基本语法、概念和理论,采用讲授法进行教学,确保学生能够系统地掌握知识;- 讲授过程中注重条理清晰、深入浅出,结合实际案例,提高学生的理解和记忆;- 定期进行知识巩固,通过讲解经典例题,帮助学生深化理解。
c语言课程设计报告书
c语言课程设计报告书一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程方法,培养学生具备基本的程序设计能力和良好的编程习惯。
具体分为以下三个层面:1.知识目标:学生需要了解C语言的发展历程、特点和基本语法,掌握常用的数据类型、运算符、表达式、控制语句、函数、数组、指针、结构体等编程基础,以及常用的算法和编程技巧。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力,养成良好的编程习惯。
3.情感态度价值观目标:通过学习C语言,培养学生对计算机科学的兴趣和热情,增强学生的自信心和自主学习能力,培养学生的团队合作意识和解决问题的能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本概念和语法:数据类型、运算符、表达式、控制语句、函数等。
2.数据结构:数组、指针、结构体等。
3.算法和编程方法:常用的排序算法、查找算法、递归算法等。
4.编程实践:通过实际项目案例,让学生学会如何运用C语言解决实际问题。
5.程序调试和优化:让学生掌握基本的程序调试方法,提高程序的运行效率。
三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:讲解C语言的基本概念、语法和编程方法。
2.案例分析法:分析实际项目案例,让学生学会如何运用C语言解决实际问题。
3.实验法:让学生通过实际操作,加深对C语言的理解和掌握。
4.小组讨论法:鼓励学生进行团队合作,共同解决问题,培养学生的团队合作意识。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。
2.参考书:《C语言程序设计教程》(清华大学出版社)等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。
c语言课程设计报告
c语言课程设计报告C语言课程设计报告。
一、设计目的。
本次课程设计的目的在于通过实际的项目实践,帮助学生巩固C语言的基础知识,提高编程能力,培养学生的实际动手能力和解决问题的能力。
二、设计内容。
1. 学生信息管理系统。
设计一个简单的学生信息管理系统,包括学生的基本信息录入、查询、修改和删除功能。
通过这个项目,学生可以学习如何使用C语言中的结构体、文件操作等知识,加深对C语言的理解。
2. 简易计算器。
设计一个简易的计算器程序,实现基本的加减乘除运算,同时具备错误输入提示和异常处理功能。
通过这个项目,学生可以学习如何使用条件语句、循环语句和函数等知识,提高对C语言的掌握程度。
3. 学生成绩管理系统。
设计一个学生成绩管理系统,包括成绩录入、统计、排名等功能。
通过这个项目,学生可以学习如何使用数组、指针等知识,提高对C语言的应用能力。
三、设计思路。
在设计过程中,我们要注重培养学生的问题分析和解决能力,鼓励他们多动手实践,多思考,多尝试。
同时,要引导学生注重代码的规范性和可读性,提高代码的质量和可维护性。
四、设计方法。
1. 理论教学与实践相结合。
在课程教学中,要注重理论知识的讲解,同时配合实际的项目练习,让学生在实践中巩固所学知识,提高编程能力。
2. 引导学生独立思考与合作交流。
在项目实践过程中,要引导学生独立思考问题,培养他们解决问题的能力,同时鼓励学生之间的合作交流,共同解决问题,促进学习效果的提高。
3. 鼓励创新与实践。
在项目设计中,要鼓励学生发挥创造力,设计出独特的程序,同时要注重实际操作,让学生通过实践检验自己的设计,不断完善和改进。
五、设计效果。
通过本次课程设计,学生将能够掌握C语言的基本语法和常用技巧,提高编程能力,培养解决问题的能力,为以后的学习和工作打下坚实的基础。
六、总结。
C语言课程设计是学生学习C语言的重要环节,通过设计实际项目,可以提高学生的动手能力和解决问题的能力,为学生今后的学习和工作打下坚实的基础。
c程序设计教程课程设计报告
c程序设计教程课程设计报告一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握数据类型、变量、运算符的使用方法。
2. 学会使用C语言进行顺序结构、选择结构和循环结构的程序设计。
3. 掌握数组、函数、指针的基本概念和应用。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题。
2. 能够运用顺序、选择和循环结构进行程序设计,实现复杂逻辑。
3. 能够使用数组、函数、指针进行程序优化,提高编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,形成自主学习、探究学习的习惯。
2. 培养学生团队合作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 培养学生严谨、细心的学习态度,养成良好的编程习惯,注重代码规范和优化。
课程性质分析:本课程为C程序设计教程,旨在让学生掌握C语言的基本知识,培养编程思维和实际编程能力。
学生特点分析:学生为初学者,对编程有一定兴趣,但基础薄弱,需要从基本概念和语法入手,逐步提高。
教学要求:1. 注重理论与实践相结合,让学生在实践中掌握C语言知识。
2. 采用案例教学,激发学生兴趣,提高学生的实际编程能力。
3. 加强课堂互动,引导学生主动思考,培养编程思维。
二、教学内容1. C语言概述:介绍C语言的发展历史、特点和应用领域,引导学生了解C语言的重要性。
教材章节:第一章2. 数据类型、变量和常量:讲解基本数据类型、变量定义、赋值和常量的概念。
教材章节:第二章3. 运算符和表达式:介绍各种运算符及其优先级,掌握表达式的编写方法。
教材章节:第三章4. 顺序结构程序设计:学习顺序执行语句,掌握顺序结构程序设计方法。
教材章节:第四章5. 选择结构程序设计:讲解if语句、switch语句,学会使用选择结构实现程序逻辑。
教材章节:第五章6. 循环结构程序设计:学习for循环、while循环和do-while循环,掌握循环结构的使用方法。
教材章节:第六章7. 数组:介绍一维数组、二维数组的概念和应用,学会使用数组存储和处理数据。
c 课程设计书面报告
C课程设计书面报告1. 引言本课程设计书面报告旨在总结和分析C课程的设计过程。
通过逐步思考和实践,我们将探讨课程设计的背景、目标、方法和结果。
2. 设计背景C课程是为了培养学生在计算机科学领域的编程能力和算法思维而设立的。
在当今数字化的时代,计算机编程已经成为一项基本技能,具备良好的编程能力对于学生未来的职业发展至关重要。
3. 设计目标基于上述背景,我们设定了以下C课程的设计目标: - 培养学生的编程思维能力,包括逻辑思维、算法设计和问题解决能力。
- 使学生掌握C语言的基本语法和常用数据结构,以及熟悉C语言的编程环境和工具。
- 引导学生通过实践项目来巩固所学知识,并培养团队合作和项目管理能力。
4. 设计方法为了实现上述目标,我们采用了以下设计方法: 1. 理论讲授:通过课堂教学,讲解C语言的基本语法、数据类型和控制结构等基础知识,并引导学生理解和应用。
2. 实践项目:在理论讲授的基础上,安排一系列实践项目,例如编写简单的程序、设计算法和实现小型应用等,以帮助学生巩固所学知识,并提供实际操作的机会。
3. 团队合作:鼓励学生在实践项目中组成团队,通过协作完成项目,并培养合作和沟通能力。
4. 项目管理:引导学生使用项目管理工具,如Git和GitHub,以帮助他们有效地组织和管理项目。
5. 设计结果通过以上方法的实施,我们取得了如下设计结果: 1. 学生在编程思维方面取得了明显的提升,能够独立设计和实现较复杂的算法。
2. 学生熟练掌握了C语言的基本语法和常用数据结构,并能灵活运用于实际项目中。
3. 学生通过实践项目,培养了团队合作和项目管理的能力,能够高效地组织和完成项目。
4. 学生在课程结束后,对计算机科学和编程技术有了更深入的理解和兴趣,为进一步学习和发展打下了坚实的基础。
6. 总结C课程设计通过逐步思考和实践,成功培养了学生的编程能力和算法思维。
通过理论讲授、实践项目、团队合作和项目管理等方法,我们达到了设定的课程设计目标,并取得了显著的设计结果。
c语言课程设计报告书3篇
c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
c语言课程设计设计报告
c语言课程设计设计报告一、教学目标本课程的教学目标是让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,培养学生编写简单C程序的能力,使学生了解程序设计的基本思路和方法,培养学生的逻辑思维和问题解决能力。
具体来说,知识目标包括:1.理解C语言的基本语法和编程规范;2.掌握基本数据类型、运算符和表达式;3.熟悉控制结构,如条件语句、循环语句等;4.了解函数的定义和调用方法。
技能目标包括:1.能够使用C语言编写简单的程序;2.能够阅读和理解简单的C语言程序;3.能够使用调试工具对程序进行调试和优化。
情感态度价值观目标包括:1.培养学生对编程的兴趣和热情;2.培养学生克服困难、解决问题的决心和勇气;3.培养学生团队协作、共同进步的精神。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和编程规范;2.数据类型、运算符和表达式;3.控制结构,如条件语句、循环语句等;4.函数的定义和调用方法;5.简单程序的设计和调试。
教材选用《C程序设计语言》(K&R),章节安排如下:1.第1-3章:C语言基本语法和编程规范;2.第4-5章:数据类型、运算符和表达式;3.第6-7章:控制结构;4.第8章:函数的定义和调用方法;5.课后练习和案例分析。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本语法、数据类型、运算符、控制结构和函数等基础知识;2.案例分析法:分析典型程序,使学生了解编程思路和方法;3.实验法:上机编程实践,培养学生的动手能力;4.讨论法:分组讨论问题,培养学生的团队协作和问题解决能力。
四、教学资源本课程所需教学资源包括:1.教材:《C程序设计语言》(K&R);2.参考书:C语言相关辅导书籍;3.多媒体资料:PPT课件、教学视频等;4.实验设备:计算机、编程环境等。
以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
c语言课程设计报告模板
c语言课程设计报告模板
(一)编制模板目的
本文是c语言课程设计报告的模板,旨在指导c语言课程设计的实施、文件书写及文档报告的编写工作,提供系统、完整的内容和报告要求,以保障报告质量。
(二)项目介绍
1、项目名称:本课程的重点在于使学生学习、掌握,使用c语言进行
程序设计。
2、项目内容:本课程以c语言为主要教学课程,内容涵盖c语言基本
语法、循环结构、函数等。
3、开发工具:本课程使用DEV-C++来开发c语言程序,并采用vnc进行调试和运行程序。
(三)预期成果
1、课程成果:本课程让学生掌握c语言的基本语法、循环结构、函数等;正确使用开发工具实现一定的基本算法,并能够进行程序的调试
和运行;能够运用c语言实现简单的人工智能算法。
2、文档成果:完成c语言课程设计报告,报告应包括项目简介、使用建议、技术参数、课程结果、结论等内容。
(四)报告要求
1、报告内容:报告应包括项目简介、使用建议、技术参数、软件开发准备、课程实施说明、课程结果、存在的问题、结论及建议等内容;
2、报告格式:报告采用A4纸、双栏格式,字体使用宋体;
3、报告字数:报告的字数应不少于3000字。
c语言课程设计报告设计方案
c语言课程设计报告设计方案一、课程目标知识目标:1. 让学生掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、控制结构等;2. 培养学生能够运用C语言编写简单的程序,解决问题,实现基本的输入输出功能;3. 引导学生理解函数的概念,学会定义和调用函数,提高代码的复用性和可维护性。
技能目标:1. 培养学生运用C语言进行程序设计的能力,包括分析问题、设计算法、编写代码和调试程序;2. 培养学生具备使用集成开发环境(IDE)进行C程序开发的能力;3. 培养学生通过阅读和分析C程序,提高编程技巧和问题解决能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养良好的编程习惯;2. 培养学生的团队协作精神,学会在编程过程中互相交流、分享经验;3. 培养学生面对编程挑战时的自信心和毅力,提高克服困难的能力。
分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立完成C语言基础知识的复习和巩固;2. 学生能够运用所学知识,编写简单的C程序,解决实际问题;3. 学生能够通过小组合作,共同完成一个综合性的编程项目,提高团队协作能力;4. 学生在编程实践中,能够积极思考、主动探索,培养创新意识和解决问题的能力。
二、教学内容本课程教学内容依据课程目标,结合教材《C程序设计》进行选择和组织,主要包括以下几部分:1. C语言基础知识:变量声明、数据类型、常量、运算符、表达式等;- 教材章节:第1章-第3章2. 控制结构:顺序结构、分支结构(if语句)、循环结构(for、while、do-while循环);- 教材章节:第4章-第6章3. 函数:函数定义、函数调用、函数声明、递归函数;- 教材章节:第7章4. 数组:一维数组、二维数组、字符数组;- 教材章节:第8章5. 指针:指针的概念、指针变量、指针与数组、函数指针;- 教材章节:第9章6. 结构体与共用体:结构体定义、结构体数组、结构体指针、共用体;- 教材章节:第10章7. 文件操作:文件打开与关闭、文件读写、文件定位;- 教材章节:第11章教学内容安排和进度如下:1. C语言基础知识(2课时)2. 控制结构(4课时)3. 函数(2课时)4. 数组(2课时)5. 指针(4课时)6. 结构体与共用体(2课时)7. 文件操作(2课时)本课程教学内容的制定,旨在确保学生能够系统地掌握C语言编程知识,为后续课程学习打下坚实基础。
c语言课程设计报告书
c语言课程设计报告书一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单的C程序的能力,并培养学生的逻辑思维和解决问题的能力。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和表达式。
3.理解控制结构,如if语句、循环语句等。
4.掌握函数的定义和调用。
5.能够使用C语言编写简单的程序,实现输入输出、计算等功能。
6.能够阅读和理解简单的C程序代码。
7.能够使用C语言进行基本的调试和错误处理。
情感态度价值观目标:1.培养学生的耐心和细心,提高学生解决问题的能力。
2.培养学生的团队合作意识,提高学生的沟通表达能力。
3.培养学生对计算机科学的兴趣和热情,激发学生进一步学习的动力。
二、教学内容根据教学目标,本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
1.C语言的基本语法和规则。
2.基本数据类型、运算符和表达式。
3.控制结构,如if语句、循环语句等。
4.函数的定义和调用。
5.输入输出操作和字符串处理。
6.数组、指针和内存管理。
7.结构体和文件操作等高级功能。
教学内容将按照教材的章节进行安排和讲解,每个章节都会有相应的练习和编程任务,以帮助学生巩固所学知识。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
1.讲授法:教师通过讲解和示例,向学生传授C语言的基本知识和技能。
2.讨论法:学生分组进行讨论和实践,共同解决问题和完成编程任务。
3.案例分析法:通过分析实际的C程序案例,让学生理解和掌握C语言的应用。
4.实验法:学生在实验室进行编程实践,巩固所学知识和技能。
教师将根据学生的实际情况和教学目标,灵活运用不同的教学方法,以提高学生的学习效果和能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源。
1.教材:选用权威、实用的C语言教材,为学生提供系统性的学习资料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二○一○~二○一一学年第二学期信息科学与工程学院课程设计报告书课程名称:C语言课程设计班级:自动化1006学号:201004134210姓名:王龙指导教师:尉宇二○一○年九月题目:通讯录管理系统一、需求分析任务要求:自学C语言中有关链表及外部文件的内容,设计出通讯录管理系统。
具体要求如下:◆建立通讯录信息,信息至少包括编号、姓名、年龄、电话、通讯地址、电子邮箱等内容;◆能够提供添加、删除和修改通讯录信息等功能;◆能够提供按照不同方式查询的功能,如按姓名或年龄、电话查询;◆能将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
系统功能需求分析:★1、为存储通讯录信息,需定义一个结构体类型,成员包括编号、姓名、年龄、电话、通讯地址、电子邮箱等,并建立链表,定义该结构体类型的指针,用于指向各结点;★ 2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。
这其中要用到对链表的删除、插入等知识。
删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学号,若相等就删除,不相等则后移指针,直至表尾。
插入时也要先找到相应结点,再添加。
查询功能要设置姓名、编号、地址等多种方式。
★3、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。
★4、为以表格的形式输出文件,宏定义格式化输出语句,用横线和竖线构成表格。
二、概要设计系统总体设计框架:对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数,各子函数中运用链表存储数据。
从主函数开始执行,调用各个子函数,并运用文件相关知识将信息存入磁盘中。
系统功能模块图:三、详细设计主要功能模块的算法设计思路如下:1、添加信息函数(void Add(Link l))(1)定义指向结构体变量的指针;(2)移动指针,找到插入结点;(3)在要插入的结点输入信息;(4)调用保存函数,打开文件,保存输入信息。
2、修改信息函数(void Modify(Link l))(1)定义指向结构体变量的指针;(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查找对应结点;(4)修改信息;(5)打开文件,保存修改记录。
3、删除信息函数(void Del(Link l))(1)定义指向结构体变量的指针;(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查找要删除的结点;(4)修改链表,删除对应结点。
4、显示记录函数(void Disp(Link l))(1)打开文件;(2)用指针检验是否有记录;(3)若无记录,输出提示信息,返回主函数;若有记录,移动指针,依次输出记录;(4)关闭文件。
5、查询通讯录信息(void Find(Link l))(1)选择查询方式(按姓名、编号或地址);(2)输入查询关键字:(3)在链表中寻找相应结点;(4)调用输出函数,输出结点信息。
以上各个函数的流程图如下:(添加信息)(显示信息)(按姓名查找)(按编号查找)(按地址查找)四、主要源程序代码#include <stdio.h>/*标准输入输出函数库*/#include <stdlib.h> /*标准函数库*/#include <string.h> /*字符串函数库*/#define HEADER1 " --------------------------------所有记录--------------------------------- \n"#define HEADER2 " | 编号 | 姓名 | 电话号码 |年龄| 地址 | 邮箱 |\n"#define HEADER3 " |------|---------------|---------------|---|----------|--------------------|\n "#define FORMAT "|%-6s|%-15s|%-12s |%d |%-10s|%-20s|\n"#define DATA p->data.num,p-> ,p->data. phone,p->data.age,p->data.address,p->data.email#define END "-----------------------------------------------------------------------------\n"int save=0; /*是否需要存盘的标志变量*//*定义与联系人有关的数据结构*/struct person /*标记为person*/{char num[6]; /*联系人编号*/char name[15] ; /*联系人姓名*/char phone[12]; /*联系人电话号码*/int age; /*联系人年龄*/char address[10]; /*联系人地址*/char email[20]; /*联系人电子邮箱*/};/*定义每条记录或结点的数据结构,标记为:node*/typedef struct node{struct person data; /*数据域*/struct node *next; /*指针域*/}Node,*Link; /*Node为node类型的结构变量,*Link为node类型的指针变量*/void menu() /*主菜单*/{printf(" (200704135086)的通讯录\n");printf("*************************Menu********************************\n");printf(" * 1 添加记录 2 删除记录 *\n");printf(" * 3 修改记录 4 查询记录 *\n");printf(" * 5 显示记录 6 保存记录 *\n");printf(" * 0 退出系统 *\n");printf("*************************************************************\n");}void printhead() /*格式化输出表头*/{printf(HEADER1);printf(HEADER2);printf(HEADER3);}void printdata(Node *pp) /*格式化输出表中数据*/{Node* p;p=pp;printf(FORMAT,DATA);}/*显示单链表l中存储的联系人记录,内容为person结构中定义的内容*/void Disp(Link l){Node *p;p=l->next; /*l存储的是单链表中头结点的指针,该头结点没有存储联系人信息,指针域指向的后继结点才有联系人信息*/if(!p) /*p==NULL,NUll在stdlib中定义为0*/{printf("\n=====>没有记录!\n");return;}printf("\n\n");printhead(); /*输出表格头部*/while(p) /*逐条输出链表中存储的联系人信息*/{printdata(p);p=p->next; /*移动直下一个结点*/printf(HEADER3);}}/*************************************************************作用:用于定位链表中符合要求的节点,并返回指向该节点的指针参数:findmess[]保存要查找的具体内容; nameornum[]保存按什么查找;在单链表l中查找;**************************************************************/Node* Locate(Link l,char findness[],char nameornum[]){Node *r;if(strcmp(nameornum,"num")==0) /*按编号查询*/{r=l->next;while(r){if(strcmp(r->data.num,findness)==0) /*若找到findmess值的学号*/return r;r=r->next;}}else if(strcmp(nameornum,"name")==0) /*按姓名查询*/{r=l->next;while(r){if(strcmp(r->,findness)==0) /*若找到findmess值的联系人姓名*/return r;r=r->next;}}else if(strcmp(nameornum,"address")==0) /*按地址查询*/{r=l->next;while(r){if(strcmp(r->data.address,findness)==0) /*若找到findmess 值的联系人地址*/return r;r=r->next;}}return 0; /*若未找到,返回一个空指针*/}/*输入字符串*/void stringinput(char *t,int lengths,char *attention){char n[255];do{printf(attention); /*显示提示信息*/scanf("%s",n); /*输入字符串*/if(strlen(n) > lengths)printf("\n 超过设定长度! \n"); /*进行长度校验,超过lengths值重新输入*/}while(strlen(n) > lengths);strcpy(t,n); /*将输入的字符串拷贝到字符串t中*/}/*输入age中的数字*/int numberinput(char *attention){int t=0;printf(attention);scanf("%d",&t);return t;}/*增加联系人记录*/void Add(Link l){Node *p,*r,*s; /*实现添加操作的临时的结构体指针变量*/char flag=0,num[6];r=l;s=l->next;Disp(l); /*先打印出已有的联系人信息*/while(r->next!=NULL)r=r->next; /*将指针移至于链表最末尾,准备添加记录*/while(l) /*一次可输入多条记录,直至输入学号为0的记录结点添加操作*/ {while(l) /*输入学编号,保证该编号没有被使用,若输入编号为0,则退出添加记录操作*/{stringinput(num,6,"输入编号(按'0'返回主菜单):"); /*格式化输入编号并检验*/flag=0;if(strcmp(num,"0")==0) /*输入为0,则退出添加操作,返回主界面*/{return;}s=l->next;while(s) /*查询该编号是否已经存在,若存在则要求重新输入一个未被占用的学号*/{if(strcmp(s->data.num,num)==0){flag=1;break;}s=s->next;}if(flag==1) /*提示用户是否重新输入*/{printf("=====>编号 %s 已经存在,是否重试?",num);}else{break;}}p=(Node *)malloc(sizeof(Node)); /*申请内存空间*/if(!p){printf("\n 申请内存空间失败 "); /*如没有申请到,打印提示信息*/ return ; /*返回主界面*/}strcpy(p->data.num,num); /*将字符串num拷贝到p->data.num中*/stringinput(p->,15,"Name:");stringinput(p->data.phone,12,"Phone:");p->data.age=numberinput("Age");stringinput(p->data.address,10,"Address:");stringinput(p->data.email,20,"email:");p->next=NULL; /*表明这是链表的尾部结点*/r->next=p; /*将新建的结点加入链表尾部中*/r=p;save=1;}return ;}/*查询记录*/void Find(Link l) /*按编号或姓名,查询电话记录*/{int select; /*1:按编号查,2:按姓名查,3:按地址查找,其他:返回主界面(菜单)*/char searchinput[20]; /*保存用户输入的查询内容*/Node *p;if(!l->next) /*若链表为空*/{printf("\n=====>无!\n");return;}printf("\n =====>1 按编号查询 =====>2 按姓名查询 =====>3 按地址查询\n");printf(" 请选择[1,2,3]:");scanf("%d",&select);if(select==1) /*按编号查询*/{stringinput(searchinput,6,"请输入已存在的编号:");p=Locate(l,searchinput,"num");/*在l中查找学号为searchinput值的节点,并返回节点的指针*/if(p) /*若p!=NULL*/{printhead();printdata(p);printf(END);printf("按任意键返回");}elseprintf("\n=====>找不到此人!\n");}elseif(select==2) /*按姓名查询*/{stringinput(searchinput,15,"请输入已存在的姓名:");p=Locate(l,searchinput,"name");if(p){printhead();printdata(p);printf(END);printf("按任意键返回");}elseprintf("\n=====>找不到此人!\n");}if(select==3) /*按地址查询*/{stringinput(searchinput,15,"请输入已存在的地址:");p=Locate(l,searchinput,"address");if(p){printhead();printdata(p);printf(END);printf("按任意键返回");}elseprintf("\n=====>找不到此人!\n");}elseprintf("\n**Error:输入错误! 按任意键继续**\n");}/*按姓名删除学生记录:先找到保存该联系人记录的节点,然后删除该节点*/void Del(Link l){Node *p,*r;char findmess[20];if(!l->next){printf("\n=====>找不到此人的记录!\n");return;}stringinput(findmess,15,"input the existing person name");p=Locate(l,findmess,"name");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n=====>delete success!\n");save=1;}elseprintf("\n=====>Not find this person!\n");}/*修改电话记录。