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

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

题目:公交卡管理系统第一章绪论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语言,提高编程能力。

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

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

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

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

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

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

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

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

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

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

3{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);}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,studen t[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,studen t[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,studen t[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文件中无此人的记录。

相关文档
最新文档