c语言课程设计论文

合集下载

c语言两千字论文

c语言两千字论文

c语言两千字论文篇一:自己的C语言心得体会论文C语言心得体会姓名:学号:班级:指导老师:完成日期:【摘要】《C语言程序设计》是全国各地高等院校各专业本科教学中的一门重要的技术基础课,在各专业的本科教学计划中占有重要地位和作用。

其目的是培养学生的程序设计理念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、操作系统、编译原理和软件工程等)打下坚实的基础。

其目的是培养学生的程序设计理念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、操作系统、编译原理和软件工程等)打下坚实的基础。

学习C语言程序设计课程旨在使学生掌握C语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法,使学生认识到算法、良好的程序设计风格以及实践在该课程学习中的重要性,培养学生熟练使用C语言编程分析和解决实际问题的能力。

【关键词】C语言程序设计、学习心得、数组、选择结构C程序设计、循环结构C程序设计正文:在科技高度发展的今天,计算机在人们之中的作用越来越突出。

而c 语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

一、什么是C语言程序设计?C语言是一种结构化设计语言,它兼顾有高级语言的特点和低级语言的功能。

其设计功能十分强大,既可用于编写应用软件,又可用于设计制作系统软件。

同时,C语言是一种较为通用的编程软件,在目前的软件行业中使用也是十分的广泛。

虽然C语言是面向DOS编程的,但它是计算机的底层编程工具之一。

由C 语言编写的程序,它的代码质量和运行速度仅次于汇编语言编写的程序,C语言具有简单易学和可移植性好等特点,同时又具有汇编语言的特点,具有较强的生命力和广泛的应用前景。

二、为什么要学习C语言程序设计?随着计算机技术的深入发展,特别是微机的普及,越来越多的人在学习计算机知识以满足社会发展和自身的需要。

C语言不仅为计算机专业人员所使用和喜爱,近年来,许多计算机应用人员也开始喜爱和使用C语言。

c课程设计优秀论文

c课程设计优秀论文

c 课程设计优秀论文一、教学目标本课程的教学目标是让学生掌握C语言的基本语法、数据结构和算法,培养学生编写简单程序的能力,使学生了解计算机编程的基本思想和方法。

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

2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题,提高逻辑思维和编程能力。

3.情感态度价值观目标:通过课程学习,培养学生对计算机科学的兴趣,增强自主学习的能力,形成积极向上的学习态度。

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

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

3.算法:排序算法(冒泡排序、选择排序、插入排序等)、查找算法(顺序查找、二分查找等)。

4.编程实践:使用C语言编写简单的程序,锻炼学生的编程能力。

三、教学方法为了实现课程目标,本课程将采用以下教学方法:1.讲授法:教师讲解C语言的基本语法、数据结构和算法,帮助学生建立知识体系。

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

3.案例分析法:分析典型程序案例,使学生了解编程技巧和方法。

4.实验法:上机实验,让学生动手编写程序,提高实际操作能力。

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

2.参考书:《C Primer Plus》、《C和指针》等。

3.多媒体资料:教学PPT、视频教程等。

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

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现等,占总评的20%。

2.作业:评估学生完成的编程作业的质量,包括算法正确性、代码规范性等,占总评的30%。

c语言课程设计设计论文

c语言课程设计设计论文

c语言课程设计设计论文一、教学目标本课程旨在通过C语言的学习,使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力。

具体的教学目标如下:1.理解C语言的基本语法和规则;2.掌握基本数据类型、运算符和控制结构;3.了解函数的定义和调用;4.熟悉常用的输入输出函数和库函数。

5.能够编写简单的C语言程序;6.能够阅读和理解C语言程序;7.能够使用C语言进行基本的数学计算和数据处理;8.能够运用C语言解决实际问题。

情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情;2.培养学生勇于探索和创新的科学精神;3.培养学生团队合作和交流合作的意识。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和规则;2.基本数据类型、运算符和控制结构;3.函数的定义和调用;4.常用的输入输出函数和库函数;5.C语言编程实践和问题解决。

