沈阳理工大学C语言课程设计DOC

合集下载

C语言课课程设计word版

C语言课课程设计word版

C语言课课程设计word版一、教学目标本节课的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构等基础知识,培养学生编写简单C程序的能力,提高学生对计算机编程的兴趣和热情。

具体来说,知识目标包括:1.了解C语言的发展历程和特点。

2.掌握C语言的基本语法和编程规范。

3.熟悉常用的数据类型、运算符和控制结构。

技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。

2.具备调试和运行C程序的基本技能。

3.能够阅读和理解C语言的代码。

情感态度价值观目标包括:1.培养学生对计算机编程的兴趣和热情。

2.培养学生勇于探索、积极思考的科学精神。

3.培养学生团队协作、互相帮助的良好品质。

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

具体安排如下:1.C语言概述:介绍C语言的发展历程、特点和应用领域。

2.基本语法:讲解C语言的基本语法规则,包括变量声明、函数定义等。

3.数据类型:介绍C语言中的基本数据类型,如整型、浮点型、字符型等。

4.运算符:讲解C语言中的算术运算符、关系运算符、逻辑运算符等。

5.控制结构:介绍C语言中的顺序结构、分支结构和循环结构。

为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

1.讲授法:教师通过讲解、示范等方式,向学生传授C语言的基本知识和技能。

2.讨论法:引导学生分组讨论编程问题,培养学生的团队协作能力和解决问题的能力。

3.案例分析法:分析典型的C程序案例,使学生更好地理解C语言的语法和编程思想。

4.实验法:安排课堂实验,让学生亲自动手编写C程序,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,本节课将采用以下教学资源:1.教材:《C程序设计语言》(K&R)或《C语言入门教程》等。

2.参考书:《C Primer Plus》、《C语言编程思想》等。

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

沈阳理工大学-c语言课课程设计

沈阳理工大学-c语言课课程设计

询问是否继续(y/n),若输入 y 则再投票,若输入 n 则退出投票。 设计菜单,通过选择菜单调用以上各个函数。系统启动时数据可有文件导入,录 入新的数据或修改数据后
No. 3
软件开发环境
Windows 7,TC2.0 或 Visual C++ 6.0
沈阳理工大学课程设计专用纸
成 绩 评 定 表
学生姓名 专 业 吴琼 通信工程 班级学号 课程设计题目 1203060128 C语言课程设计


组长签字:

绩 日期
20 年 月 日
沈阳理工大学课程设计专用纸
No. 2
课程设计任务书
学 院 信息科学与工程学院 吴琼 专 业 学 号 C 语言课程设计 通信工程 1203060128 学 生 姓 名 设 计 题 目
void input() { int i; printf("输入候选人信息:编号 姓名 年龄 性别(男 b 女 g) 电话号 地址:\n"); for(i=0;i<2;i++)
scanf("%d %s %d %c %s %s",&a[i].num,a[i].name,&a[i].age,&a[i].sex,a[i].tele phone,a[i].addr);
沈阳理工大学课程设计专用纸
No. 1
一、题目要求
题目:
复制字符串、删除字符串并输出删除后字符串、电子投票管理程序的设计
内容:
1.从键盘输入一个字符串,将此字符串逆置,然后用函数调用方法将此字符串转成 正序加逆序并输出。 2.请编写一个程序, 输入一组只含字母和 “*” 的字符串, 将字符串中前面连续的 “*” 全部删除,中间和后面的不删除,然后输出删除后的字符串。 3.电子投票管理程序的设计 设计结构体数组,结构中包含候选人数据为:编号、姓名、简历、票数。 其中“票数”由投票后统计得到:设计各个函数,分别实现以下功能: (1)输入候选人信息 (2)显示所有候选人记录 (3)投票功能实现,每次投票后,应

沈阳理工大学-C语言程序设计教学大纲

沈阳理工大学-C语言程序设计教学大纲

沈阳理工大学-C语言程序设计教学大纲《C语言程序设计》课程教学大纲课程代码:090131008课程英文名称:C programming language课程总学时:72 讲课: 52 实验:0 上机:20适用专业:信息与计算科学专业大纲编写(修订)时间:2010.7一、大纲使用说明(一)课程的地位及教学目标本课程是信息与计算科学专业的一门必修课,C语言是与UNIX操作系统一起发展起来的,其作为优秀的软件开发语言,随着微机的普及与发展,越来越多地受到广大软件开发人员的欢迎。

C语言作为一种与系统软件有密切联系的高级语言,服务设施众多,支持大型软件开发,所以很有必要开设这门课。

通过本课程的学习,使学生建立用计算机解题的思维,掌握算法知识,使学生在软件设计与开发方面有较大的提高,为以后学习其他的编程语言打下良好的基础。

(二)知识、能力及技能方面的基本要求1.基本知识:掌握算法的基本概念,C语言的各种数据类型,运算符,表达式,结构化程序设计语句等。

2.基本理论和方法:掌握算法的基本表示方法。

掌握数组的定义、引用、初始化的方法,函数的定义、调用的方法,指针变量的定义、使用方法,结构体、共用体的使用方法,文件的基本操作等。

3.基本技能:掌握算法设计的基本方法及软件开发的基本方法与技巧,培养学生较强的独立分析、设计、编程及调试能力。

(三)实施说明1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高利用标准、规范及手册等技术资料的能力。

讲课要联系实际并注重培养学生的创新能力。

2.教学手段:在教学中采用电子教案及多媒体教学系统等先进教学手段,以确保在有限的学时内,全面、高质量地完成课程教学任务。

(四)对先修课的要求本课的先修课程要求是学生掌握计算机基础知识,具备计算机操作能力。

沈阳理工大学828C语言程序设计2021年专业课初试考试大纲

沈阳理工大学828C语言程序设计2021年专业课初试考试大纲

沈阳理工大学硕士研究生入学考试自命题考试大纲科目代码:828 科目名称:C语言程序设计适用专业:085400电子信息(信息科学与工程学院)一、考试基本内容(一)C语言概述(1)C语言简介及C程序设计过程(2)简单C程序介绍及C程序的上机步骤(二)算法(1)算法的概念及算法的表示方法(2)算法的特点及算法设计的要求(三)基本数据类型及数据的输入输出(1)标识符、常量和变量(2)C语言基本数据类型(3)数据的输入与输出(四)运算符与表达式(1)C语言的各种运算符及其表达式的用法(五)C语句及其程序设计(1)选择结构程序设计(2)选择结构程序设计(3)循环结构程序设计(六)数组(1)一维、二维数组的应用(2)字符数组的应用(七)函数(1)函数的定义、调用和参数传递(2)函数的嵌套调用与递归调用(3)变量的作用域和变量的存储属性(八)编译预处理命令(1)宏定义命令(2)文件包含及条件编译命令(九)指针(1)指针与指针变量的概念、指针与函数(2)指针与数组(3)字符串与指针(十)结构体类型(1)结构体变量及结构体数组的使用(2)结构体指针及链表的操作(十一)共用体与枚举类型(1)共用体类型变量的定义及应用(2)枚举类型变量的定义及应用、用typedef定义类型(十二)文件(1)文件有关的基本概念、文件类型指针;(2)文件打开与关闭、文件读写,文件定位操作的实现。

二、考试要求(一)了解C语言程序的概貌,掌握C程序的上机步骤。

(二)了解算法的概念,掌握算法的设计方法,掌握计算机算法的自然语言表示法、流程图表示法和N-S图表示法。

(三)了解C标识符、常量和变量的概念,掌握C标识符的命名规则,掌握变量的定义和初始化方法;了解C语言的各种数据类型,掌握C语言的基本数据类型的表示方法,掌握C语言数据的输入与输出函数的使用方法;了解数据的输入与输出的概念,掌握C语言数据的各种输入与输出函数的使用方法。

(四)了解C运算符与表达式的概念,掌握各种C运算符及其表达式的使用,掌握各种运算符的优先级和结合性。

程序设计c语言课程设计

程序设计c语言课程设计

程序设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生运用C语言解决实际问题的能力。

具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。

2.技能目标:学生能够熟练使用C语言编写程序,解决简单的数学计算、数据处理和排序等问题。

3.情感态度价值观目标:培养学生对编程语言的兴趣,增强其自主学习和解决问题的能力,使其认识到程序设计在现代社会的重要性。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等。

具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和基本语法。

2.第二章:数据类型和运算符,讲解整型、浮点型、字符型数据以及各类运算符的用法。

3.第三章:控制结构,学习顺序结构、分支结构和循环结构的使用。

4.第四章:函数,讲解函数的定义、声明和调用,以及常用的库函数。

5.第五章:数组和指针,学习一维、二维数组的操作以及指针的基本用法。

6.第六章:字符串和文件操作,了解字符串的表示方式、文件的基本操作。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:教师通过讲解、举例等方式,向学生传授C语言的基本概念和编程技巧。

2.案例分析法:教师通过分析实际案例,引导学生运用C语言解决具体问题。

3.实验法:学生动手编写程序,巩固所学知识,培养实际编程能力。

4.讨论法:学生分组讨论,共同解决问题,提高沟通和合作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言入门教程》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。

C语言课程设计指导书

C语言课程设计指导书

C语言课程设计指导书雷鸣编沈阳理工大学理学院2007年4月一、设计性质与目的“C语言课程设计”是在学习“C语言程序设计基础”课程之后进行的一个实践教学环节,课程设计的目的是:1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

3、掌握C语言的编程技巧和上机调试程序的方法。

4、掌握程序设计的常用算法。

为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目分成二类,一类为基础训练题目,学生从中学习到程序设计的常用算法。

另一类为综合题目。

学生从这两类型题目中各选择部分完成。

课程设计环境:利用TurboC编程。

二、设计的基本要求本课程设计的基本步骤与要求是:1、问题分析及解决方案框架确定充分地分析和理解问题本身,弄清要求做什么。

在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。

2、详细设计和编码确定算法的主要流程,再此基础上进行代码设计,每个明确的功能模块程序一般不超过60行,否则要进一步划分。

3、上机前编写程序与检查上机前程序检查可有效提高调试效率,减少上机调试程序时的无谓错误。

程序检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。

把程序中的明显错误事先排除。

4、上机调试程序5、完成课程设计报告①问题描述:题目要解决的问题是什么。

②设计设计算法:主要算法思想,用流程图表示。

实现注释:各项功能的实现程度。

调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等。

③附录:源程序清单和结果。

如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。

三、设计任务(一)基本要求参考题目1、猜数游戏(掌握程序结构及随机函数应用)程序说明:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。

c语言课程设计详细设计

c语言课程设计详细设计

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

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

2.理解数据类型、运算符和表达式的概念及使用方法。

3.熟悉控制结构,并能运用条件语句和循环语句解决问题。

4.了解函数的定义和调用,掌握常用的库函数。

5.能够使用C语言编写简单的程序,进行基本的输入输出操作。

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

7.能够运用程序设计的基本思路和方法,解决简单的问题。

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

2.培养学生认真细致、逻辑思考、创新探索的学习态度。

3.培养学生团队协作、沟通交流的能力。

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

具体安排如下:1.C语言的基本语法和规则2.数据类型、运算符和表达式3.控制结构(条件语句、循环语句)4.函数的定义和调用5.常用的库函数6.基本的输入输出操作三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

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

2.案例分析法:通过分析典型的C程序案例,使学生理解程序设计的基本思路和方法,培养学生解决实际问题的能力。

3.实验法:安排实验课程,让学生亲自动手编写C程序,进行输入输出操作,巩固所学知识,提高实际编程能力。

四、教学资源1.教材:选用《C程序设计》等相关教材,为学生提供系统的学习资料。

2.参考书:提供《C语言程序设计参考手册》等参考书籍,方便学生查阅。

3.多媒体资料:制作PPT、视频等多媒体教学资源,丰富教学手段,提高学生的学习兴趣。

4.实验设备:提供计算机、编程环境等实验设备,保障实验课程的顺利进行。

五、教学评估教学评估是检验学生学习成果和调整教学方法的重要手段。

C语言程序课程设计报告(资管理)

C语言程序课程设计报告(资管理)

课程设计任务书目录1.题目内容---------------------------------------------22.程序特点及功能------------------------------------33.总体思路---------------------------------------------34.详细设计---------------------------------------------45.程序清单---------------------------------------------56.运行结果与分析------------------------------------177.参考文献---------------------------------------------22课程设计名称:小型特殊计算器1.设计内容:实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。

程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。

2.设计目的与要求:2.1设计目的达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的基本思路和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2.2设计要求要求利用面向对象的方法以及C++的编程思想来完成系统的设计;要求在设计的过程中,建立清晰的类层次;在系统的设计中,至少要用到面向对象的一种机制。

3.系统分析与设计3.1主要知识点运算符重载增加了C++语言的可扩充性。

运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。

用友元重载运算符的友元函数是独立于类以外的一般函数。

3.2关键技术程序中每一种数据类型用一个类来实现,共设计了4个类。

复数类complex,矩阵类matrix,有理数类rational以及集合类set。

C语言期末课设 学生信息管理系统(绝对正确代码版本)

C语言期末课设 学生信息管理系统(绝对正确代码版本)

沈阳理工大学C语言课程设计题目名称学生信息管理系统课程名称C语言程序课程设计学生姓名学号系、专业指导教师目录2 需求分析 (2)2.1 要求 (2)2.2任务 (3)2.3 运行环境 (3)2.4 开发工具 (3)3概要设计与详细设计 (3)4 具体代码实现 (4)4.1程序代码 (4)5.2 课程设计总结......................... 错误!未定义书签。

1前言编写一个程序来处理同学个人信息。

通过一个结构体数组来存放输入的每一位同学的记录(包括姓名、电话号码、e_mail、地址),然后将其信息存入文件中。

输入一个姓名查询该同学的信息,并显示在屏幕上。

2 需求分析2.1 要求(1)用C语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。

2.2任务用C语言编写一个能够管理学生个人信息的管理系统。

程序运行时显示菜单,菜单内容包括:(1)录入个人信息:5个学生的个人信息,学生信息可以包括学号、姓名、性别、出生日期、联系电话、邮编和家庭住址等;(2)修改个人信息:用户可以修改个人信息,在输入某同学的编号后,进入修改信息的菜单至少包括:①修改学生姓名②修改学生联系电话(3)查询个人信息:可以按学号查询;(4)浏览所有信息:显示所有同学的信息;(5)删除个人信息:按学生姓名删除记录。

(6)退出系统。

其中,学生信息可以用二进制文件方式存储。

2.3 运行环境(1)windowsXP系统(2)VC++2.0编译环境2.4 开发工具C语言3概要设计与详细设计3、1系统流程图图3.1 系统流程图4 具体代码实现4.1程序代码#include "stdio.h"#include "stdlib.h"#include "string.h"# include "conio.h"# define N sizeof(struct stud) //测结构体变量的大小// typedef struct stud{char number[20];char name[20];char sex[20];char call[20];char QQ[20];char add[20];struct stud *next;}Elemsn; //为结构体命名//Elemsn *creatlink(void) //创建链表信息//{Elemsn *p1,*p2,*head; //p1为前驱,p2为后继//int i=1;char choice;head=p2=(Elemsn *)malloc(N);head->next=NULL;choice='y';for(i=1;choice=='y'||choice=='Y';i++){p1=(Elemsn *)malloc(N);printf("*************************************************************** ****************\n\n");printf("请输入第%d个学生的信息:\n",i);printf("学号:");scanf("%s",p1->number);printf("\n姓名:");scanf("%s",p1->name);printf("\n性别:");scanf("%s",p1->sex);printf("\n电话:");scanf("%s",p1->call);printf("\nQQ:");scanf("%s",p1->QQ);printf("\n宿舍号:");scanf("%s",p1->add);p2->next=p1;p2=p1;printf("\n是否继续?(Y/N):");choice=getche();printf("\n");}p2->next=NULL;return(head);}void savelink(Elemsn *h) //保存链表信息//{Elemsn *p;FILE *fp;char fliename[20];printf("\n请输入你要保存的文件名:");scanf("%s",fliename);if((fp=fopen(fliename,"wt"))==NULL){printf("写文件出错,按任意键退出!");getche();exit(1);}for(p=h->next;p!=NULL;p=p->next)fprintf(fp,"%s %s %s %s %s %s\n",p->number,p->name,p->sex,p->call,p->QQ,p->ad d); //向文件中写入数据//printf("文件已成功保存,按任意键返回!");getche();fclose(fp);}Elemsn *readlink(void) //读出已保存文件的信息//{Elemsn *head,*p,*q;FILE *fp;char filename[20];printf("\n请输入要打开的文件名:");scanf("%s",filename);if((fp=fopen(filename,"rt"))==NULL){printf("读文件出错,按任意键退出!");getche();exit(1);}head=q=(Elemsn *)malloc(N);head->next=NULL;while(!feof(fp)){p=(Elemsn *)malloc(N); //建立新链表,并从文件中读出数据//fscanf(fp,"%s %s %s %s %s %s\n",p->number,p->name,p->sex,p->call,p->QQ,p->ad d);q->next=p;q=p;}q->next=NULL;fclose(fp);printf("文件信息已正确读出,按任意键返回!");getch();return head;}Elemsn *insert(Elemsn *head) //插入信息//{Elemsn *p;p=(Elemsn *)malloc(N);printf("\n请输入要插入学生的信息:\n");printf("\n学号:");scanf("%s",p->number);printf("\n姓名:");scanf("%s",p->name);printf("\n性别:");scanf("%s",p->sex);printf("\n电话:");scanf("%s",p->call);printf("\nQQ:");scanf("%s",p->QQ);printf("\n宿舍号:");scanf("%s",p->add);if(head->next!=NULL){p->next=head->next; //插入数据操作代码//head->next=p;}printf("\n学生信息插入成功!按任意键继续!");getche();return head;}Elemsn *delet(Elemsn *p0) //删除信息//{char num[20];Elemsn *p;char choice;if(p0->next==NULL){printf("信息出错!按任意键退出!");getch();exit(1);}printf("\n请输入要删除学生的学号:");scanf("%s",num);for(p=p0->next;strcmp(p->number,num)!=0;p0=p,p=p->next) ; //找到要删除的学生的信息//printf("你要删除的信息如下,请确认是否删除:\n");printf("\n学号:%s 姓名:%s 性别:%s 电话:%s QQ:%s 宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->QQ,p->add);printf("\n是Y,否N:"); //显示要删除的学生的信息//choice=getche();if(choice=='Y'||choice=='y'){p0->next=p->next;free(p);printf("\n文件删除成功!");}printf("\n按任意键结束!");getche();return p0;}Elemsn *modify(Elemsn *h) //修改信息//{char num[20];Elemsn *p;char choice;printf("\n请输入要修改学生信息的学号:");scanf("%s",num);for(p=h;strcmp(p->number,num)!=0;p=p->next) ; //找到要删除的学生的信息//while(1){printf("请输入修改后学生的信息:\n");printf("学号:");scanf("%s",p->number);printf("\n姓名:");scanf("%s",p->name);printf("\n性别:");scanf("%s",p->sex);printf("\n电话:");scanf("%s",p->call);printf("\nQQ:");scanf("%s",p->QQ);printf("\n宿舍号:");scanf("%s",p->add);printf("修改后学生信息如下:\n");printf("\n学号:%s 姓名:%s 性别:%s 电话:%s QQ:%s 宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->QQ,p->add);printf("\n确认?是Y否N:");choice=getche();if(choice=='y'||choice=='Y') break;}printf("\n修改成功,按任意键继续!");getche();return h;}void find(Elemsn *h) //查询信息//{char num[20];Elemsn *p;printf("\n请输入你要查找的学生的学号:");scanf("%s",num);for(p=h;strcmp(p->number,num)!=0;p=p->next) ;printf("你查找的学生信息如下:\n");printf("\n学号:%s 姓名:%s 性别:%s 电话:%s QQ:%s 宿舍号:%s\n\n",p->number,p->name,p->sex,p->call,p->QQ,p->add);printf("按任意键继续!");getche();}void print(Elemsn *p) //显示全部信息//{p=p->next;while(p!=NULL){printf("\n学号:%s 姓名:%s 性别:%s 电话:%s QQ:%s 宿舍号:%s\n",p->number,p->name,p->sex,p->call,p->QQ,p->add);p=p->next;}printf("\n按任意键继续!");getche();}Elemsn *sort(Elemsn *head){Elemsn *q,*t,*p;p=head;t=NULL;while(t!=head->next){p=head;q=p->next;while(q->next!=t){if(strcmp(p->next->number,q->next->number)>0) /*前结点和后结点比较大小*/{p->next=q->next;q->next=q->next->next;p->next->next=q;}p=p->next;q=p->next;}t=q;}printf("学生信息排序完毕,按任意键继续!");getche();print(head);return(head); /*返回头指针*/}main(){int choice=1,i,ok=1; //choice用于选择对数据执行操作,i循环,ok主界面选择//Elemsn *head,*h;head=NULL;for(i=1;ok!=0;i++){system("cls");printf("\n欢迎来到学生信息管理系统主界面!\n\n\n");printf("\n\n\n 1.创建新文件.\n\n\n");printf(" 2.读取原文件,并执行相应操作.(原文件名为:jxx)");printf("\n\n\n 0.退出;");printf("\n\n\n\n\n请选择你要执行的操作:");scanf("%d",&ok);if(ok==1){system("cls");head=creatlink(); //创建新链表并保存文件//savelink(head);}if(ok==2){head=readlink(); //进入文件,对已知数据进行操作//for(i=1;choice!=0;i++){system("cls");printf("************欢迎来到学生信息管理系统************\n\n\n");printf(" 1. 添加学生信息;\n\n");printf(" 2. 删除学生信息;\n\n");printf(" 3. 修改学生信息;\n\n");printf(" 4. 查询学生信息;\n\n");printf(" 5. 显示全部信息;\n\n");printf(" 6. 排序全部信息;\n\n");printf(" 0. 退出;\n\n");printf("请输入你要执行的操作代码:");scanf("%d",&choice);switch(choice){case 1: h=insert(head);savelink(h);break; //执行增,删,改完毕后对新信息进行保存//case 2: h=delet(head);savelink(h);break;case 3: h=modify(head);savelink(h);break;case 4: find(head);break;case 5: print(head);break;case 6: h=sort(head);savelink(h);break;case 0: break;}}}}}4.2程序结果图1 主界面图2 输入学生信息操作图3 按学号查询学生信息操作图4 修改学生信息操作图5 删除学生信息操作5.2 课程设计总结从这次C语言课程设计,我不仅学会了怎样编出一个管理系统,而且还深深的体会到编好一个程序是一件非常有意义的事。

沈阳大学c语言课程设计

沈阳大学c语言课程设计

沈阳大学c语言课程设计一、教学目标本课程旨在让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备良好的编程习惯和问题解决能力。

通过本课程的学习,学生将能够:1.理解C语言的基本概念和语法规则,熟练使用C语言进行程序设计。

2.掌握常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等),并能够运用到实际问题中。

