C C++课程设计 选题管理系统
- 格式:doc
- 大小:88.50 KB
- 文档页数:13
C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。
每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。
每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。
每个人的图书馆信息包括借书证号、班级、学号等。
该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。
可以随时添加、删除、修改、查询等相关资料。
b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。
例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。
并显示读者当天到期未还图书的所有信息。
c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。
并定义每类读者可以借阅的图书数量及相关借阅时间等信息。
读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。
D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。
统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。
e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。
根据题目分析这项工作分为六个模块。
1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。
模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。
模块四:登记书号,还书,处理罚款。
模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。
数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。
主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。
《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
c语言课课程设计管理系统一、教学目标本章节的教学目标是使学生掌握C语言课程设计管理系统的基本概念、原理和方法,培养学生运用C语言进行程序设计的能力,提高学生的实际操作技能和解决实际问题的能力。
具体来说,知识目标包括:1.掌握课程设计管理系统的基本概念和原理。
2.理解C语言在课程设计管理系统中的应用。
3.熟悉常用的数据结构和算法。
技能目标包括:1.能够使用C语言进行程序设计。
2.能够运用常用的数据结构和算法解决实际问题。
3.能够独立完成课程设计管理系统的开发和调试。
情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。
2.培养学生的自主学习能力和探究精神。
3.培养学生对C语言和课程设计管理系统的兴趣和热情。
二、教学内容本章节的教学内容主要包括C语言的基本语法、数据结构、算法和课程设计管理系统的基本概念和原理。
具体来说,教学大纲如下:1.C语言的基本语法:数据类型、变量、运算符、表达式、语句等。
2.数据结构:数组、链表、栈、队列、树、图等。
3.算法:排序算法、查找算法、动态规划算法等。
4.课程设计管理系统的基本概念和原理:系统结构、模块划分、功能实现等。
三、教学方法为了实现教学目标,本章节将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过教师的讲解,使学生掌握C语言和课程设计管理系统的基本概念和原理。
2.讨论法:通过小组讨论,培养学生的团队合作意识和沟通能力。
3.案例分析法:通过分析实际案例,使学生了解课程设计管理系统的应用和实现方法。
4.实验法:通过实际操作,培养学生运用C语言进行程序设计的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C语言程序设计》等。
2.参考书:《C语言编程实践》、《数据结构与算法》等。
3.多媒体资料:课件、教学视频等。
4.实验设备:计算机、网络设备等。
以上教学资源将有助于丰富学生的学习体验,提高学生的实际操作技能和解决实际问题的能力。
《数据库系统概论》课程设计实验报告题目试题库管理系统学院商学院专业信息管理与信息系班级信息101学号201052275130学生姓名杨贵文同组成员周杭施建炉王于宾指导教师宣军英编写日期2012-06-19——2012-06-29一、课题名称:试题库管理系统二、课题要求:结合所学知识,开发一个简易的试题库管理系统。
三、实验目的:结合本学期所学知识,使学生温故而知新,并在实践操作上增加对数据库系统设计的认识和理解。
四、实验步骤:五、1、需求分析2、概念结构设计3、逻辑结构设计4、物理结构设计5、数据库实施6、数据库运行和维护六、课程开发内容:5.1 需求分析5.1.1 系统调查对现行的试题库管理业务进行了详细的调查和研究是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的试题库管理工作进行全面的细致的调查研究。
首先与相关的老师进行了交流和沟通,了解他们对试题库管理的看法,看看有没有什么新的要求,在这个基础上,结合自身所掌握的知识水平,量力而行开发相应的试题库管理系统。
在调查中我们可以发现,高校的试题库是极其庞大的,如果没有一个智能的系统将人们从手工阶段解放出来,那么一个庞大的、完整的试题库是无法有效运行的,甚至出题的老师也无法有效、准确地在试题库中抽取自己所需要的试题,这等于说是一个没有实际运用价值的试题库。
所以说,他们对希望有这样的一个可以详细地表示试题属性的这样的一个试题库。
那么今天我们就围绕着这样的一个目标展开我们的工作。
5.1.2 用户需求要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。
本系统从以下四个方面对用户需求进行了分析:1)用户的需求信息:出题老师可以看到题目所属的类型和题目所考察的内容以及试题的分值和难度等级。
当然这个权限也给管理员和系主任。
2)用户的处理要求:管理员可以对试题库进行插入和删除操作,出题老师可以凭借自己自定义的选题要求在试题库中选择自己需求的试题,这个权限也对系主任开放。
c 课程设计药店管理系统一、课程目标知识目标:1. 学生能理解药店管理系统的基本概念和功能需求,掌握药品信息管理、库存管理、销售管理等核心模块的基本原理。
2. 学生能够运用数据库知识,设计并实现药店管理系统的数据模型,包括数据表的设计和关系维护。
3. 学生能够结合软件工程方法,编写药店管理系统相关的功能性代码,实现对药品信息、库存和销售的有效管理。
技能目标:1. 学生掌握使用至少一种数据库管理系统(如MySQL、SQLite等)进行药店管理系统数据设计和操作的能力。
2. 学生能够运用面向对象编程思想,使用适当的编程语言(如Java、C#等)实现药店管理系统的功能模块。
3. 学生通过团队协作,学会项目管理的基本方法,提高沟通与协作能力。
情感态度价值观目标:1. 学生通过参与药店管理系统的设计与实现,培养解决问题的兴趣和自信心,增强对信息技术的学习热情。
2. 学生能够认识到信息技术在医药卫生行业中的重要性,提升社会责任感和职业道德意识。
3. 学生在项目实施过程中,学会尊重他人意见,培养团队合作精神,提高集体荣誉感。
课程性质分析:本课程为高年级信息技术或计算机科学与技术相关专业的实践性课程,强调理论知识与实际应用的结合,注重培养学生的动手能力和实际项目经验。
学生特点分析:高年级学生已具备一定的编程基础和数据库知识,具有较强的自学能力和创新意识,同时,他们即将面临毕业和就业,对实际项目的参与有较高的积极性。
教学要求:1. 结合实际案例,引导学生主动探索和解决问题,提高学习的主动性和创造性。
2. 通过团队协作,培养学生的沟通能力和团队精神,提升项目实施的成功率。
3. 注重过程评价,及时反馈学生的学习成果,帮助学生明确自己的不足和努力方向。
二、教学内容本课程教学内容主要包括以下几部分:1. 药店管理系统概述:介绍药店管理系统的概念、发展历程、功能模块和实际应用场景,使学生对该系统有一个全面的认识。
2. 数据库设计:讲解数据库的基本概念、关系型数据库的设计方法,以及如何运用数据库管理系统(如MySQL、SQLite等)进行药店管理系统数据模型设计。
c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。
2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。
3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。
具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。
C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。
二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。
同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。
五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。
总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert( )函数来实现。
其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。
主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。
C语言大型作业实践报告计算机1001制作者:李菁华张兆丰秦恒加2011年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息。
学生可按要求(如总学分不能少于20学分)选课。
课程信息维护,如录入、修改、删除等,课程信息用文件保存。
课程信息浏览?输出。
学生选课功能。
查询功能包括:按学分、课程性质、学生等查询。
统计功能。
统计各门课程的选修人数。
本系统要有通用性、界面美观、操作方便。
要考虑系统安全。
课程信息录入系统选修课程信息录入选修课程信息保存主程序目录选择总体设计思路(流程图):学生选课系统课程信息读入学生信息输入选课系统数据保存选修课数据维护系统添加修改删除以word格式输出密码系统密码验证系统权限限制系统密码对退出程序密码对选修课程信息查找按各种类型查找密码错3次以上具体算法流程设计思路(流程图):主程序目录选择1.学生选课系统;2.选修课程信息输出;3.选修课程信息查找;4.管理员选项;5.退出系统。
管理员选项密码验证系统读入系统时间,通过强制转换成unsigned long int型数据作为初始密码用户输入密码(若是管理员会拥有密码钥匙,得出现在的密码,该密码每分钟都会变化)密码正确进入管理员管理界面,密码不正确重新输入密码输入错误3次以上 12 3学生选课系统选修课程信息以word2003形式输出返回主菜单选修课程信息查找选修课程信息从文件内读入输入按什么查找1.课程编号;2.课程名;3.课程种类;4.总课时;5.教学课时;6实验课时;7.学分;8.开课学期;9.已选人数。
输入查找的关键字从文件内读入的课程信息与关键字逐一对比,完全匹配输出;查找完毕学生信息输入课程信息浏览不选少于这门20分选课系统课选课成功判断学分是否大于20分大于20分结束选课选课信息储存退出程序管理员模块管理员模块 3目录选择1.学生选课系统;2.选修课程信息管理系统;3.退出系统12 5学生选课系统二级目录选择1.新建选修课程信息;2.管理选修课程信息;3.统计每门课程选择人数;4.选修课程信息输出;5.回到主菜单。
课程设计课程名称C语言程序课程设计题目名称学生信息管理系统设计_____学生学院_自动化学院_______________专业班级__自动化X__________________ 学号__311100XXXX______________ 学生姓名_____________________指导教师2013年10月20日广东工业大学课程设计任务书题目名称学生信息管理系统设计____学生学院___自动化学院____________专业班级___自动化X_______________学号___3111000XXX____________学生姓名___谢XX_________________1.目的与要求:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。
试设计一学生信息管理系统,使之能提供以下功能:1.系统以菜单方式工作2.学生信息录入功能---输入3.学生信息浏览功能---输出4.查询、排序功能---算法按学号查询按姓名查询5.学生信息的删除与修改(可选项)2.总体设计:程序设计组成框图学生信息录入学生信息浏览3>参数说明editname(int n)、editage(int n)、editsex(int n) 、editbir(int n) 、editadd(int n) 、edittel(int n)、editemail(int n)、last(int n)、edit(int n)、del(int n)、editpr(int n) 函数中的n都为检索中确定的学生数组下标。
4.调试与测试:1>调用pr2()函数(检索界面)一闪而过。
解决方法:添加getchar()语句使程序暂停。
2>无法有效的控制输出函数循环终止。
解决方法:添加全局变量“stunum”,使用该全局变量来记录学生总数,从而控制输出循环的次数。
3>查询函数数据量过多时同时输出,先输出的内容无法查看,或需用户自行查看。
c语言课程设计答题系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单的C程序的能力,使学生了解程序设计的基本思路和方法,培养学生的逻辑思维和编程思维,使学生能够使用C语言解决实际问题,培养学生动手实践的能力和团队协作的能力。
二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,同时结合具体的编程实例进行讲解,使学生能够通过实例掌握C语言的基本用法,培养学生编写程序的能力。
在教学过程中,会结合一些实际的案例,使学生能够了解C语言在实际中的应用,激发学生的学习兴趣。
三、教学方法在教学过程中,将采用讲授法、案例分析法、实验法等多种教学方法。
讲授法用于向学生传授C语言的基本知识和编程技巧,案例分析法用于分析实际问题,引导学生思考如何使用C语言解决实际问题,实验法用于让学生动手实践,培养学生的编程能力。
通过多种教学方法的结合,激发学生的学习兴趣,提高学生的学习效果。
四、教学资源教学资源包括教材、多媒体资料和实验设备。
教材为学生提供C语言的基本知识,多媒体资料用于辅助教学,使学生更直观地了解C语言的使用,实验设备用于让学生动手实践,培养学生的编程能力。
教学资源的选择和准备应根据教学内容和教学方法的需要进行,以保证教学的顺利进行。
五、教学评估教学评估是检验学生学习成果和教师教学质量的重要手段。
本课程的评估方式包括平时表现、作业、考试等。
平时表现主要考察学生的出勤、课堂参与度、团队合作等,占总成绩的20%。
作业主要包括编程练习和理论题目,占总成绩的30%。
考试分为期中和期末考试,各占总成绩的30%。
评估方式应客观、公正,能够全面反映学生的学习成果。
教师应及时给予学生反馈,帮助他们改进学习方法和提高学习效果。
六、教学安排本课程的教学安排将根据课程内容和学生的实际情况进行制定。
教学进度计划将分为两个学期,每个学期共计16周。
课程设计选题管理系统作者:admin 日期:2008-05-23/*设计学生类;课程设计题目类(序号,题目,人数,描述);每个题目限两个人选;要求使用面向对象编程进行模拟课程设计选题;要求以链表格式存储,信息保存在文件中。
主要包括下列模块:1.新增、修改、删除课程设计题目;2.新增、修改、删除学生信息;3.查询课程设计内容;4.课程设计选题;*/#include <iostream>#include <string>#include <iomanip>using namespace std;class Student{long num;char name[20];char subject[30];Student *Next;Student *Head;public:int Creat(){FILE *fp;Head = NULL; //存放链表的起始地址Student *p, *pEnd;p = new Student; //创建一个Teacher的动态对象if((fp=fopen("Student.txt","r"))==NULL){cout << "can not open file!" << endl;exit(0);}fscanf(fp,"%ld%s%s",&p->num,p->name,p->subject); //输入指针p指向的对象的数据成员的值pEnd = Head; // 存放当前对象的地址while(!feof(fp)){ // 0 是输入结束的标志if(NULL == Head)Head = p; // 只在第一次执行此语句elsepEnd->Next = p; // 存放下一个对象的地址pEnd = p;p = new Student; //动态创建下一个对象fscanf(fp,"%ld%s%s",&p->num,p->name,p->subject); //输入下一个对象数据成员的值}pEnd->Next = NULL;return 0;}int Newstudent()//************************增加{FILE *fp;cout << "请输入增加的学生的相关信息: " << endl;cout << "学号: " ;cin >> num ;cout << endl;cout << "姓名: " ;cin >> name;cout << endl;cout << "已选课程设计题目: " ;cin >> subject;cout << endl;if((fp=fopen("student.txt","a"))==NULL){cout << "can not open file!" << endl;exit(0);}fprintf(fp,"%ld %s %s\n",num,name,subject);fclose (fp);return 0;}int Modify()//*****************************修改{FILE *fp;Student *p;char namer[20];Creat();cout << "请输入要修改的姓名:";cin >> namer;cout << endl;if(Head!=NULL){p=Head;while(strcmp(namer,p->name)){p=p->Next;if(p==NULL)break;if(p!=NULL){cout << "你要修改的学生的相关信息如下:" << endl << endl;cout << p->num << ' ' << p->name << ' ' << p->subject << endl << endl;cout << "请输入修改后的相关信息:" << endl << endl;cout << "请输入修改后的学生的学号: ";cin >> p->num;cout << endl;cout << "请输入修改后的姓名: ";cin >> p->name;cout << endl;cout << "请输入修改后的所选题目: ";cin >> p->subject;cout << endl;if((fp=fopen("Student.txt","w"))==NULL){cout << "can not open file!" << endl;exit(0);}p=Head;if(Head!=NULL)do{fprintf(fp,"%ld %s %s\n",p->num,p->name,p->subject);p=p->Next;}while(p!=NULL);fclose (fp);}elsecout << "没有找到你想要修改的题目的信息" <<endl;}elsecout << "文件中还没有任何题目"<<endl;return 0;}int Del()//****************************************删除{FILE *fp;Student *p,*p1;char namer[30];cout << "请输入要删除的学生的姓名:";cin >> namer;cout << endl;if(Head!=NULL){p=Head;while(strcmp(namer,p->name)){p1=p;p=p->Next;if(p==NULL)break;}if(p!=NULL){cout << "你要删除的题目的相关信息如下:" << endl;cout << " 姓名: " << p->name<< endl;cout << " 学号: " << p->num << endl;cout << "所选题目: " << p->subject << endl;system("pause");if(p==Head)Head=p->Next;elsep1->Next=p->Next;if((fp=fopen("Student.txt","w"))==NULL){cout << "can not open file!" << endl;exit(0);}p=Head;if(Head!=NULL)do{fprintf(fp,"%ld %s %s\n",p->num,p->name,p->subject);p=p->Next;}while(p!=NULL);fclose (fp);cout << "该学生的所有信息已被删除!" << endl;}elsecout << "没有找到你想要删除的学生的信息" <<endl;}cout << "文件中还没有任何学生的信息"<<endl;return 0;}};classSubject//*********************************************************************** ****************{int serial_number;//序号char subject[30]; //题目int peoples;//限定人数int people;//已选人数char description[100];//描述Subject *next;Subject *head;public:int Chosesubject();int creat();int newsubject();int modify();int del();int demand();};int Subject::creat(){FILE *fp;head = NULL; //存放链表的起始地址Subject *p, *pEnd;p = new Subject; //创建一个Teacher的动态对象if((fp=fopen("Subject.txt","r"))==NULL){cout << "can not open file!" << endl;exit(0);}fscanf(fp,"%d%s%d%s%d",&p->serial_number,p->subject,&p->peoples,p->description,&p->peo ple); //输入指针p指向的对象的数据成员的值pEnd = head; // 存放当前对象的地址while(!feof(fp)){ // 0 是输入结束的标志if(NULL == head)head = p; // 只在第一次执行此语句elsepEnd->next = p; // 存放下一个对象的地址pEnd = p;p = new Subject; //动态创建下一个对象fscanf(fp,"%d%s%d%s%d",&p->serial_number,p->subject,&p->peoples,p->description,&p->peo ple); //输入下一个对象数据成员的值}pEnd->next = NULL;return 0;}int Subject::newsubject()//************************************增加{FILE *fp;cout << "请输入要增加的题目的序号:";cin >> serial_number;cout << endl;cout << "请输入要增加的题目:";cin >> subject;cout << endl;cout << "请输入要增加的题目的人数限定:";cin >> peoples;cout << endl;cout << "请输入要增加的题目的描述::";cin >> description;cout << endl;cout << "请输入要增加的题目的已选人数:";cin >> people;cout << endl;if((fp=fopen("Subject.txt","a"))==NULL){cout << "can not open file!" << endl;exit(0);}fprintf(fp,"%d %s %d %s %d\n",serial_number,subject,peoples,description,people);return 0;}int Subject::modify()//*****************************修改{FILE *fp;Subject *p;char sub[30];creat();cout << "请输入要修改的题目:";cin >> sub;cout << endl;if(head!=NULL){p=head;while(strcmp(sub,p->subject)){p=p->next;if(p==NULL)break;}if(p!=NULL){cout << "你要修改的题目的相关信息如下:" << endl;cout << p->serial_number << ' ' << p->subject << ' ' << p->people << ' ' << p->description << endl;cout << "请输入修改后的相关信息:" << endl;cout << "请输入修改后的题目的序号:";cin >> p->serial_number;cout << endl;cout << "请输入修改后的题目:";cin >> p->subject;cout << endl;cout << "请输入修改后的题目的人数限定:";cin >> p->peoples;cout << endl;cout << "请输入修改后的题目的描述::";cin >> p->description;cout << endl;cout << "请输入修改后的题目的已选人数:";cin >> p->people;cout << endl;if((fp=fopen("Subject.txt","w"))==NULL){cout << "can not open file!" << endl;exit(0);}p=head;if(head!=NULL)do{fprintf(fp,"%d %s %d %s %d\n",p->serial_number,p->subject,p->peoples,p->description,p->peopl e);p=p->next;}while(p!=NULL);fclose (fp);}elsecout << "没有找到你想要修改的题目的信息" <<endl;}elsecout << "文件中还没有任何题目"<<endl;return 0;}int Subject::del()//****************************************删除{FILE *fp;Subject *p,*p1;char sub[30];creat();cout << "请输入要删除的题目:";cin >> sub;cout << endl;if(head!=NULL){p=head;while(strcmp(sub,p->subject)){p1=p;p=p->next;if(p==NULL)break;}if(p!=NULL){cout << "你要删除的题目的相关信息如下:" << endl;cout << " 序号: " << p->serial_number << endl;cout << " 题目: " << p->subject << endl;cout << "限定人数: " << p->peoples << endl;cout << "题目描述: " << p->description << endl;cout << "已选人数: " << p->people << endl;system("pause");if(p==head)head=p->next;elsep1->next=p->next;if((fp=fopen("Subject.txt","w"))==NULL){cout << "can not open file!" << endl;exit(0);}p=head;if(head!=NULL)do{fprintf(fp,"%d %s %d %s %d\n",p->serial_number,p->subject,p->peoples,p->description,p->peopl e);p=p->next;}while(p!=NULL);fclose (fp);cout << "该题目的所有信息已被删除!" << endl;}elsecout << "没有找到你想要删除的题目的信息" <<endl;}elsecout << "文件中还没有任何题目"<<endl;return 0;}int Subject::demand()//***************************************查询课程设计题目{Subject *p,*p1;char sub[30];creat();cout << "所有题目列表如下" << endl;p=head;while(p != NULL){cout << "序号: " << p->serial_number << "题目: " << p->subject << endl;cout << endl;p = p->next;}cout << " 请输入你想要查看的题目: " ;cin >> sub;cout << endl;if(head!=NULL){p=head;while(strcmp(sub,p->subject)){p1=p;p=p->next;if(p==NULL)break;}if(p!=NULL)cout << "关于该题目有如下描述:"<< endl << p->description << endl;elsecout << "没有找到你想要修改的题目的信息" <<endl;}elsecout << "文件中还没有任何题目"<<endl;return 0;}int Subject::Chosesubject(){FILE *fp;Subject *p,*p1;char sub[30];creat();cout << "请输入你要选择的题目: ";cin >> sub;cout << endl;if(head!=NULL){p=head;while(strcmp(sub,p->subject)){p1=p;p=p->next;if(p==NULL)break;}if(p!=NULL){if(p->people>=p->peoples){cout << "人数超限!你不能再选择此题目!" << endl;exit(0);}Student a;a.Newstudent();p->people++;if((fp=fopen("Subject.txt","w"))==NULL){cout << "can not open file!" << endl;exit(0);}p=head;if(head!=NULL)do{fprintf(fp,"%d %s %d %s %d\n",p->serial_number,p->subject,p->peoples,p->description,p->peopl e);p=p->next;}while(p!=NULL);cout << "****选题成功!***" << endl;fclose (fp);}elsecout << "没有找到你想要修改的题目的信息" <<endl;}elsecout << "文件中还没有任何题目"<<endl;return 0;}int main(){system("color 1d");Subject a;Student b;char choice;cout<<"\n\n\t ★欢迎使用课程设计选课系统★\n\n";cout<<"\t1.★★★★添加新的科目★★★★★★★★★\n";cout<<"\t2.********删除所选内容******************\n";cout<<"\t3.★★★★修改课程设计信息★★★★★★★\n";cout<<"\t4.********添加新的学生的相关信息********\n";cout<<"\t5.★★★★删除学生记录★★★★★★★★★\n\n\n";cout<<"\t6.********修改学生相关信息**************\n";cout<<"\t7.★★★★查询课程设计内容★★★★★★★\n";cout<<"\t8.********进行课程设计选课**************\n";cout<<"\t0.★★★★退出系统★★★★★★★★★★★\n\n\n";cout<<"\t ★***制作人:肖涛***★\n\n\n"; cout<<"\t ★**指导老师:范永全***★\n\n\n"; cout<<"请输入您的选择:";cin>>choice;if(choice=='0')exit(0);elseif(choice=='1'){ a.newsubject();system("pause");main();}else if(choice=='2'){a.del();system("pause");main();}else if(choice=='3'){a.modify();system("pause");main();}else if(choice=='4'){b.Newstudent();system("pause");main();}elseif(choice=='5'){b.Del();system("pause");main();}else if(choice=='6'){b.Modify();system("pause");main();}else if(choice=='7'){a.demand();system("pause");main();}else if(choice=='8'){a.Chosesubject();system("pause");main();}elsecout<<"输入错误,请重新输入您的选择:"; system("pause");main();}文章来自: 本站原创。