c语言课程设计论文

合集下载

c语言课程设计论文

c语言课程设计论文

《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所示。

C语言课程设计论文

C语言课程设计论文

学生成绩管理系统设计1、课程设计简介1.1 要求参加本课程设计的学生,应当认真完成本课程设计的全部过程。

并以最终课程设计成果来证明其独立完成各种实际任务的能力。

从而,反映出理解和运用本课程知识的水平和能力。

1.2 意义和目的意义:C语言是电子科学与技术专业的重要专业基础课。

在很多后续课程中,都要使用到C语言。

学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。

为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。

目的:1)提高用程序设计解决实际问题的能力。

2)通过提出算法、指定输入输出来设计一个解决方案。

3)用C语言合理地开发两个简洁有效的程序代码来实现该设计。

4)测试程序是否工作且满足设计指标并评价其效率。

1.3 内容链表文件操作题(包括文件输入、文件输出、链表建立、结点插入、结点删除、输出打印等)(参考教材);2、具体实现2.1 程序总体方案2.1.1程序设计思想通过在主函数循环调用各个函数,从而实现文件输出及对链表的连续操作,最终实现链表的新建、打印、查找、保存、读取、更新、删除等等操作,进而管理学生信息,并保存学生的各种信息,方便下一次操作。

链表是以学生学号排序,当出现学号为0时结束本次操作,成功实现一个学号对应一位学生。

2.1.2程序结构或流程图2.2 具体方案 2.2.1 首界面2.2.2文件输出struct student *read()//数据读取,写入内存; { FILE *fp;struct student *p1,*p2,*head;head=NULL; p1=p2=(struct student *)malloc(LEN); if((fp=fopen("G:\\C\\file1.dat","rb"))==NULL) {head=NULL;主函数1 成绩录入2 成绩查询7 成绩输出6 插入记录3 不及格 名单4 修改记录5 删除记录8退出fclose(fp);return(head);}fread(p1,sizeof(struct student),1,fp);head=p1;while(p1->next!=NULL){p2=p1;p1=(struct student *)malloc(LEN);fread(p1,sizeof(struct student),1,fp);p2->next=p1;}fclose(fp);return (head);}用fread函数将文件中的数据项写入内存,返回head,为下面子函数的调用做准备。

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语言课程设计论文

题目:公交卡管理系统第一章绪论1.1 绪论C语言是一种计算机程序设计语言。

它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C 语言,具体应用比如单片机以及嵌入式系统开发。

C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。

许多著名的系统软件,如DBASE Ⅳ都是由C 语言编写的。

用C 语言加上一些汇编语言子程序,就更能显示C 语言的优势了,像PC- DOS 、WORDSTAR等就是用这种方法编写的。

归纳起来C 语言具有下列特点:1. C是中级语言。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2.C是结构式语言。

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3.C语言功能齐全。

具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

另外C语言也具有强大的图形功能,支持多种显示器和驱动器。

而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。

4. C语言适用范围大。

适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。

它是数值计算的高级语言。

5.C语言文件由数据序列组成,可以构成二进制文件或文本文件常用的C语言IDE(集成开发环境)有Microsoft Visual C++,D ev-C++,Code::Blocks,Borland C++,Watcom C++ ,Borland C+ + Builder,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc 等等……对于一个初学者,Microsoft Visual 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语言的学习,让学生掌握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语言程序设计课程设计论文

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 语言编程的基本方法和技巧。

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

c语言课程设计论文TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】《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 系统功能测试 (16)5 系统设计遇到的问题及解决方法 (21)6 项目设计总结 (22)1 项目分析1.1 问题描述信息储存与查询是计算机处理数据的优势之一,目前,学生信息的管理系统已经完全走进了校园,其中成绩信息的储存是主要部分,本课题使用C语言实现学生成绩的储存,查询,修改,以及删除等操作。

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

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

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

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

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

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

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

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

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

{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);}else{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文件中无此人的记录。

相关文档
最新文档