C语言课程设计说明书模板

合集下载

c语言课程设计的模板

c语言课程设计的模板

c语言课程设计的模板一、课程目标知识目标:1. 学生能掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等。

2. 学生能理解函数的定义和调用,掌握常用的库函数。

3. 学生能运用数组和字符串进行数据处理,了解指针的基本概念和使用。

4. 学生能通过课程学习,理解结构体和文件操作的基础知识。

技能目标:1. 学生能独立编写简单的C语言程序,实现基本的输入、输出、计算等功能。

2. 学生能通过调试和修改程序,培养解决问题的能力和逻辑思维能力。

3. 学生能运用所学知识,完成小型项目的设计与实现,提高实际编程能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,树立自信心。

2. 学生通过合作学习,培养团队协作精神和沟通能力。

3. 学生在编程实践中,体会科技改变生活的力量,增强社会责任感和创新意识。

课程性质:本课程为C语言入门课程,旨在让学生掌握基本的编程知识和技能,培养逻辑思维和动手能力。

学生特点:学生为初中生,具备一定的数学基础和逻辑思维能力,但对编程知识了解较少。

教学要求:注重理论与实践相结合,以项目驱动教学,激发学生的学习兴趣,培养实际编程能力。

在教学过程中,关注学生的个体差异,因材施教,使每位学生都能在学习中取得进步。

通过分解课程目标为具体的学习成果,为教学设计和评估提供依据。

二、教学内容1. C语言概述:介绍C语言的发展历史、特点和应用领域,使学生了解C语言的重要性。

教材章节:第一章2. 基本语法:讲解变量、数据类型、运算符、表达式等基本概念,为后续编程打下基础。

教材章节:第二章3. 控制结构:介绍顺序结构、分支结构、循环结构等控制语句,培养学生逻辑思维能力。

教材章节:第三章4. 函数:讲解函数的定义、调用、参数传递等,使学生掌握模块化编程方法。

教材章节:第四章5. 数组和字符串:介绍一维数组、二维数组、字符串及其操作,提高数据处理能力。

教材章节:第五章6. 指针:讲解指针的概念、使用方法及其在数组、函数中的应用。

C语言课程设计(说明书)

C语言课程设计(说明书)

C语言课程设计-猜数游戏(说明书)班级:20111461学号:2011146111姓名:完成日期:2012年6月20日目录:1.题目要求(设计任务)2.设计思路3.设计流程4.设计小结5.参考文献6.附录(源程序)1.题目要求(设计任务)猜数游戏(掌握程序结构及随机函数应用)程序说明及要求:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。

程序可实现连续猜数,直到游戏者退出。

程序输出要求:累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I can bet you can do it better.”;当n>=15时,用exit(0)库函数退出程序。

附:随机数发生器函数 random()用法函数原型: int random(int num);程序例:#include <stdlib.h> /*包含库函数random()的头文件*/#include <stdio.h>/* prints a random number in the range 0 to 99 */int main(void){ int n;randomize(); /*初始化随机数发生器*/n= random (100); /*产生一个0-100的随机数。

*/printf("Random number in the 0-99 range: %d\n",n);2.设计思路1.利用所学知识,百度及学长帮助收集足够多的资料2.根据老师要求的线索加上自身因素将程序分为几块,逐个解决3.步骤:主程序-封面-登陆界面-主菜单-小程序4.主要利用所学的for,switch,if等循环3.设计流程1. 封面设计2.登陆界面设计3.主菜单设计4.主游戏介绍5.游戏介绍6.游戏帮助7.关于游戏4.设计小结本次课题为:猜数游戏。

C语言课程设计说明书

C语言课程设计说明书

一问题描述与分析假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开学学期等信息,学生可按要求(如总学分不得少于60)自由选课。

试设计学生选修课程系统,使之能提供以下功能:1.课程信息录入功能(课程信息用文件保存)2.课程信息浏览功能3.排序:按总学时排序4.查询功能:按开学学期查询5.课程修改,删除(可选项)二总体设计根据题目要求,定义结构体类型如下:struct subjects{char no[10];char name[20];char kind[20];int stime; /*总学时*/int ttime; /*授课学时*/int etime; /*实验或上机学时*/float score;int term;}sub[N];三详细设计1)存储结构的选择在这个程序中,我们选择用结构体数组来存储课程,即顺序存储结构Struct subjects sub[N]2)系统初始化这个模块的主要功能是得到初始的课程。

为了实现“一次输入,多次使用”,我们用文件来保存课程。

第一次运行本程序需从键盘输入所有课程并保存到文件中,以后运行就可以从文件中读取数据,直接使用了。

这样既可以减少输入的麻烦,更重要的是使本程序可以连续运行,每次运行都可以使用上一次保存的结果。