6.第1-2周:C语言的基本语法和规则;7.第3-4周:基本数据类型、运算符和控制结构;8.第5-6周:函数的定义和调用;9.第7-8周:常用的输入输出函数和库函数;10.第9-10周:C语言编程实践和问题解决。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:通过讲解和演示,使学生掌握C语言的基本知识和编程技巧;2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和团队合作意识;3.案例分析法:通过分析实际案例,使学生能够将理论知识应用到实际问题中;4.实验法:通过上机实验,使学生能够亲手编写程序,提高编程能力和实践能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R);2.参考书:《C Primer Plus》、《C和指针》;3.多媒体资料:教学PPT、视频教程、在线编程练习平台;4.实验设备:计算机、编程环境、调试工具。

c程序设计课程设计论文

c程序设计课程设计论文

c程序设计课程设计论文一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生独立编写C程序的能力。

具体目标如下:1.知识目标:学生需要理解C程序设计的基本概念,包括数据类型、变量、运算符、控制结构、函数等;掌握C语言的语法规则,包括关键字、标识符、语句结构等。

2.技能目标:学生能够熟练使用C语言编写程序,解决简单的数学问题、输入输出问题、逻辑问题等;能够阅读和理解简单的C语言程序,进行代码的调试和修改。

3.情感态度价值观目标:学生通过对C程序设计的学习,培养对计算机科学的兴趣和热情,提高自我学习和解决问题的能力,培养良好的编程习惯和团队合作精神。

二、教学内容本课程的教学内容主要包括C程序设计的基本概念、语法和编程技巧。

具体安排如下:1.第一章:C程序设计概述,介绍C语言的历史和发展,理解C程序的基本结构,学习C语言的编译和运行过程。

2.第二章:数据类型和变量,学习C语言的基本数据类型,理解变量的概念和作用,掌握变量的声明和初始化。

3.第三章:运算符和表达式,学习C语言的基本运算符,掌握运算符的优先级和结合性,理解表达式的计算规则。

4.第四章:控制结构,学习C语言的条件语句和循环语句,掌握条件表达式和循环条件的编写,能够解决简单的逻辑问题。

5.第五章:函数,学习函数的定义和声明,掌握函数的参数传递和返回值,理解函数的调用和递归调用。

6.第六章:数组和字符串,学习数组的概念和操作,掌握数组的声明和使用,理解字符串的基本操作和处理。

7.第七章:指针,学习指针的概念和语法,掌握指针的声明和初始化,理解指针的运算和指针数组的使用。

8.第八章:结构体和联合体,学习结构体的定义和使用,掌握结构体的声明和初始化,理解结构体数组和结构体指针的使用。

三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。

具体方法如下:1.讲授法:通过教师的讲解和演示,向学生传授C程序设计的基本概念和语法,引导学生理解程序设计的基本原理。

c语言课程设计作业论文

c语言课程设计作业论文

c语言课程设计作业论文一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立编程和解决问题的能力,并提高学生的计算机科学素养。

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

2.技能目标:学生能够熟练使用C语言进行程序设计,具备独立编写和调试C程序的能力,掌握程序设计的基本方法和技巧,能够运用C语言解决实际问题。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生分析和解决问题的能力,培养学生团队协作和自主学习的意识,使学生认识到计算机科学在现代社会的重要性。

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

2.控制结构:讲解顺序结构、分支结构和循环结构,使学生能够熟练使用if、switch、for、while等控制语句。

3.函数和数组:深入学习函数的定义和调用、数组的基本操作,掌握数组的排序和查找算法。

4.指针和结构体:讲解指针的概念和用法,以及结构体的定义和操作。

5.面向对象编程:介绍类和对象的概念,学习封装、继承和多态等面向对象的基本特性。

6.常见数据结构和算法:学习顺序表、链表、栈和队列等数据结构的基本操作,掌握常用的排序和查找算法。