3.培养良好的编程习惯,掌握编程规范和技巧,提高代码质量和可维护性。

4.培养问题解决能力,能够独立分析和解决编程过程中遇到的问题。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程实践。

具体安排如下:1.C语言的基本语法:变量、数据类型、运算符、表达式、控制语句、函数等。

2.数据结构:数组、链表、栈、队列、排序、查找等。

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

4.编程实践:通过实际项目案例,让学生运用所学知识和技能解决实际问题。

三、教学方法本课程采用多种教学方法相结合,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:教师讲解C语言的基本语法、数据结构和算法,引导学生理解和掌握相关知识。

2.讨论法:学生进行小组讨论,分享学习心得和解决问题的经验,培养学生的合作能力和沟通能力。

3.案例分析法:分析实际项目案例,让学生学会将理论知识运用到实际问题中。

4.实验法:安排实验课,让学生动手编写代码,培养学生的实际编程能力和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选用以下教学资源:1.教材:《C程序设计语言》(K&R著)或《C Primer Plus》(Stephen Prata著)。

2.参考书:《C语言编程思想》(E.B. Pattis著)、《C++ Primer》(Stanley B. Lippman著)。

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

沈阳c语言课程设计

沈阳c语言课程设计

沈阳c语言课程设计一、课程目标知识目标:1. 学生能掌握C语言的基本语法,包括变量定义、数据类型、运算符和表达式。