void newfile(){int i;FILE *fp;if((fp=fopen("sub.dat","wb"))==NULL){printf("文件建立失败!请重新运行程序。

\n");exit(0);}printf("请输入课程门数");scanf("%d",&num);for(i=0;i<num;i++){printf("请输入第%d门课程的编号:",i+1);getchar();gets(sub[i].no);printf("课程名称:");gets(sub[i].name);printf("课程性质:");gets(sub[i].kind);printf("总学时:");scanf("%d",&sub[i].stime);printf("授课学时:");scanf("%d",&sub[i].ttime);printf("实验或上机学时:");scanf("%d",&sub[i].etime);printf("学分:");scanf("%f",&sub[i].score);printf("开学学期:");scanf("%d",&sub[i].term);printf("\n");fwrite(&sub[i],1,sizeof(struct subjects),fp);}fclose(fp);printf("你刚才输入的数据共有%d门课程,详情数据为:\n",num);output();}3)课程浏览功能按课程编号进行浏览void read1(){FILE *fp;num=0;fp=fopen("sub.dat","r");if(fp==NULL){printf("文件打开失败!请重新运行程序。

C语言课程设计说明书

C语言课程设计说明书

本课程设计的源程序具有可读性强、文件大小及内容可灵 活改变和适用范围广等诸多优点!
三、C语言程序功能示例:
利用本课程设计对字符串(内容为右侧表格中的数 据)“sdwfzcl925”和“140 155 136 153 133 156 147 198 205 202”进行加密和解密运算,截图如下所示: 加密: 明文:sdwfzcl925 密文:140 155 136 153 133 156 147 198
一、系统功能分析
1.1设计目的 本课程设计的目的是为了保证个人数据资料不被他人非法 窃取使用,保护个人的隐私及重要文件! 1.2功能描述 本程序主要是对已知文件(为英文字符)通过一定的算法 将其转换成非本身的其他英文字母以达到文件加密的目的。整 个系统由以下几大功能模块组成。 1.2.1主控选择模块 此模块是主程序操作界面,供用户进行选择。用户可选择 执行加密或解密操作。 1.2.2加密模块 加密模块主要是完成对字符串的加密操作。从输入字符串 中读入任意一个字符并将它加密并显示出来! 1.2.3解密模块 解密模块是完成对字符串的解密工作,将密文转换为可被 识别的明文。从输入字符串中读入任意一个字符并将它解密并 显示出来!
虽然在课程设计过程中修改了很多次,但程序还是很不完 美,有一些问题未能解决。比如说程序的界面不够美观,不够 人性化。我将在以后的时间里继续努力,不断充实自己。 总体来说,这次C语言程序设计实验还是比较成功的,虽 然最终程序还存在一些不足,但能取得这样的成绩我还是比较 高兴的。 最后,要感谢学校为我们提供这次实验机会,也要感谢老 师的指导,帮助与支持。


前 言· · · · · · · · · · · · · · · · · · · · · · · ·1 1. 系统功能分析· · · · · · · · · · · · · · · · · · · ·1 1.1 设计描述· · · · · · · · · · · · · · · · · · · ·1 1.2 功能描述· · · · · · · · · · · · · · · · · · · ·1 1.2.1 主控选择模块· · · · · · · · · · · · · · · 1 1.2.2 加密模块· · · · · · · · · · · · · · · · ·1 1.2.3 解密模块· · · · · · · · · · · · · · · · ·1 2. C语言源程序编写· · · · · · · · · · · · · · · · · ·1 2.1 程序流程图· · · · · · · · · · · · · · · · · · ·1 2.2 程序源代码· · · · · · · · · · · · · · · · · · ·2 3. C语言程序功能示例· · · · · · · · · · · · · · · · · 4 4. 设计总结· · · · · · · · · · · · · · · · · · · · · ·7 5. 参考文献· · · · · · · · · · · · · · · · · · · · · ·8

C语言课程设计说明书正文范本标准

C语言课程设计说明书正文范本标准
name[20];姓名
int age;年龄
char sex;性别
char add[30];地址
char pho[13]电话
2.3
int Input(Student stud[],int n) /*输入若干条记录*/
void Display(Student stud[],int n) /*显示所有记录*/
山西工程技术学院
《C语言程序设计》
课程设计说明书
姓 名张雅男
学 号150721035
班 级15级计应1班
指导老师刘红梅
2016年1月6日
摘要------------------------------------------------------2
1引言------------------------------------------------------3
功能5为按姓名删除记录,先输入姓名,再一一比较,如果没有则返回失败信息,如果找到就将此记录都向前移一位,返回n-1。
功能6的算法在5中就已经体现了,输入姓名,一一比较。
功能7和8是对文件的操作,提前准备好数据。
2.1
关于系统的功能结构图如图2-1所示。
图2-1系统功能结构图
2.2
num[10];学号
2.1功能需求------------------------------------------------4
2.2数据需求------------------------------------------------5
2.3程序所需函数--------------------------------------------5
void Sort_by_num(Student stud[],int n) /*按学号排序*/

课程设计报告模板c语言

课程设计报告模板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语言课程设计说明书
if(j>i) printf("\n\tThe system is end\n"); /*显示记录末尾*/
break;

③删除模块
【需求分析】
该模块的功能是删除通讯录里原有的记录。
删除模块的流程图如图五所示。
图五删除模块流程图
【程序】
/******************************删除模块***********************************/
ch=getch(); /*获得输入字符*/
if(ch=='y') Data_Save();
fclose(fp); /*关闭record.txt文件*/
exit(0); /*退出程序*/
default: printf("Please choose1-4\n"); /*输入的如果不是数字1-4,让其重新输入*/
{ i++;
Data_Input(i);
printf("Please press Enter again to continue\n");
}
if(i==p)printf("\n\tThe data is full\n");
} /*记录完后显示通讯录已满*/
break;}
②显示模块
【需求分析】
该模块的功能是显示所有通讯录里的记录。显示模块的流程图如图四所示。
《C语言程序设计》
课程设计
通讯录管理系统
指导教师:
设计人:
班级:
学号:
设计时间:2010年6月12日
一、题目要求----------------------------------------3

C语言课程设计说明书

C语言课程设计说明书

1面向过程程序设计(C 语言)课程设计设计说明书学生宿舍管理系统起止日期: 2010 年 01 月 10 日 至 2010 年 01 月 17 日学生姓名 黄庆清 班级 计本091班 学号 09408100103 成绩指导教师(签字)计算机与通信学院2010年 01 月 20日学生宿舍管理系统一、程序设计要求综合运用C语言程序设计课程的主要知识,设计一个用于学生宿舍管理的程序,设计指标由程序的功能要求和技术要求具体说明。

1.功能要求学生宿舍管理程序至少具有以下功能:1)显示功能:能显示宿舍学生的全部记录,在显示时能提供下列5种显示方式:①按记录创建(学生入住)的顺序显示。

②按姓名升序显示。

将字符串(姓名)从小到大排列后输出。

③按学号升序显示。

将字符串(学号)从小到大排列后输出。

④按房号升序显示。

将字符串(房号)从小到大排列后输出。

⑤班按级号升序显示。

将字符串(班级号)从小到大排列后输出。

注:“显示顺序”栏的信息不属于记录的信息,它是连续的自然数,若记录个数不变,则“显示顺序”栏的信息不变。

2)修改功能:能修改学生记录除创建顺序以外的信息。

让用户输入需要修改的旧记录,再检查该记录是否存在,若存在则用户可对记录进行修改。

3)查询功能:能查询宿舍学生的记录。

提供以下5种查询方式。

①按姓名查询。

用户输入学生姓名,系统则检索记录,找到含有该姓名的全部记录,显示到屏幕上,并计算、显示找到的记录个数。

若找不到,则提醒用户:该记录不存在。

②按学号查询。

原理同上所述。

③按房号查询。

原理同上所述。

④按班级号查询。

原理同上所述。

⑤综合查询。