三、教学方法为了实现教学目标,本课程将采用以下教学方法:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针、结构体等基本概念,以及面向对象编程思想。

2.案例分析法:通过分析实际案例,使学生掌握程序设计的基本方法和技巧,培养学生独立解决问题的能力。

3.实验法:安排上机实验,让学生亲自动手编写和调试程序,加深对C语言编程的理解和实践。

4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作和沟通能力。

c语言毕业论文课程设计

c语言毕业论文课程设计

c语言毕业论文课程设计一、课程目标知识目标:1. 学生能掌握C语言的基本语法、数据类型、运算符和控制流程等核心知识;2. 学生能理解结构体、文件操作和指针等高级概念,并能在项目中灵活运用;3. 学生能运用C语言编写复杂程序,实现毕业论文所需功能。

技能目标:1. 学生具备使用C语言进行问题分析、程序设计和调试的能力;2. 学生能运用所学知识,独立完成一个具有实际意义的C语言毕业论文项目;3. 学生能通过课程学习,提高逻辑思维和编程实践能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,增强自信心;2. 学生通过合作与交流,培养团队协作精神和沟通能力;3. 学生能认识到编程对于解决实际问题的意义,树立正确的价值观。

课程性质:本课程为毕业论文课程设计,旨在让学生运用所学的C语言知识,独立完成一个具有实际意义的项目,提高学生的编程能力和实践能力。

学生特点:学生已具备一定的C语言基础,但独立完成项目的能力和经验尚不足。

教学要求:结合学生特点,注重实践操作,以项目为导向,引导学生主动学习,培养其解决问题的能力。

在教学过程中,关注学生的个体差异,提供有针对性的指导。

通过课程目标的分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。

二、教学内容1. C语言基础回顾:数据类型、变量、运算符、控制流程(选择、循环);2. 函数:函数定义、调用、参数传递、递归;3. 数组与字符串:一维数组、二维数组、字符串操作;4. 指针:指针的概念、指针运算、指针与数组、指针与函数;5. 结构体与联合:结构体的定义和使用、结构体数组、联合体的概念及应用;6. 文件操作:文件打开与关闭、读写文件、文件定位;7. 预处理器:宏定义、文件包含、条件编译;8. 毕业论文项目设计与实现:需求分析、功能模块划分、编码实现、测试与调试。

教学大纲安排:第一周:C语言基础回顾;第二周:函数、数组与字符串;第三周:指针、结构体与联合;第四周:文件操作、预处理器;第五周:毕业论文项目设计与实现(一);第六周:毕业论文项目设计与实现(二);第七周:毕业论文项目测试与调试、总结。

c语言课程设计发论文

c语言课程设计发论文一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的程序设计能力。

具体的教学目标如下:1.掌握C语言的基本语法和关键字。

2.理解数据类型、变量、常量的概念及使用方法。

3.熟悉运算符、表达式、语句的构成和作用。

4.学习控制结构、函数、数组、指针、结构体等基本数据结构。

5.掌握基本的输入输出、文件操作、内存管理等编程技能。

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

7.具备基本的调试和排错能力。

8.学会使用C语言进行数据分析和处理。

9.能够阅读和理解C语言的代码和文档。

情感态度价值观目标:1.培养学生的逻辑思维能力和问题解决能力。

2.激发学生对计算机科学的兴趣和热情。

3.培养学生的团队合作意识和创新精神。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和关键字。

2.数据类型、变量、常量的概念及使用方法。

3.运算符、表达式、语句的构成和作用。

4.控制结构、函数、数组、指针、结构体等基本数据结构。

5.输入输出、文件操作、内存管理等编程技能。

6.第1-2周:C语言的基本语法和关键字。

7.第3-4周:数据类型、变量、常量的概念及使用方法。

8.第5-6周:运算符、表达式、语句的构成和作用。

9.第7-8周:控制结构、函数、数组、指针、结构体等基本数据结构。