2. 学生能理解并运用C语言的控制结构,如顺序结构、分支结构和循环结构。

3. 学生能运用数组、函数和指针等C语言特性进行程序设计。

技能目标:1. 学生能独立编写简单的C语言程序,具备初步的程序设计能力。

2. 学生能运用调试工具对程序进行调试,找出并修正错误,提高程序质量。

3. 学生能通过阅读和分析C语言代码,理解程序的执行过程和逻辑。

情感态度价值观目标:1. 培养学生严谨、细心的编程习惯,提高问题解决能力和逻辑思维能力。

2. 激发学生对计算机编程的兴趣,鼓励主动探索、创新和实践。

3. 培养学生的团队协作意识,学会与他人共同分析问题、解决问题。

课程性质:本课程为初中信息技术课程,旨在让学生掌握C语言编程基础,培养编程兴趣和基本技能。

学生特点:初中学生具有一定的逻辑思维能力和问题解决能力,对新鲜事物充满好奇心,但注意力容易分散,需要引导。

教学要求:结合学生特点,注重理论与实践相结合,采用任务驱动、案例分析等教学方法,引导学生主动参与,培养编程素养。

通过分解课程目标为具体学习成果,便于教学设计和评估。

二、教学内容1. C语言概述- 了解C语言的发展历程、特点和应用领域。