用户输入学生的姓名、学号、房号和班级号,系统自动检索,若找到和和用户输入的信息完全一致的记录,则显示到屏幕上。

该记录若存在,则是唯一的,这是由入住(新建)功能决定的。

4)删除功能:能以某些方式删除宿舍学生的信息。

删除时以记录为单位,既能一次删除一条记录,也能一次删除多条记录。

该程序提供以下7种删除方式:①按姓名删除。

c语言课课程设计模版

c语言课课程设计模版

c语言课课程设计模版一、教学目标本章节的教学目标是让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,培养学生编写简单C程序的能力,使学生了解编程的基本思维和方法。

具体目标如下:1.知识目标:(1)理解C语言的基本语法和规则;(2)掌握常用的数据类型、运算符和表达式;(3)熟悉控制结构,如顺序结构、选择结构和循环结构;(4)了解函数的定义和调用方式。

2.技能目标:(1)能够使用C语言编写简单的程序;(2)能够阅读和理解简单的C语言程序;(3)能够运用C语言解决一些实际问题。

3.情感态度价值观目标:(1)培养学生对编程的兴趣和好奇心;(2)培养学生主动探索、合作学习的习惯;(3)培养学生面对编程困难时积极解决问题的态度。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识。

具体安排如下:1.C语言的基本语法和规则;2.常用的数据类型、运算符和表达式;3.控制结构,如顺序结构、选择结构和循环结构;4.函数的定义和调用方式。

三、教学方法为了达到本章节的教学目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识;2.案例分析法:分析一些典型的C语言程序,让学生了解编程的基本思维和方法;3.实验法:让学生亲自动手编写C程序,巩固所学知识,提高编程能力。

四、教学资源为了支持本章节的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》;2.参考书:《C语言 Primer》;3.多媒体资料:C语言编程实例及视频教程;4.实验设备:计算机、编程环境。

五、教学评估为了全面、客观地评估学生在C语言课程中的学习成果,我们将采用以下评估方式:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等表现,评估其对C语言基础知识的掌握和运用能力。

2.作业:布置与课程内容相关的编程作业,要求学生独立完成,评估其编程能力和对知识的理解深度。

C语言课程设计说明

C语言课程设计说明

C语言课程设计说明一、课程设计题目1.学院教学信息管理系统的设计与实现请设计并实现一套“学院教学信息管理系统”,该系统应该至少包含如下功能模块:(1)系统登录模块教师登录:教师输入自己的账号和口令,可以登录任何子系统学生登录:学生输入自己的账号和口令,只能登录学生选课子系统(2)学生信息管理子系统学生信息:学号、姓名、性别、出生日期、专业、公寓、电子邮箱等功能:学生基本信息的录入、删除、更改;能够按姓名、学号、专业等信息查询;将信息保存到文件中(3)学生成绩管理子系统学生成绩信息:学号、姓名、科目、分数等功能:成绩录入、删除、更改;能够查询某一个学生所有科目的成绩和总成绩、不及格科目;查询某一科目所有学生的成绩,该科目的平均分、最高分等统计信息和不及格的学生信息;对各科成绩和总成绩进行排序;将学生成绩信息保存到文件中(4)学生选课子系统课程信息:课程编号、课程名称、学分、已选课学生信息学生信息:学号、姓名、专业、已选课程、已选课程总学分功能:课程信息的录入、更改、删除;学生能够根据课程名称和课程编号查询课程并选择课程,课程信息同时做出相应更改;将课程信息和学生信息保存到文件中2.图书馆信息管理系统的设计与实现请设计并实现一套“图书馆信息管理系统”,该系统应该至少包含如下功能模块:(1)图书信息管理子系统图书信息:图书编号、书名、作者、单价、存在状态(借出、在馆、数量)、借书人学号、姓名、应还日期等功能:图书信息的录入、删除、更改;按书、作者、图书编号等信息进行查询;将图书信息保存到文件中(2)读者信息管理子系统读者信息:学号、姓名、专业、所在院系、电子信箱、已借图书等功能:读者信息的录入、删除、更改;按姓名、学号等信息进行查询;将信息保存到文件中(3)图书借阅子系统功能:借书登记、还书登记、续借登记、超期罚款登记等3.单项选择题标准化考试系统请设计并实现一套“单项选择题标准化考试系统”,该系统应该至少包含如下功能:(1)用文件保存试题库。

c语言课程设计说明书

c语言课程设计说明书

苏州市职业大学课程设计说明书名称计算机语言C课程设计——职工信息管理系统设计院系 .班级 .姓名 .学号 106302202 .系主任 .教研室主任 .指导教师 .目录一、课程设计的目的与要求 (3)1.1目的 (3)1.2 要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1总体思想 (5)3.2软件模块结构图 (5)3.3系统流程图 (6)3.3.1主函数 (6)3.3.2显示函数 (7)3.3.3录入函数 (7)3.3.4查询函数 (8)3.3.5删除函数 (9)3.3.6排序函数 (10)四、详细设计和系统实施 (11)4.1数据结构设计 (11)4.1.1定义数组 (11)4.1.2定义结构体 (11)4.1.3函数功能描述 (11)4.2界面设计 (12)4.2.1用户登录界面 (12)4.2.2 主界面 (13)4.2.3显示界面 (15)4.2.4录入界面 (16)4.2.5信息查询界面 (17)4.2.6删除界面 (19)五、遇到的问题及解决办法 (20)六、课程设计总结 (21)七、参考文献 (22)附录(源程序代码) (23)一、课程设计的目的与要求1.1目的1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。

2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。

3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

1.2 要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言对文件的各种操作。

C语言课程设计说明书

C语言课程设计说明书

苏州市职业大学课程设计说明书名称计算机语言C课程设计-通信录 . 2011 年 6月20 日至 2011年6 月26 日共1 周院系计算机工程系 .班级 XXXXXXXX .姓名 XXXXXX .学号 XXXXXXXXXX .系主任 .教研室主任 .指导教师 XXXXXX .目录目录 (2)一、课程设计的目的与要求 (3)二、题目说明 (4)2.1程序开发背景 (4)2.2开发工具介绍 (4)三、总体设计 (5)3.1.软件模块结构图 (5)3.2.系统流程图: (6)四、详细说明 (12)4.1 主界面 (12)4.2新建并输入通讯录 (13)4.3添加记录 (15)4.4按姓名查找通讯地址 (17)4.5删除一个人的记录 (19)4.6显示通讯录 (21)五、遇到的问题和解决方法 (23)六、课程设计总结 (24)七、参考文献 (25)附录(源程序代码) (26)一、课程设计的目的与要求利用《计算机语言C》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助掌握编程、调试的基本技能。