10.第9-10周:输入输出、文件操作、内存管理等编程技能。

三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解和演示,让学生掌握C语言的基本语法和编程技巧。

2.讨论法:通过小组讨论,培养学生的团队合作意识和问题解决能力。

3.案例分析法:通过分析实际案例,让学生学会将理论知识应用于实际问题。

4.实验法:通过上机实验,让学生亲自动手编写代码,提高编程能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:PPT课件、教学视频4.实验设备:计算机、编程环境通过以上教学资源,我们将帮助学生更好地学习C语言,提高编程能力。

c语言程序设计课程设计论文

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

2. 学会使用C语言进行顺序结构、分支结构和循环结构的编程,并能运用到实际问题中。

3. 熟悉函数的定义、声明和调用,掌握模块化编程的方法。

4. 掌握数组和字符串的基本操作,理解指针的概念和使用方法。

5. 了解结构体和文件操作的基础知识,为后续课程打下基础。

技能目标:1. 培养学生运用C语言解决实际问题的编程能力,提高逻辑思维能力。

2. 培养学生阅读和分析C语言代码的能力,提高编程技巧。

3. 培养学生调试程序、查找并解决问题的能力。

4. 培养学生团队协作和沟通能力,通过分组讨论和实践,共同完成课程任务。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养探究精神和自主学习能力。

2. 培养学生面对困难时的坚持和毅力,树立克服编程难题的信心。

3. 强调编程规范和良好的编程习惯,培养学生的职业道德和责任感。

4. 培养学生分享知识和经验,乐于助人,形成团结协作的良好氛围。

课程性质:本课程为高年级学生的专业基础课,旨在使学生掌握C语言编程的基本知识和技能,为后续学习其他编程语言和计算机专业课程打下基础。

学生特点:学生已具备一定的计算机基础知识和逻辑思维能力,但对C语言编程尚处于入门阶段,需要系统学习和实践。

教学要求:结合课程目标和学生的实际情况,采用理论教学与实践教学相结合的方法,注重启发式教学,鼓励学生主动探索、实践和交流。

通过本课程的学习,使学生能够达到预定的知识、技能和情感态度价值观目标。

二、教学内容本课程教学内容分为以下五个部分,确保科学性和系统性:1. C语言基础- 变量定义、数据类型、常量与变量- 运算符、表达式和语句- 顺序结构程序设计2. 控制结构- 分支结构(if、switch)- 循环结构(for、while、do-while)3. 函数与模块化编程- 函数的定义、声明和调用- 递归函数- 模块化编程方法4. 数据结构与算法- 数组、字符串- 指针的概念、使用和数组操作- 排序算法(冒泡、选择、插入)5. 复合数据类型与文件操作- 结构体- 共用体、枚举- 文件操作基础(打开、关闭、读写)教学大纲安排如下:- 第1周:C语言概述、数据类型与变量- 第2周:运算符、表达式和语句- 第3周:顺序结构程序设计- 第4周:分支结构程序设计- 第5周:循环结构程序设计- 第6周:函数的定义与调用- 第7周:模块化编程、递归函数- 第8周:数组、字符串- 第9周:指针、排序算法- 第10周:结构体、共用体、枚举- 第11周:文件操作基础- 第12周:课程复习、实践与总结教学内容与教材章节紧密关联,注重理论与实践相结合,引导学生逐步掌握C 语言编程的基本方法和技巧。

C语言课程设计-推箱子游戏-毕业论文2.doc

X x 工业大学《C++语言程序设计》课程设计(论文)题目:推箱子院(系):软件学院专业班级:软件工程103班学号:学生姓名:指导教师:教师职称:讲师起止时间:2012.12.20-2012.12.31课程设计(论文)任务及评语目录第1章课程设计目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1 C++语言程序设计------《推箱子》问题分析 (2)2.1.1 功能分析 (2)2.1.2 算法设计及程序设计中技术重点 (2)2.2 程序中涉及的类的UML类图和主要函数流程图或框图。