- 掌握C程序的组成、编译和执行过程。

2. 基本语法- 变量定义、数据类型、常量与变量。

- 运算符和表达式,包括算术、关系和逻辑运算符。

3. 控制结构- 顺序结构程序设计。

- 分支结构程序设计,包括if语句和switch语句。

- 循环结构程序设计,包括for循环、while循环和do-while循环。

4. 函数与数组- 自定义函数的定义、调用和返回值。

- 数组的定义、初始化和访问。

- 函数与数组的综合应用。

5. 指针- 指针的概念、定义和引用。

- 指针与数组的关系,指针数组、数组指针。

- 指针作为函数参数的应用。

6. 编程实践- 简单程序设计,如计算器、成绩管理系统等。

程序设计语言c课程设计

程序设计语言c课程设计

程序设计语言c课程设计一、教学目标本课程旨在通过学习C程序设计语言,使学生掌握C语言的基本语法、数据结构和算法,培养学生运用C语言进行程序设计的能力。

具体的教学目标如下:1.理解C语言的基本语法和编程规范。

2.掌握基本数据类型、运算符和表达式。

3.熟悉控制结构、函数、数组和指针。

4.理解面向对象编程的基本概念。

5.能够使用C语言编写简单的程序,解决实际问题。

6.掌握程序调试和运行的方法,能够查找和修复程序错误。

7.能够运用C语言进行数据结构和算法的实现。

情感态度价值观目标:1.培养学生的编程思维,提高解决问题的能力。

2.培养学生团队合作精神,提高沟通与协作能力。

3.培养学生对计算机科学的兴趣,激发继续学习的动力。

二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.C语言基本语法和编程规范。

2.基本数据类型、运算符和表达式。

3.控制结构、函数、数组和指针。

4.面向对象编程基本概念。

5.程序调试和运行方法。

6.数据结构和算法实现。

教学大纲安排如下:第1-2周:C语言基本语法和编程规范。

第3-4周:基本数据类型、运算符和表达式。

第5-6周:控制结构、函数、数组和指针。

第7-8周:面向对象编程基本概念。

第9-10周:程序调试和运行方法。

第11-12周:数据结构和算法实现。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:讲解基本概念、原理和方法,引导学生理解和掌握。

2.案例分析法:分析实际案例,培养学生运用知识解决实际问题的能力。

3.实验法:让学生动手实践,提高编程技能。

4.讨论法:分组讨论,促进学生之间的交流与合作。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(谭浩强著)。

2.参考书:《C Primer Plus》(Stephen Prata著)。

3.多媒体资料:课件、教学视频等。

4.实验设备:计算机、网络环境等。

通过以上教学资源,为学生提供丰富的学习体验,提高学习效果。

c语言学课程设计

c语言学课程设计