本人根据选题表确定的题目为:通讯录。

1课程设计步骤:(1)明确程序功能;(2)设计合理的程序结构;(3)编程简练,程序功能齐全,能正确运行,能解释代码;(4)说明书、流程图要清楚;(5)课题完成后必须按要求提交课程设计说明书,回答教师提问。

在课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。

认真编写课程设计报告。

课程设计一般由一位同学独立完成。

经向教师申请并认可,可以由2名左右同学合作完成一个课题。

全体成员应共同协作完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。

整个设计期间,组长负责协调工作。

各小组成员明确自己的任务后,应独立完成各自模块的设计、编码和调试,独立完成课程设计说明书。

c语言课课程设计范本

c语言课课程设计范本

c语言课课程设计范本一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程思想,培养学生编写简单程序的能力,使学生了解计算机编程的基本过程,并培养学生的逻辑思维能力和创新能力。

具体分解为以下三个目标:1.知识目标:学生能够理解并掌握C语言的基本数据类型、运算符、控制结构、函数等语法知识。

2.技能目标:学生能够运用所学知识编写简单的C语言程序,解决实际问题。

3.情感态度价值观目标:学生在学习过程中,培养对计算机编程的兴趣,增强自信心,培养团队合作精神。

二、教学内容本节课的教学内容主要包括C语言的基本语法和编程思想。

具体安排如下:1.引言:介绍C语言的背景和发展历程,让学生对C语言有一个整体的认识。

2.基本数据类型和运算符:讲解C语言的基本数据类型(整型、浮点型、字符型等)和常用运算符(算术运算符、关系运算符、逻辑运算符等)。

3.控制结构:讲解C语言的控制结构(顺序结构、选择结构、循环结构等)。

4.函数:讲解C语言的函数概念、定义和调用,以及函数的参数传递和返回值。

5.编程实践:布置课后练习,让学生运用所学知识编写简单的C语言程序。

三、教学方法为了提高教学效果,本节课将采用以下教学方法:1.讲授法:讲解C语言的基本语法和编程思想,让学生掌握知识要点。

2.案例分析法:分析典型程序案例,让学生了解编程的实际应用。

3.实验法:安排课后编程练习,让学生动手实践,巩固所学知识。

4.小组讨论法:分组进行讨论,培养学生的团队合作精神和沟通能力。

四、教学资源为了支持本节课的教学,我们将准备以下教学资源:1.教材:《C程序设计语言》或《C语言入门教程》等。

2.参考书:《C语言编程实例解析》、《C语言编程技巧》等。

3.多媒体资料:制作PPT课件,演示C语言程序的运行过程。

4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。

5.在线资源:提供编程论坛、在线教程等,方便学生课外自主学习。

c语言课程设计模板

c语言课程设计模板

c语言课程设计模板一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握变量定义、数据类型、运算符和表达式等基础知识;2. 学会使用C语言进行顺序结构、选择结构和循环结构的编程;3. 熟悉C语言的标准库函数,了解其功能和使用方法;4. 了解数组、字符串、函数等高级概念,并能运用到实际编程中。

技能目标:1. 能够独立编写简单的C程序,解决实际问题;2. 掌握调试C程序的方法,能够找出并修正程序中的错误;3. 学会使用C语言的输入输出功能,进行数据的读取和结果显示;4. 培养良好的编程习惯,编写结构清晰、可读性强的代码。

情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发其探究计算机科学的欲望;2. 培养学生的逻辑思维能力,使其能够运用编程解决实际问题;3. 培养学生的团队协作意识,使其能够在合作中共同进步;4. 引导学生遵循道德规范,树立正确的价值观,不编写有损他人利益的程序。

本课程针对的是高年级学生,他们在之前的学习中已经具备了一定的编程基础,因此课程设计以提高学生的编程能力和实际应用为主。

课程要求学生在掌握C语言基础知识的同时,能够将其应用于实际编程中,解决实际问题。

通过课程学习,使学生能够独立编写具有实际意义的C程序,为后续学习其他编程语言和计算机科学相关知识打下坚实基础。

在教学过程中,注重培养学生的逻辑思维能力和团队协作精神,使其在掌握技能的同时,形成良好的情感态度价值观。

二、教学内容1. C语言基础知识:- 变量定义、数据类型、常量与变量- 运算符与表达式- 顺序结构程序设计2. 选择结构:- if语句- switch语句3. 循环结构:- while循环- do-while循环- for循环- 循环控制语句(break、continue)4. 数组与字符串:- 一维数组- 二维数组- 字符串处理5. 函数:- 函数的定义与调用- 递归函数- 变量的作用域和存储类别6. 指针:- 指针的定义与使用- 指针与数组- 指针与函数7. 结构体与共用体:- 结构体的定义与使用- 结构体数组- 共用体与枚举8. 文件操作:- 文件的打开与关闭- 文件的读写操作教学内容按照课本章节进行组织,保证科学性和系统性。

C语言程序课程设计说明书.

C语言程序课程设计说明书.

C语言程序课程设计说明书一、设计任务与要求《C语言程序课程设计》是计算机科学与技术各专业本科生在完成《C语言程序设计》课程学习后进行的一门专业实践课程,是培养学生综合运用所学知识解决专业相关问题的重要环节,是对学生实际工作能力的具体训练和考察过程。

本次课程设计的题目均设想采用C语言来开发。

希望题目简单到学生可以独立完成,又可以达到锻炼学生编写复杂程序的课程设计目的。

最重要的是希望能避免抄袭,让学生真正锻炼自我。

要求每个学生必须参加,并完成如下各项课程设计任务:1. 要求每个学生认真阅读本C语言课程设计说明书,理解课程设计的目的和任务。

2. 要求学生通过自学理解和掌握本说明书附录2中给出的程序实例,读懂其中程序的设计功能,设计思想,设计结构,设计技巧,设计的不足等情况,提高阅读较大并且较为复杂程序源代码的能力,也可以通过实例理解本次课程设计要求的设计任务的规模和难度。