(5)2.3 程序源代码 (7)2.4 程序的实现 (10)第3章课程设计总结 (13)参考文献 (14)第1章课程设计目的与要求1.1 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C++语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握面向对象程序设计的方法。

(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

1.2 课程设计的实验环境硬件要求能运行Windows 操作系统的微机系统。

c语言论文课程设计

c语言论文课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和结构,并能熟练运用到程序设计中;2. 学会使用C语言进行数据类型定义、变量声明和赋值操作;3. 掌握C语言的运算符、表达式和语句,并能进行基本的逻辑判断和循环控制;4. 了解C语言中的函数定义、调用和参数传递,能编写简单的函数实现特定功能;5. 掌握C语言中的数组、指针和结构体等复合数据类型及其应用。

技能目标:1. 培养学生运用C语言进行问题分析和程序设计的能力;2. 提高学生调试和优化C程序的能力,培养良好的编程习惯;3. 培养学生阅读和分析C语言代码的能力,学会借鉴和运用他人的优秀代码;4. 培养学生运用C语言解决实际问题的能力,如编写小型管理系统、计算器等。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学生的创新精神;2. 培养学生严谨、细致的学习态度,提高学生的自主学习能力;3. 培养学生团队合作精神,学会与他人共同解决问题;4. 培养学生遵守编程规范,尊重他人知识产权,树立正确的价值观。

本课程针对高年级学生,结合C语言论文课程的特点,强调理论与实践相结合,注重培养学生的编程能力和实际问题解决能力。

通过本课程的学习,使学生能够熟练运用C语言进行程序设计,为后续专业课程打下坚实基础。

同时,课程目标分解为具体的学习成果,便于教师进行教学设计和评估,确保学生达到预期学习效果。

二、教学内容1. C语言基础语法与结构- 数据类型、变量和常量- 运算符和表达式- 控制语句(条件语句、循环语句)- 函数定义、调用和参数传递2. C语言进阶知识- 数组、字符串- 指针与内存管理- 结构体、共用体和枚举- 文件操作3. 算法与数据结构基础- 排序算法(冒泡、选择、插入等)- 查找算法(线性查找、二分查找等)- 基本数据结构(栈、队列、链表等)4. C语言编程实践- 小型管理系统(如图书管理系统、学生成绩管理系统)- 常用算法应用(如计算器、排序算法实现)- 综合案例分析教学内容依据课程目标,遵循科学性和系统性原则,结合教材章节进行安排。

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

《C语言程序设计》项目设计报告项目名称:学生成绩信息管理系统2016年 1月 13日目录1 项目分析 (1)1.1 问题描述 (1)1.2 功能需求分析 (1)2 系统设计 (2)2.1 数据结构设计 (2)2.3部分功能设计 (2)3 系统实现源程序 (4)3.1 主函数设计 (4)3.2 添加学生信息 (5)3.3 姓名学号查询 (10)3.4 成绩查询 (12)3.5 删除学生成绩信息 (13)3.6 修改学生成绩信息 (14)4 功能测试 (16)4.1 菜单测试 (16)4.2 系统功能测试 (17)5 系统设计遇到的问题及解决方法 (21)6 项目设计总结 (22)1 项目分析1.1 问题描述信息储存与查询是计算机处理数据的优势之一,目前,学生信息的管理系统已经完全走进了校园,其中成绩信息的储存是主要部分,本课题使用C语言实现学生成绩的储存,查询,修改,以及删除等操作。

程序中涉及到数据块和文件指针的操作,包括结构体数据定义,使用及文件的读写,定位,修改等。

1.2 功能需求分析学生成绩信息管理系统的主要功能如下:①添加学生信息:录入学生的基本信息,如姓名,学号,成绩。

②显示所有学生成绩信息:直接显示已经全部录入学生的成绩信息。

③学号或姓名查询:可以根据学生的姓名和学号直接查询该名学生的成绩。

④成绩查询:可以根据一个特定的分数来查询学生的信息。

⑤删除学生成绩信息:可以直接根据学号确定是否删除对应学生的成绩信息。

⑥修改学生成绩信息:直接根据学生学号来修改学生的姓名,学号,成绩。

图1-1 系统功能模块图2 系统设计2.1 数据结构设计2.2 函数设计表1 函数列表2.3部分功能设计1.删除学生的信息,输入学生的学号进行删除操作,如果没有此人,系统将会提示无此人,如果找到,系统将会确认你是否需要删除,流程图如1-2所示。

图1-2 删除学生信息流程图2.输入学号进行查询对应同学的成绩,流程图如图1-3所示。

图1-3 查询功能流程图3 系统实现源程序3.1 主函数设计void main(){int x;system("cls"); /*清屏*/do{printf("\n 欢迎使用学生成绩信息管理系统\n\n\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 ---------退出");printf(" 请您选择:");choice:scanf("%d",&x);switch(x){case 1:add();break;case 2:printall();break;case 3:search();break;case 4:jgsearch();break;case 5:del();break;case 6:modify();break;case 0:break;default:printf("\n 错误的选择,请重新选择:");goto choice;}}while(x!=0);system("cls");printf("\n\n 欢迎再次使用学生成绩管理系统\n");}3.2 添加学生信息/*学生成绩信息管理系统*/#include <stdio.h>#include <stdlib.h>#include <string.h>int c,j,t;struct stu /*定义结构体类型*/{char name[10];char num[10];char score[10];}student[100],newstudent[100];/*添加学生个人信息*/void addnew(){int a,b,k;FILE *fp,*fp1,*fp2; /*FILE类型指针变量的定义形式*/for(a=0;a<200;a++){system("cls");printf(" 欢迎使用学生成绩管理系统\n\n\n");printf(" 录入学生信息\n\n");printf("输入学生姓名:");scanf("%s",&student[a].name);printf("输入学生学号:");scanf("%s",&student[a].num);printf("输入学生成绩:");scanf("%s",&student[a].score);printf("输入‘1’继续,‘0’结束\n"); /*判断输入是否结束*/ scanf("%d",&b);if(b==0){c=a;system("cls");break;}}if((fp1=fopen("Ca1.txt","w"))==NULL) /*文件名,使用文件方式*/{printf("信息写入失败");exit(0);}if((fp2=fopen("Ca2.txt","w"))==NULL){printf("信息写入失败");exit(0);}if((fp=fopen("Ca3.txt","w"))==NULL){printf("信息写入失败");exit(0);}j=sizeof(struct stu);for(a=0;a<=c;a++){if(fwrite(&student[a],j,1,fp)!=1)printf("存入失败!");}for(a=0;a<=c;a++){if(strcmp(student[a].score,"80")==0){fwrite(&student[a],j,1,fp1);}{fwrite(&student[a],j,1,fp2);}}printf("添加成功!\n\n");printf("请输入'0'返回\n");scanf("%d",&k);fclose(fp1);fclose(fp2);fclose(fp);if(k==0)system("cls");}/*继续添加成员*/void addold(){int a,b,k,p,q;char wjm[20];FILE *fp;j=sizeof(struct stu);system("cls");printf(" 欢迎使用学生成绩信息管理系统\n\n\n");printf(" 录入学生信息\n\n");printf("\n\n 存储文件名有Ca1.txt Ca2.txt Ca3.txt \n\n");printf("请输入想继续添加的文件名:");scanf("%s",wjm);for(a=0;a<200;a++){printf("输入学生姓名:");scanf("%s",&newstudent[a].name);printf("输入学生学号:");scanf("%s",&newstudent[a].num);printf("输入学生成绩:");scanf("%s",&newstudent[a].score);printf("输入‘1’继续,‘0’结束\n"); //判断输入是否结束scanf("%d",&b);if(b==0){c=a;system("cls");break;}if((fp=fopen(wjm,"r"))==NULL){printf("文件打开失败!");exit(0);}a=0;while(!feof(fp)){fread(&student[a],j,1,fp);a++;}fclose(fp);t=a-1;for(q=0,p=t;q<=c,p<=t+c;q++,p++){strcpy(student[p].name,newstudent[q].name);strcpy(student[p].num,newstudent[q].num);strcpy(student[p].score,newstudent[q].score);}if((fp=fopen(wjm,"w"))==NULL){printf("文件打开失败!");exit(0);}for(a=0;a<=t+c;a++){if(fwrite(&student[a],j,1,fp)!=1)printf("存入失败!");}printf("添加成功!\n\n");printf("请输入'0'返回\n");scanf("%d",&k);fclose(fp);if(k==0)system("cls");}void add(){int x;system("cls");printf(" 欢迎使用学生成绩信息管理系统\n\n\n");printf(" 添加学生信息\n\n");printf(" 1 重新添加信息\n");printf(" 2 继续添加信息\n");printf(" 0 返回\n\n\n");printf(" 请选择:");scanf("%d",&x);choice:switch(x){case 1:addnew();break;case 2:addold();break;case 0:break;default:printf("\n 错误的选择,请重新选择:"); goto choice;}system("cls");}/*显示所有学生的成绩*/void printall(){int a,b;FILE *fp,*fp1,*fp2;system("cls");printf(" 欢迎使用学生成绩信息管理系统\n\n\n");printf(" 全部已录入学生信息\n\n");printf("%-10s%-20s%-50s\n","姓名","学号","成绩");j=sizeof(struct stu);if((fp=fopen("Ca1.txt","r"))==NULL){printf("\n打开失败");exit(0);}if((fp1=fopen("Ca2.txt","r"))==NULL){printf("信息写入失败");exit(0);}if((fp2=fopen("Ca3.txt","r"))==NULL){printf("信息写入失败");exit(0);}a=0;while(!feof(fp)){if(fread(&student[a],j,1,fp)==1){printf("%-10s%-20s%-50s\n",student[a].name,student[a].num,student[a].score);a++;}}a=0;while(!feof(fp1)){if(fread(&student[a],j,1,fp1)==1){printf("%-10s%-20s%-50s\n",student[a].name,student[a].num,student[a].score);a++;}}a=0;while(!feof(fp2)){if(fread(&student[a],j,1,fp2)==1){printf("%-10s%-20s%-50s\n",student[a].name,student[a].num,student[a].score);a++;}}fclose(fp);fclose(fp1);fclose(fp2);printf("返回上级请输入‘0’!\n:");scanf("%d",&b);if(b==0){system("cls");}}3.3 姓名学号查询void search(){int k,b,a;char cx[20];FILE *fp;system("cls");j=sizeof(struct stu);do{printf(" 欢迎使用学生成绩信息管理系统\n\n\n");printf(" 查找已录入学生成绩信息\n\n");k=0;if((fp=fopen("Ca1.txt","r"))==NULL){printf("\n打开失败!");exit(0);}printf("请输入学号或姓名:\n");scanf("%s",cx);if((cx[0]<'0')||(cx[0]>'9')){ a=0;while(!feof(fp)){fread(&student[a],j,1,fp);if(strcmp(student[a].name,cx)==0){printf("\n\n已查到,该记录为:\n\n");printf("%-10s%-20s%-50s\n","姓名","学号","成绩");printf("%-10s%-20s%-50s\n",student[a].name,student[a].num,student[a].score);k=1;}a++;}}if('0'<=cx[0]<='9'){ a=0;while(!feof(fp)){fread(&student[a],j,1,fp);if(strcmp(student[a].num,cx)==0){printf("\n\n已查到,该记录为:\n\n");printf("%-10s%-20s%-50s\n","姓名","学号","成绩");printf("%-10s%-20s%-50s\n",student[a].name,student[a].num,student[a].score);k=1;}a++;}}if(!k)printf("\n文件中无此人的记录。

相关文档
最新文档