c语言学课程设计一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量、数据类型、运算符、表达式等基本概念。

2. 学会使用C语言进行顺序结构、分支结构和循环结构的程序设计。

3. 掌握C语言数组、字符串、函数等基本知识,并能运用到实际编程中。

4. 了解C语言的指针概念,初步学会使用指针进行程序设计。

技能目标:1. 能够编写简单的C语言程序,解决实际问题。

2. 培养良好的编程习惯,编写规范、可读性强的代码。

3. 学会使用C语言调试工具,具备初步的调试能力。

4. 提高逻辑思维能力,培养计算机编程解决问题的能力。

情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学习动力。

2. 培养学生的团队合作意识,学会与他人共同解决问题。

3. 培养学生的创新精神,敢于尝试新方法,勇于克服困难。

4. 引导学生认识计算机编程在现代社会中的重要性,树立正确的价值观。

课程性质:本课程为C语言入门课程,旨在让学生掌握C语言的基本知识和编程技能,为后续学习打下坚实基础。

学生特点:学生为初中生,具备一定的数学基础和逻辑思维能力,对计算机编程有一定兴趣。

教学要求:注重理论与实践相结合,强调实际编程能力的培养,关注学生的个体差异,因材施教,激发学生的学习兴趣和潜能。

通过本课程的学习,使学生能够具备基本的C语言编程能力,为后续学习高级编程知识奠定基础。

二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式。

- 教材章节:第一章至第三章- 内容安排:讲解C语言的基本语法,通过实例演示变量声明、数据类型转换、运算符使用等。

2. 控制结构:顺序结构、分支结构、循环结构。

- 教材章节:第四章至第六章- 内容安排:介绍三种控制结构的使用,结合实例进行编程练习。

3. 数组与字符串:一维数组、二维数组、字符串。

- 教材章节:第七章至第八章- 内容安排:讲解数组和字符串的基本概念,通过案例学习数组的使用。

4. 函数:函数的定义、调用、参数传递、返回值。

C 课程设计2

C 课程设计2

.成绩评定表图1-1按任意键继续后进入主菜单,选择菜单号1,进入入栈模块,如图所示。

图1-2开始入栈,输入新的栈顶元素(整型),并输入Y或N选择是否继续,此过程中,输入错误有提示,如图所示,以1,3,5,7,9,2,4,6,8,入栈为例。

图1-3图1-4图1-5选择N,输入结束,然后回到主菜单,下面选择菜单号2,进入出栈模块。

图1-6按任意键继续后,回到主菜单,选择菜单号3,显示栈内剩余信息。

图1-7图1-8其间,每一次输出可按需要按任意键输出,并显示剩余信息。

图1-9图1-10汇报完毕后,即栈已空,按任意键返回到主函数,选择菜单号4 ,进入数制转换模块。

图1-11输入被转换的数字,被转换数字的数制及预期数制,并可按需求输入Y或N选择继续或退出。

图1-12图1-13退出后返回主菜单,选择0,即可退出程序。

图1-14图1-15四、题目二设计过程1、题目分析本题要求建立链表,以存储联系人信息,并设计出对其的建立,插入删除显示等基本操作即可。

2、算法描述首先定义一个链表结点结构体,指针域包括一个next指针,数据域包括个人姓名及联系方式。

欢迎界面后,进入主菜单,主菜单用switch设计,其中调用函数NUM,该函数可返回有效的菜单号,可屏蔽并提示错误信息及重新输入,菜单下调用了其他功能函数,菜单内除退出和初始化函数外所有的功能函数均存放在Fx.c.下。

下面仅具体阐述一下各功能模块的工作原理。

函数Build,首先判断该表是否已建立过,即表内是否有一个空结点(头结点),表未初始化时便建立一个空表,否则提示“表已存在,无需建立”。

提示后延时2s自动跳转到主菜单。

插入函数Insert,首先输入有效信息,然后利用头插法将其插入到头指针的下一个结点,再输出提示,提示用户选择N或Y,判断是否继续,若要继续,则递归本函数,否,直接返回主菜单。

void Welcome(){printf("\n\n\n\n\n\n\n\t\t欢迎您使用《通讯录管理系统》 !\n\n\n ");printf("\t\t\t\t设计者:马舒阳(1203070102)\n");getch();}4、运行结果首先是欢迎界面,如图2-1所示。

C++课程设计任务书 沈理工

C++课程设计任务书 沈理工

成绩评定表课程设计任务书摘要排序是计算机程序设计中的一种重要运算,它的功能是将一个数据元素(或记录)的任意序列重新排列成一个按关键字有序的序列。

简言之,所谓排序就是根据关键字值的非递减或非递增次序,把文件中的各记录依次排列起来,可使一个无序文件变成有序文件的一种操作。

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法。

插入排序包括:直接插入排序,折半插入排序,2-路插入排序,表插入排序,希尔排序。

关键词:直接插入排序法;2—路插入排序法;希尔排序法;MFC工程目录1 需求分析 (1)2 算法基本原理 (2)3 类设计 (3)4 基于控制台的应用程序 (4)4.1类的接口设计 (4)4.2类的实现 (5)4.3主函数设计 (7)4.4基于控制台的应用程序测试 (9)5 基于MFC的应用程序 (12)5.1基于MFC的应用程序设计 (12)5.1.1 MFC程序界面设计 (11)5.1.2 MFC程序代码设计 (13)5.2基于MFC的应用程序测试 (17)结论 (21)参考文献 (22)1 需求分析(1)有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法。

插入排序包括:直接插入排序,折半插入排序,2-路插入排序,表插入排序,希尔排序。

(2)插入排序的基本思想是:在一个已排好序的记录子集的基础上,每一步将下一个待排序的记录有序地插入到已排好序的记录子集中,知道将所有待排记录全部插入为止。