3. 要求每个学生根据自己的实际情况选择一个题目,实际动手完成这个题目,编写出程序代码,并调试通过。

4 每个同学选择一个题目,原则上不允许多名同学选择同一个题目。

多名同学选择同样题目时,独立完成,程序代码不可相同。

5. 要求每个学生完成课程设计后撰写《C语言程序课程设计报告》,可以按照任务书后面附带的课程设计报告模版的格式实际撰写。

6.要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试。

二、学生选题原则1 题目分四大类,根据学生自身情况选择其中一类题目,抽取其中一道题,作为课程设计选题,每个同学有两次选题机会,最终确定题目。

2 允许学生在给出可供选择题目之外自己选择题目,但要经指导教师同意。

三、课程设计实施过程1在课程设计开始时,公布此课程设计说明书。

2.教师根据需要安排合适的时间、地点进行答疑。

3.教师要认真检查学生完成的程序进展情况。

4 教师要指导学生撰写符合规范的《C程序课程设计报告书》。

c语言课课程设计设计说明

c语言课课程设计设计说明

c语言课课程设计设计说明一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单程序的能力,提高学生解决实际问题的能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和编程规范;2.理解数据类型、运算符和表达式的概念;3.熟悉控制结构,如条件语句、循环语句等;4.掌握函数的定义和调用方法。

技能目标包括:1.能够使用C语言编写简单的程序;2.具备一定的程序调试和排错能力;3.能够运用C语言解决实际问题。

情感态度价值观目标包括:1.培养学生对计算机编程的兴趣和热情;2.培养学生独立思考、解决问题的能力;3.培养学生团队合作、积极进取的精神。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.C语言基本语法和编程规范;2.数据类型、运算符和表达式;3.控制结构,如条件语句、循环语句等;4.函数的定义和调用;5.简单程序的设计和调试。

具体的教学大纲安排如下:第1-2课时:C语言基本语法和编程规范;第3-4课时:数据类型、运算符和表达式;第5-6课时:控制结构,如条件语句、循环语句等;第7-8课时:函数的定义和调用;第9-10课时:简单程序的设计和调试。

三、教学方法为了实现教学目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

1.讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构和函数等基本知识;2.讨论法:引导学生进行小组讨论,共同解决问题,培养学生的团队协作能力;3.案例分析法:通过分析实际案例,让学生了解如何运用C语言解决实际问题;4.实验法:让学生动手编写程序,提高学生的实践能力和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C语言程序设计》;2.参考书:《C Primer Plus》、《C和指针》;3.多媒体资料:课件、教学视频等;4.实验设备:计算机、编程环境等。

c课程设计产品说明书

c课程设计产品说明书

c课程设计产品说明书一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生运用C语言进行程序设计的能力。

具体分解为以下三个层面:1.知识目标:学生需要掌握C语言的基本语法、数据结构(如数组、链表、树等)和常见算法(如排序、查找等)。

2.技能目标:学生能够运用C语言独立完成简单的程序设计任务,具备基本的编程能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,增强其自主学习和解决问题的能力。

在制定上述目标时,已充分考虑课程性质、学生特点和教学要求,以确保目标的具体性、可衡量性,方便学生和教师了解课程预期成果。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法:数据类型、运算符、表达式、语句等。

2.数据结构:数组、链表、栈、队列、树等。

3.算法:排序算法(冒泡、选择、插入等)、查找算法(线性、二分等)、常用算法分析。

4.程序设计原则:模块化、代码重用、调试与优化等。

5.实际编程案例:利用C语言解决实际问题,如计算器、文本编辑器等。

以上内容将按照教学大纲进行与安排,确保内容的科学性和系统性。

三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:用于讲解基本概念、语法和算法。

2.讨论法:鼓励学生提问、分享心得,促进师生互动。

3.案例分析法:通过分析实际编程案例,使学生更好地理解理论知识。

4.实验法:安排上机实验,让学生动手实践,巩固所学知识。

多样化的教学方法有助于激发学生的学习兴趣和主动性。

四、教学资源为实现教学目标,本课程将充分利用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。

2.参考书:《C专家编程》、《C陷阱与缺陷》等。

3.多媒体资料:教学PPT、视频教程、在线编程练习等。

4.实验设备:计算机、网络环境、编程调试工具等。

以上教学资源将支持教学内容和教学方法的实施,丰富学生的学习体验。

C语言课程设计说明书正文范本

C语言课程设计说明书正文范本

目录摘要 (1)1 引言 (2)2 系统分析 (3)2.1功能需求 (4)2.2数据需求 (5)3 详细设计与实现 (6)3.1功能模块的设计与实现 (6)3.2 程序的详细设计过程 (8)4 系统测试 (18)4.1设计测试数据 (18)4.2 测试结果及分析 (18)总结 (28)致谢 (29)参考文献 (30)摘要在现代教学中,学生管理系统的设计非常重要,因为随着教育事业的逐步提升,受教育的学生日渐增多,也就使对其相关信息的管理变得相对复杂。

由于学生信息多样化,而且信息随时变化多,不得不要求我们找出一套既简单又方便完善管理系统来对学生进行管理。

而目前我们自学习过如何使C语言来进行编程,同时运用文件、结构体、指针,而要想完成一个比较复杂的编程,就必须使用各种函数才能发完成,,所以学习好C语言非常重要。

关键词:文件、结构体、指针、相关函数……1 引言以前的操作系统等系统软件主要是由汇编语言编写的(包括UNIX操作系统在内)。

由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。

为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如,对内存地址的操作、位操作等)。

人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。

于是,C语言就在这种情况下应运而生了。

1.1设计目的考察我们对结构体,指针,文件的操作,以及C语言算法的掌握。

从而让我们把书上学习到的东西与实际情况联系起来,让我们对用C语言进行编程有进一步的了解和深刻的认识。

1.2 设计要求要求使用C语言进行编程,并且尽可能学习其他语言来穿插在程序中,使程序进一步简单而使用、方便。

要求在程序中使用结构体,指针,文件等操作,并且能完整显示出其各种功能。

所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。

如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。

C语言课程设计说明书模版

C语言课程设计说明书模版

C语言课程设计
--万年历说明书
学号:
班级:
姓名:
序言(标题楷体二号)正文(仿宋四号)
1. 经过上一个学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。

通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。

2 . 课程设计题目:万年历
要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。

指导老师:赵晓敏
程序说明(标题楷体二号)正文(仿宋四号)
一.功能说明:
1.程序的具体功能设计
本程序是一个万年历程序,可以输出公元年月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。

该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。

2.运行及相关操作(功能验证)
二.算法分析说明:(变量的含义、函数的功能、模块的设计、程序的结构)
1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。

然后判断输入的年是否为定义年,若是..........
2.月份的算法设计:
总结(标题楷体二号)。

c语言课程设计参考模板

c语言课程设计参考模板

c语言课程设计参考模板一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单C程序的能力,并引导学生了解编程思想,为后续的计算机科学学习和程序设计打下基础。

1.理解C语言的基本语法和规则。

2.掌握C语言的数据类型、运算符和控制结构。

3.了解函数的定义和调用。

4.能够使用C语言编写简单的程序。

5.能够阅读和理解简单的C语言程序。

6.能够使用调试工具对程序进行调试和运行。

情感态度价值观目标:1.培养学生对计算机科学的兴趣和好奇心。

2.培养学生勇于尝试、善于思考和解决问题的能力。

3.培养学生团队协作和互相帮助的精神。

二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

1.C语言的基本语法和规则。

2.数据类型、运算符和控制结构。

3.函数的定义和调用。

4.简单的输入输出操作。

5.基本的逻辑运算和数学计算。

三、教学方法本课程将采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:通过教师的讲解,使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

2.案例分析法:通过分析典型的C语言程序,使学生理解编程思想和方法。

3.实验法:通过上机实验,使学生亲自编写程序,巩固所学知识,提高编程能力。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用《C程序设计语言》作为主要教材,辅助以《C语言程序设计教程》等参考书。

2.多媒体资料:制作PPT课件,以图文并茂的形式展示C语言的基本知识。

3.实验设备:提供计算机实验室,让学生进行上机实验。

4.在线资源:推荐学生访问一些在线编程,如LeetCode、Codeforces等,进行编程训练和交流。

五、教学评估教学评估将采用多元化的方式进行,包括平时表现、作业、小测验和期末考试等,以全面、客观、公正地评估学生的学习成果。

1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

辽宁工业大学C语言程序设计课程设计(论文)题目:通讯录院(系):软件学院专业班级:汽电101班学号: *********学生姓名:***指导教师:***教师职称:助教起止时间:2010.12.20至2010.12.31课程设计(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1课程设计题目 (2)2.2课程设计整体设计说明 (2)2.2.1课程设计内容 (2)2.2.2系统功能模块结构图............................. 错误!未定义书签。

2.2.3数据结构设计及用法说明 (2)2.2.4程序结构(画流程图) (2)2.2.5各模块的功能 (3)2.3程序源代码及注释 (4)第3章课程设计总结 (14)参考资料 (15)第1章课程设计的目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境硬件要求能运行Windows 2000/XP操作系统的微机系统。

C语言程序设计及相应的开发环境。

1.3 课程设计的预备知识熟悉C语言及C语言开发工具。

1.4 课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告第2章课程设计内容2.1程序功能介绍通讯录程序,该程序具有输入、显示、查找、添加、删除、插入、保存、读入、拷贝、排序等功能。

2.2程序整体设计说明C语言编制该通讯录,使其具有输入、显示、查找、添加、删除、插入、保存、读入、拷贝、排序等功能,建立通讯录信息文件,对通讯录信息进行有效的管理,并且可按多种方式对通讯录进行查询,标明详细的注释以方便阅读程序。

2.2.1设计思路1) 通讯录编辑(添加、删除、修改)。

2) 按不同的项进行查找。

3) 对已存在的通讯录按不同的项排序。

4) 将通讯录写入文件5) 从文件读入通讯录备注:通讯录至少应该有以下数据项:姓名,工作单位,电话。

2.2.2数据结构设计及用法说明调用stdio.h、stdlib.h、string.h、ctype.h、库函数, 使用数组指针,数据存储姓名,单位,电话,输入数据要按照姓名,联系方式,电话号码的顺序可以添加删除修改以及检索数据, ,输入数据要按照姓名,联系方式,电话号码的顺序可以添加删除修改以及检索数据。

用结构体数组来存储信息,有Data_Input函数来实现信息的录入,用Data_Search函数来查找信息,用Data_Insert函数来插入信息,用Data_Alter函数来修改信息,用Data_Delete函数来删除信息,用Data_Save函数来保存信息,用Exit 函数来退出通讯录。

2.2.3程序结构(流程图)改程序流程图如下:2.2.4各模块的功能及程序说明建通讯录,并对它进行增加,查询,删除,修改,显示记录等操作。

第一个模块--主函数main()的功能是:根据选单的选项调用各函数,并完成相映的功能。

第二个模块--Menu()的功能是:显示英文提示选单。

第三个模块--Quit()的功能是推出选单。

第四个模块--Creat()的功能是:创建新的通讯录。

第五个模块--Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。

第六个模块--Find()的功能是:查询某人的信息如果找到了,则显示该人的信息,如果未找到,则显示通讯录中没有此人的信息,并返回选单。

第七个模块--Alter()的功能是:删除某人的信息,并返回选单。

第八个模块--Delete()的功能是:删除某人的信息,如果未找到要修改的某人的信息,则提示通讯录中没有此人的信息,并返回选单。

第九个模块--List的功能是:显示通讯录中的所有记录。