这很像打扑克牌时,没抓一张牌,插入到合适位置,知道抓完牌为止,即可得到一个有序序列。

(3)直接插入排序:将一个记录插入到已排序好的有序表中,从而得到一个新的、记录数增1的有序表。

设整个排序有n个数,则进行n-1趟插入,即:先将序列中的第1个记录看成是一个有序的子序列,然后从第2个记录起逐个进行插入,直至整个序列变成按关键字非递减有序列为止。

最新C语言课程设计指导书汇总

最新C语言课程设计指导书汇总

C语言课程设计指导书C语言课程设计指导书雷鸣编沈阳理工大学理学院2007年4月一、设计性质与目的“C语言课程设计”是在学习“C语言程序设计基础”课程之后进行的一个实践教学环节,课程设计的目的是:1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。

3、掌握C语言的编程技巧和上机调试程序的方法。

4、掌握程序设计的常用算法。

为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目分成二类,一类为基础训练题目,学生从中学习到程序设计的常用算法。

另一类为综合题目。

学生从这两类型题目中各选择部分完成。

课程设计环境:利用TurboC编程。

二、设计的基本要求本课程设计的基本步骤与要求是:1、问题分析及解决方案框架确定充分地分析和理解问题本身,弄清要求做什么。

在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。

2、详细设计和编码确定算法的主要流程,再此基础上进行代码设计,每个明确的功能模块程序一般不超过60行,否则要进一步划分。

3、上机前编写程序与检查上机前程序检查可有效提高调试效率,减少上机调试程序时的无谓错误。

程序检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。

把程序中的明显错误事先排除。

4、上机调试程序5、完成课程设计报告①问题描述:题目要解决的问题是什么。

②设计设计算法:主要算法思想,用流程图表示。

实现注释:各项功能的实现程度。

调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等。

③附录:源程序清单和结果。

如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。

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

一、题目要求题目名称:数字的组成及删除指定位置的字符,工资统计的设计内容:1、编程:用0—9之间不同的三个数字构成一个三位数,统计有多少个这样的三位数。

2、规定输出的字符串中只能包含字母和*号,编写函数fun(char*a,int n),其功能是:是字符串前边连续的*号不多于n个;若多于n个,则删除多于的*号,若小于或等于n个,则什么也不做。

例如:若输入字符串为******A*BC*DEF*G***,n的值为4,则删除后的字符串应是:****A*BC*DEF*G***3、工资统计程序设计设计结构体数组,结构中包含职工数据为:编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资有公式计算得到:实付工资=应付工资-保险-税金设计各个函数,分别实现以下功能:(4)输入职工数据,其中“实付工资”通过计算得到(5)显示全部职工数据(6)输入其部门值、显示该部门职工的数据,工资总额,平均工资设计菜单,通过选择菜单调用以上函数。

要求:使用C语言完成上述程序的设计、编程和调试,开发环境可采用Turbo C 2.0、WinTC或Visual C++ 6.0等。

3、3、工资统计程序设计设计结构体数组,结构中包含职工数据为:编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资有公式计算得到:实付工资=应付工资-保险-税金设计各个函数,分别实现以下功能:(7)输入职工数据,其中“实付工资”通过计算得到(8)显示全部职工数据(9)输入其部门值、显示该部门职工的数据,工资总额,平均工资设计菜单,通过选择菜单调用以上函数。

1、每个函数的功能:(1)void input();录入:输入职工数据,其中"实付工资"通过计算得到(2)void del();)删除:删除指定的职工信息(输入姓名,若找到则删除该信息(3)void mod();修改:允许对已经录入的数据重新进行编辑、修改(4)void show_all();显示:显示全体职工数据;(5)void show_name();查询:a. 输入职工姓名,显示该职工的全部数据b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。

(6)void show_dep();退出程序三、编程实现程序的具体C语言代码如下:第1题:}#include<stdio.h>void main(){int i,j,k,count=0;for (i=1;i<=9;i++){for (j=0;j<=9;j++){for(k=1;k<=9;k++){if(i!=j && j!=k && i!=k){printf("%3d%d%d",i,j,k);count++;}}}}printf("种数构成方法:");printf("%d",count);}第2题:#include <stdio.h>int fun(char*s,int n){int flag=1;for(int i=0;i<n;i++)//比较前n个字符是否为*if(s[i]!='*'){flag=0;break;}if(flag==0)return 0;else{int k=n;while(s[k]!='\0')//移动到非*字符{if(s[k]=='*')k++;elsebreak;}int j=0;while(s[k]!='\0')//向前复制{s[n+j]=s[k];k++;j++;}s[n+j]='\0';}return 1;}void main(){static char str[15];int m;printf("请输入一个只含*和字母的字符串:"); scanf("%s",str);printf("请输入n值:");scanf("%d",&m);fun(str,m);printf("%s",str);}第3题:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<cassert.h>/*编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资由公式计算得到:实付工资=应付工资- 保险- 税金*/struct employee{Sting m_num;//编号Sting m_name;//姓名Sting m_dep;//部门double m_salary;//应付工资double m_insurance;//保险double m_tax;//税金};/*(1)录入:输入职工数据,其中"实付工资"通过计算得到;(2)删除:删除指定的职工信息(输入姓名,若找到则删除该信息)(3) 修改:允许对已经录入的数据重新进行编辑、修改;(4) 显示:显示全体职工数据;(5)查询:a. 输入职工姓名,显示该职工的全部数据;b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。

(6) 退出程序。

*/list employee emps;int main(int argc, char argv[]){void print(const employee &e);void input();void del();void mod();void show_all();void show_name();void show_dep();printf("请选择操作:1.录入2.删除3.修改4.查询5.显示所有员工6.退出:"); int choose=0;scanf("%d",&choose);assert(!cin.fail());while (choose!=6){if (choose==1) input();if (choose==2) del();if (choose==3) mod();if (choose==4){int choice=0;printf("请选择操作1.按姓名查询2.按部门查询3.退出:");scanf("%d",choice);if (choice==1) show_name();if (choice==2) show_dep();if (choice==3){printf("请选择操作:1.录入2.删除3.修改4.查询5.显示所有员工6.退出:");scanf("%d",&choose);assert(!cin.fail());continue;}}if (choose==5) show_all();printf("请选择操作:1.录入2.删除3.修改4.查询5.显示所有员工6.退出:");scanf("%d",&choose);assert(!cin.fail());}return 0;}void print(const employee &e){printf("编号:");printf("%s\n",e.m_num);printf("姓名:");printf("%s\n",e.m_name);printf("部门:");printf("%s\n",e.m_dep);printf("保险:");printf("%f\n",e.m_insurance);printf("税金:");printf("%f\n",e.m_tax);printf("应付工资:");printf("%f\n",e.m_salary);printf("实付工资:");printf("%f\n",e.m_salary-e.m_insurance-e.m_tax);void input(){string num,name,dep;double salary,ins,tax;printf("请输入员工编号:");scanf("%s",&num);printf("请输入员工姓名:");scanf("%s",&name);printf("请输入员工部门:");scanf("%s",&dep);printf("请输入员工保险");scanf("%f",&ins);assert(!cin.fail());printf("请输入员工税金");scanf("%f",&tax);assert(!cin.fail());printf("请输入员工应付工资:");scanf("%f",&salary);assert(!cin.fail());employee temp;temp.m_dep=dep;temp.m_insurance=ins;temp.m_name=name;temp.m_num=num;temp.m_salary=salary;temp.m_tax=tax;emps.push_back(temp);printf("员工录入操作完毕.");}void del(){if (emps.size()==0){printf("没有员工记录.");return;}char name;bool isfind=false;printf("请输入要删除的员工姓名:");scanf("%s",&name);list<employee>::iterator iter;for (iter=emps.begin();iter!=emps.end();iter++) {if (iter->m_name==name){isfind=true;emps.erase(iter);printf("姓名为");printf("%s",name);printf("的员工记录已删除");return ;}}if (!isfind){printf("没有找到姓名为");printf("%s",name) printf("的员工.");return;}}void mod(){if (emps.size()==0){printf("员工记录为空.");return;}bool isfind=false;string name;printf("请输入要修改的员工姓名:");scanf("%s",&name);list<employee>::iterator iter;for (iter=emps.begin();iter!=emps.end();iter++) {if (iter->m_name==name){isfind=true;printf("姓名为");printf("%s",name);printf("的员工记录已找到.\n");break;}}if (isfind){string num,name,dep;double tax,ins,salary;print(*iter);printf("请输入新的员工编号:\n");scanf("%s",&num);printf("请输入新的员工姓名:\n");scanf("%s",&name);printf("请输入新的员工部门:\n");scanf("%s",&dep);printf("请输入新的员工保险::\n");scanf("%f",&ins);assert(!cin.fail());printf("请输入新的员工税金:\n");scanf("%f",&tax);assert(!cin.fail());printf("请输入新的员工工资:\n");scanf("%f",&salary);assert(!cin.fail());iter->m_dep=dep;iter->m_insurance=ins;iter->m_name=name;iter->m_num=num;iter->m_salary=salary;iter->m_tax=tax;printf("1 员工记录被成功修改.\n"); }else{printf("没有找到姓名为");printf("%s",name);printf("的员工记录.\n");}void show_all(){if (emps.size()==0){printf("员工记录为空.\n"); return;}printf("显示全体员工数据:\n");printf("--------------------"\n");list<employee>::iterator iter;for(iter=emps.begin();iter!=emps.end();iter++) {printf("\n");print(*iter);printf("\n");}printf("--------------------"\n");}void show_name(){if (emps.size()==0){printf("员工记录为空."\n");return;}bool isfind=false;string name;printf("请输入要查询的员工姓名:"\n"); scanf("%s",&name);list<employee>::iterator iter;for(iter=emps.begin();iter!=emps.end();iter++) {if (iter->m_name==name){isfind=true;printf("姓名为");printf("%s",name);printf("的员工记录已找到.\n");print(*iter);break;}}if (!isfind){printf("没有找到姓名为");printf("%s",name);printf("的员工.\n");return;}}void show_dep(){if (emps.size()==0){printf("没有找到姓名为\n") return;}double isfind=0.00;double total_salary=0.00;string dep;printf("请输入要查询的部门名称:\n");scanf("%s",&dep);//cin>>dep;printf("部门["<<dep<<"]的员工信息:\n");printf("--------------------\n");list<employee>::iterator iter;for(iter=emps.begin();iter!=emps.end();iter++) {if (iter->m_dep==dep){isfind++;total_salary+=iter->m_salary;print(*iter);printf("\n");continue;}}printf("--------------------\n"); if (isfind==0){printf("没有找到名称为["<<dep<<"]的部门.\n"); }else{printf("部门["<<dep<<"]工资统计:\n");printf("工资总额:");printf("%f\n",total_salary);printf("平均工资:");printf("%f\n",total_salary/isfind);}}四、结果分析第1题:程序运行结果如图1:(可写包括对本题本程序的一些看法或总结)图1 程序运行结果1第2题:程序运行结果如图2:图2 程序运行结果2 第3题:程序运行结果如图3:图3 程序运行结果3五、参考文献[1]马秀丽,刘志妩,李筠.C语言程序设计.北京:清华大学出版社,2008[2]谭浩强.C程序设计(第2版).北京:清华大学出版社,2004[3] 袁志祥、秦锋主编数据结构(c语言版)例题详解与课程设计指导》第二版;中国科学技术大学出版社出版。

相关文档
最新文档