2.2.5程序结果该程序的运行结果为:2.3程序源代码及注释#include "stdio.h" /*I/O函数*/#include "stdlib.h" /*标准库函数*/#include "string.h"/*字符串函数*/#include "ctype.h" /*字符操作函数*/#define M 50 /*定义常数表示记录数*/typedef struct /*定义数据结构*/{char name[20]; /*姓名*/char units[30]; /*单位*/char tele[10]; /*电话*/}ADDRESS;/******以下是函数原型*******/int enter(ADDRESS t[]); /*输入记录*/void list(ADDRESS t[],int n); /*显示记录*/void search(ADDRESS t[],int n); /*按姓名查找显示记录*/ int delete(ADDRESS t[],int n); /*删除记录*/int add(ADDRESS t[],int n); /*插入记录*/void save(ADDRESS t[],int n); /*记录保存为文件*/int load(ADDRESS t[]); /*从文件中读记录*/void display(ADDRESS t[]); /*按序号查找显示记录*/void sort(ADDRESS t[],int n); /*按姓名排序*/void qseek(ADDRESS t[],int n); /*快速查找记录*/void copy(); /*文件复制*/void print(ADDRESS temp); /*显示单条记录*/int find(ADDRESS t[],int n,char *s) ; /*查找函数*/int menu_select(); /*主菜单函数*//******主函数开始*******/main(){int i;ADDRESS adr[M]; /*定义结构体数组*/int length; /*保存记录长度*/clrscr(); /*清屏*/for(;;)/*无限循环*/{switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ {case 0:length=enter(adr);break;/*输入记录*/case 1:list(adr,length);break; /*显示全部记录*/case 2:search(adr,length);break; /*查找记录*/case 3:length=delete(adr,length);break; /*删除记录*/case 4:length=add(adr,length); break; /*插入记录*/case 5:save(adr,length);break; /*保存文件*/case 6:length=load(adr); break; /*读文件*/case 7:display(adr);break; /*按序号显示记录*/case 8:sort(adr,length);break; /*按姓名排序*/case 9:qseek(adr,length);break; /*快速查找记录*/case 10:copy();break; /*复制文件*/case 11:exit(0); /*如返回值为11则程序结束*/}}}/*菜单函数,函数返回值为整数,代表所选的菜单项*/menu_select(){char s[80];int c;gotoxy(1,25);/*将光标定为在第25行,第1列*/printf("press any key enter menu......\n");/*提示压任意键继续*/ getch(); /*读入任意字符*/clrscr(); /*清屏*/gotoxy(1,1);printf("********************MENU*********************\n\n");printf(" 0.Enter record\n");printf(" 1. List the file\n");printf(" 2. Search record on name\n");printf(" 3. Delete a record\n");printf(" 4. add record \n");printf(" 5. Save the file\n");printf(" 6. Load the file\n");printf(" 7. display record on order\n");printf(" 8. sort to make new file\n");printf(" 9. Quick seek record\n");printf(" 10. copy the file to new file\n");printf(" 11. Quit\n");printf("***********************************************\n");do{printf("\nEnter you choice(0~11):"); /*提示输入选项*/scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<0||c>11); /*选择项不在0~11之间重输*/return c; /*返回选择项,主程序根据该数调用相应的函数*/}/***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/ int enter(ADDRESS t[]){int i,n;char *s;clrscr(); /*清屏*/printf("\nplease input num \n"); /*提示信息*/scanf("%d",&n); /*输入记录数*/printf("please input record \n"); /*提示输入记录*/printf("name unit telephone\n"); printf("------------------------------------------------\n");for(i=0;i<n;i++){scanf("%s%s%s",t[i].name,t[i].units,t[i].tele); /*输入记录*/ printf("----------------------------------------------\n"); }return n; /*返回记录条数*/}/*显示记录,参数为记录数组和记录条数*/void list(ADDRESS t[],int n){int i;clrscr();printf("\n\n*******************ADDRESS******************\n");printf("name unit telephone\n"); printf("------------------------------------------------\n");for(i=0;i<n;i++)printf("%-20s%-30s%-10s\n",t[i].name,t[i].units,t[i].tele);if((i+1)%10==0) /*判断输出是否达到10条记录*/{printf("Press any key continue...\n"); /*提示信息*/getch(); /*压任意键继续*/}printf("************************end*******************\n");}/*查找记录*/void search(ADDRESS t[],int n){char s[20]; /*保存待查找姓名字符串*/int i; /*保存查找到结点的序号*/clrscr(); /*清屏*/printf("please search name\n");scanf("%s",s); /*输入待查找姓名*/i=find(t,n,s); /*调用find函数,得到一个整数*/if(i>n-1) /*如果整数i值大于n-1,说明没找到*/printf("not found\n");elseprint(t[i]); /*找到,调用显示函数显示记录*/}/*显示指定的一条记录*/void print(ADDRESS temp){clrscr();printf("\n\n********************************************\n");printf("name unit telephone\n"); printf("------------------------------------------------\n");printf("%-20s%-30s%-10s\n",,temp.units,temp.tele);printf("**********************end***********************\n");}/*查找函数,参数为记录数组和记录条数以及姓名s */int find(ADDRESS t[],int n,char *s){int i;for(i=0;i<n;i++)/*从第一条记录开始,直到最后一条*/{if(strcmp(s,t[i].name)==0) /*记录中的姓名和待比较的姓名是否相等*/return i; /*相等,则返回该记录的下标号,程序提前结结束*/}return i; /*返回i值*/}/*删除函数,参数为记录数组和记录条数*/int delete(ADDRESS t[],int n){char s[20]; /*要删除记录的姓名*/int ch=0;int i,j;printf("please deleted name\n"); /*提示信息*/scanf("%s",s);/*输入姓名*/i=find(t,n,s); /*调用find函数*/if(i>n-1) /*如果i>n-1超过了数组的长度*/printf("no found not deleted\n"); /*显示没找到要删除的记录*/else{print(t[i]); /*调用输出函数显示该条记录信息*/printf("Are you sure delete it(1/0)\n"); /*确认是否要删除*/scanf("%d",&ch); /*输入一个整数0或1*/if(ch==1) /*如果确认删除整数为1*/{for(j=i+1;j<n;j++) /*删除该记录,实际后续记录前移*/{ strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/strcpy(t[j-1].tele,t[j].tele); /*将后一条记录的电话拷贝到前一条*/}n--; /*记录数减1*/}}return n; /*返回记录数*/}/*插入记录函数,参数为结构体数组和记录数*/int add(ADDRESS t[],int n)/*插入函数,参数为结构体数组和记录数*/{ADDRESS temp; /*新插入记录信息*/int i,j;char s[20]; /*确定插入在哪个记录之前*/printf("please input record\n");printf("************************************************\n");printf("name unit telephone\n");printf("--------------------------------------------------\n");scanf("%s%s%s",,temp.units,temp.tele); /*输入插入信息*/printf("------------------------------------------------\n");printf("please input locate name \n");scanf("%s",s); /*输入插入位置的姓名*/i=find(t,n,s); /*调用find,确定插入位置*/for(j=n-1;j>=i;j--) /*从最后一个结点开始向后移动一条*/{strcpy(t[j+1].name,t[j].name); /*当前记录的姓名拷贝到后一条*/strcpy(t[j+1].units,t[j].units); /*当前记录的单位拷贝到后一条*/strcpy(t[j+1].tele,t[j].tele); /*当前记录的电话拷贝到后一条*/}strcpy(t[i].name,); /*将新插入记录的姓名拷贝到第i个位置*/strcpy(t[i].units,temp.units); /*将新插入记录的单位拷贝到第i个位置*/strcpy(t[i].tele,temp.tele); /*将新插入记录的电话拷贝到第i个位置*/n++; /*记录数加1*/return n; /*返回记录数*/}/*保存函数,参数为结构体数组和记录数*/void save(ADDRESS t[],int n){int i;FILE *fp; /*指向文件的指针*/if((fp=fopen("record.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/ {printf("can not open file\n");/*没打开*/exit(1); /*退出*/}printf("\nSaving file\n"); /*输出提示信息*/fprintf(fp,"%d",n); /*将记录数写入文件*/fprintf(fp,"\r\n"); /*将换行符号写入文件*/for(i=0;i<n;i++){fprintf(fp,"%-20s%-30s%-10s",t[i].name,t[i].units,t[i].tele);/*格式写入记录*/fprintf(fp,"\r\n"); /*将换行符号写入文件*/}fclose(fp);/*关闭文件*/printf("****save success***\n"); /*显示保存成功*/}/*读入函数,参数为结构体数组*/int load(ADDRESS t[]){int i,n;FILE *fp; /*指向文件的指针*/if((fp=fopen("record.txt","rb"))==NULL)/*打开文件*/{printf("can not open file\n"); /*不能打开*/exit(1); /*退出*/}fscanf(fp,"%d",&n); /*读入记录数*/for(i=0;i<n;i++)fscanf(fp,"%20s%30s%10s",t[i].name,t[i].units,t[i].tele); /*按格式读入记录*/fclose(fp); /*关闭文件*/printf("You have success read data from file\n"); /*显示保存成功*/return n; /*返回记录数*/}/*按序号显示记录函数*/void display(ADDRESS t[]){int id,n;FILE *fp; /*指向文件的指针*/if((fp=fopen("record.txt","rb"))==NULL) /*打开文件*/{printf("can not open file\n"); /*不能打开文件*/exit(1); /*退出*/}printf("Enter order number...\n"); /*显示信息*/scanf("%d",&id); /*输入序号*/fscanf(fp,"%d",&n); /*从文件读入记录数*/if(id>=0&&id<n) /*判断序号是否在记录范围内*/{fseek(fp,(id-1)*sizeof(ADDRESS),1); /*移动文件指针到该记录位置*/print(t[id]); /*调用输出函数显示该记录*/printf("\r\n");}elseprintf("no %d number record\n ",id); /*如果序号不合理显示信息*/fclose(fp); /*关闭文件*/}/*排序函数,参数为结构体数组和记录数*/void sort(ADDRESS t[],int n){int i,j,flag;ADDRESS temp; /*临时变量做交换数据用*/for(i=0;i<n;i++){flag=0; /*设标志判断是否发生过交换*/for(j=0;j<n-1;j++)if((strcmp(t[j].name,t[j+1].name))>0) /*比较大小*/{flag=1;strcpy(,t[j].name); /*交换记录*/strcpy(temp.units,t[j].units);strcpy(temp.tele,t[j].tele);strcpy(t[j].name,t[j+1].name);strcpy(t[j].units,t[j+1].units);strcpy(t[j].tele,t[j+1].tele);strcpy(t[j+1].name,);strcpy(t[j+1].units,temp.units);strcpy(t[j+1].tele,temp.tele);}if(flag==0)break; /*如果标志为0,说明没有发生过交换循环结束*/}printf("sort sucess\n"); /*显示排序成功*/}/*快速查找,参数为结构体数组和记录数*/void qseek(ADDRESS t[],int n){char s[20];int l,r,m;printf("\nPlease sort before qseek!\n"); /*提示确认在查找之前,记录是否已排序*/printf("please enter name for qseek\n"); /*提示输入*/scanf("%s",s); /*输入待查找的姓名*/l=0;r=n-1; /*设置左边界与右边界的初值*/while(l<=r) /*当左边界<=右边界时*/{m=(l+r)/2; /*计算中间位置*/if(strcmp(t[m].name,s)==0) /*与中间结点姓名字段做比较判是否相等*/{print(t[m]); /*如果相等,则调用print函数显示记录信息*/return ; /*返回*/}if(strcmp(t[m].name,s)<0) /*如果中间结点小*/l=m+1; /*修改左边界*/elser=m-1; /*否则,中间结点大,修改右边界*/}if(l>r) /*如果左边界大于右边界时*/printf("not found\n"); /*显示没找到*/}/*复制文件*/void copy(){char outfile[20]; /*目标文件名*/int i,n;ADDRESS temp[M]; /*定义临时变量*/FILE *sfp,*tfp; /*定义指向文件的指针*/clrscr();/*清屏*/if((sfp=fopen("record.txt","rb"))==NULL) /*打开记录文件*/{printf("can not open file\n"); /*显示不能打开文件信息*/exit(1); /*退出*/}printf("Enter outfile name,for example c:\\f1\\te.txt:\n"); /*提示信息*/ scanf("%s",outfile); /*输入目标文件名*/if((tfp=fopen(outfile,"wb"))==NULL) /*打开目标文件*/{printf("can not open file\n"); /*显示不能打开文件信息*/exit(1); /*退出*/}fscanf(sfp,"%d",&n); /*读出文件记录数*/fprintf(tfp,"%d",n);/*写入目标文件数*/fprintf(tfp,"\r\n"); /*写入换行符*/for(i=0;i<n;i++){fscanf(sfp,"%20s%30s%10s\n",temp[i].name,temp[i].units,te mp[i].tele); /*读入记录*/fprintf(tfp,"%-20s%-30s%-10s\n",temp[i].name,te mp[i].units,temp[i].tele); /*写入记录*/fprintf(tfp,"\r\n"); /*写入换行符*/}fclose(sfp); /*关闭源文件*/fclose(tfp); /*关闭目标文件*/printf("you have success copy file\n"); /*显示复制成功*/}第3章课程设计总结C语言是国内外广泛使用的计算机语言,学会、学好、使用C语言进行程序设计是时代的要求,也是计算机工作者的一项基本功。

相关文档
最新文档