c++课程设计报告学生信息管理系统
C语言课程设计实验报告-学生信息管理系统

C课题:学生信息管理系统设计报告人:阮家友 方鹏飞 叶成 指导老师: 严碧波 孙祥娥 报告日期:2014年6月23日语言课程设计实验报告C语言课程设计实验报告1.设计目的:学生信息管理系统设计学生信息包括:学号、姓名、年龄、电话号码、性别、出生年月、QQ、班级等。
试设计一学生信息管理系统,使之能提供以下功能:1.系统以菜单方式工作2.学生信息添加功能---输入3.查询功能---算法按学号查询按姓名查询4.学生信息的删除与修改5.学生信息整表浏览功能---输出2.总体设计:程序设计组成框图主菜单学生信息整表浏览流程图3.详细设计:1>函数入口说明menu() 输出主菜单load_info() 载入函数:txt 转为链表 add_info(STU*h) 增加学生信息search_info(STU*h,int type) 搜索学生信息 delete_info(STU*h) 删除学生信息 update_info(STU*h) 修改学生信息 output_info(STU*h) 输出学生信息preview_info(STU*h,int type) 预览学生信息 main() 主函数 2>调用关系3>参数说明add_info(STU*h) 、delete_info(STU*h) 、output_info(STU*h) 、preview_info(STU*h,int type) 、search_info(STU*h,int type) 、update_info(STU*h) 、函数中的STU*h 为传入的链表节点指针,type 为搜索的方式:1为输出传入节点指针的一条学生记录,2为输出所有的学生记录。
4.调试与测试:1>调用STU * load_info()函数(文件载入),读写出现乱码解决方法:更改相应指针指向,及有关变量的初值设置。
delete_info ()update_info ()load_info() add_info(STU*h)preview_info () output_info()search_info() output_info()2>边界测试解决方法:用极端的或偏门的情况来探测和验证代码在处理时会发生什么。
c语言学生管理系统课程设计报告 (2)

C语言学生管理系统课程设计报告1. 引言学生管理系统是一项常见的计算机应用程序,广泛应用于学校、培训机构等教育机构中。
本文将介绍一个基于C语言开发的学生管理系统,该系统具有以下功能:学生信息的录入、查询、修改和删除,以及成绩信息的录入、查询、统计和排序。
2. 系统设计2.1 功能模块学生管理系统主要包括以下功能模块:•学生信息录入模块:用于录入学生的基本信息,包括学号、姓名、性别、年龄等。
•学生信息查询模块:提供根据学号或姓名查询学生信息的功能。
•学生信息修改模块:允许修改学生的各项信息。
•学生信息删除模块:提供学生信息的删除功能。
•成绩信息录入模块:用于录入学生的成绩信息,包括科目和成绩。
•成绩信息查询模块:提供根据学号或科目查询学生成绩的功能。
•成绩统计模块:对学生的成绩进行统计,包括总分和平均分。
•成绩排序模块:按照总分对学生进行排序。
2.2 数据结构学生信息和成绩信息可以使用结构体存储。
定义如下:typedef struct {char id[20]; // 学生学号char name[20]; // 学生姓名char gender[5]; // 学生性别int age; // 学生年龄} Student;typedef struct {char id[20]; // 学生学号char subject[20]; // 科目float score; // 成绩} Score;通过结构体数组来存储多个学生的信息和成绩,如下所示:Student students[MAX_STUDENT_NUM];Score scores[MAX_SCORE_NUM];2.3 系统流程学生管理系统的流程图如下所示:graph LRA[学生信息录入] --> B[学生信息查询]A --> C[学生信息修改]A --> D[学生信息删除]A --> E[成绩信息录入]A --> F[成绩信息查询]A --> G[成绩统计]A --> H[成绩排序]3. 系统实现在C语言中,使用函数来实现不同的功能模块。
C课程设计报告(学生信息管理系统)

课程设计报告课程名称C语言程序设计课题名称学生信息管理系统专业电气工程及其自动化班级1086班学号 2姓名周铁指导教师彭祯刘琤郭芳2011年 6 月20 日湖南工程学院课程设计任务书课程名称C课程设计课题学生信息管理系统专业班级电气1086班学生姓名周铁学号 2指导老师彭祯刘琤郭芳审批任务书下达日期2011 年 6 月20 日任务完成日期2011 年7 月 1 日2目录一、题目总体介绍 ....................................... 错误!未定义书签。
二、需求分析 ............................................... 错误!未定义书签。
三、总体设计 ............................................... 错误!未定义书签。
1、现行系统组织结构图:...................... 错误!未定义书签。
2、数据结构分析....................................... 错误!未定义书签。
3、工作原理等........................................... 错误!未定义书签。
三、详细设计 ............................................... 错误!未定义书签。
四.系统调试与结果分析 ........................... 错误!未定义书签。
六、总结 ....................................................... 错误!未定义书签。
七、附件 ....................................................... 错误!未定义书签。
参考文献.................................................... 错误!未定义书签。
c学生管理系统课程设计报告

c学生管理系统课程设计报告一、课程目标知识目标:1. 理解学生管理系统的基本概念,掌握其功能模块和工作原理。
2. 学习数据库的基本操作,如创建、查询、更新和删除数据。
3. 掌握使用编程语言(如Python)结合数据库进行学生信息管理的方法。
技能目标:1. 能够独立设计并实现一个简单的学生管理系统,包括学生信息的增删改查功能。
2. 学会使用数据库存储和管理数据,提高数据处理能力。
3. 培养问题分析、解决方案设计和编程实现的能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和爱好,提高学习积极性。
2. 培养学生的团队协作精神,学会在项目中分工合作、共同解决问题。
3. 增强学生的责任感和使命感,认识到信息技术在学生管理系统中的重要作用。
课程性质:本课程属于信息技术学科,结合数据库和编程知识,注重实践操作,培养学生的动手能力和实际应用能力。
学生特点:学生处于高年级阶段,具备一定的信息技术基础和编程能力,对实际应用项目有较高的兴趣。
教学要求:结合学生实际情况,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. 学生管理系统概述- 系统需求分析- 功能模块设计2. 数据库基础知识- 数据库概念及种类- 关系型数据库(如MySQL)的基本操作3. 编程语言选择与使用- Python编程基础- Python操作数据库(如使用SQLAlchemy)4. 学生管理系统实现- 系统架构设计- 学生信息模块实现(增删改查功能)- 用户权限管理5. 系统测试与优化- 功能测试- 性能测试- 系统优化策略6. 项目实践与展示- 团队合作完成学生管理系统- 系统演示与评价教学内容安排与进度:第一周:学生管理系统概述,数据库基础知识第二周:Python编程基础,Python操作数据库第三周:学生管理系统实现(学生信息模块)第四周:用户权限管理,系统测试与优化第五周:项目实践与展示教学内容与教材关联性:本教学内容与教材中关于数据库操作、Python编程以及实际应用项目开发等内容紧密相关,确保学生在学习过程中掌握学科知识,提高实际操作能力。
c学生信息管理系统课程设计

c学生信息管理系统课程设计一、教学目标本课程旨在让学生了解和掌握学生信息管理系统的基本原理和应用,培养学生运用信息技术解决实际问题的能力。
具体目标如下:1.知识目标:使学生了解学生信息管理系统的概念、功能和应用场景;掌握学生信息管理系统的基本原理和技术。
2.技能目标:培养学生运用学生信息管理系统进行学生信息管理的实际操作能力;培养学生运用编程语言进行简单的学生信息管理系统开发能力。
3.情感态度价值观目标:培养学生对信息技术应用的积极态度,提高学生信息素养;培养学生团队协作、创新思维和解决问题的能力。
二、教学内容1.学生信息管理系统概述:介绍学生信息管理系统的基本概念、功能和应用场景。
2.学生信息管理系统原理:讲解学生信息管理系统的工作原理、关键技术及其实现方法。
3.学生信息管理系统应用:介绍学生信息管理系统的实际应用案例,分析其优势和不足。
4.学生信息管理系统开发:教授学生运用编程语言进行简单的学生信息管理系统开发过程。
三、教学方法1.讲授法:通过讲解、演示等方式,使学生了解学生信息管理系统的基本概念、原理和应用。
2.案例分析法:分析实际案例,使学生了解学生信息管理系统的优势和不足。
3.实验法:引导学生动手实践,培养学生运用学生信息管理系统进行实际操作的能力。
4.讨论法:学生进行小组讨论,培养学生的团队协作能力和创新思维。
四、教学资源1.教材:选择内容丰富、结构清晰的学生信息管理系统教材,为学生提供系统性的学习资源。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作PPT、视频等多媒体资料,提高课堂教学效果。
4.实验设备:准备计算机、网络设备等实验器材,为学生提供实践操作的机会。
五、教学评估本课程采用多元化的评估方式,全面客观地评价学生的学习成果。
评估方式包括:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,以体现学生的学习态度和积极性。
2.作业:布置课后作业,评估学生的理解和应用能力。
C语言课程设计报告——学生信息管理系统

C语言程序设计课程设计报告设计题目:学生信息管理系统专业电子信息工程班级学生指导教师年学期一、总体设计<一>.模块划分总体分为4大板块,分别为:1、输入信息模块:输入信息并将信息保存到文件当中:2、浏览信息模块:显示需要全部的学生信息:3、编辑信息模块:输入密码,修改或删除学生信息:4、修改密码模块:修改系统密码;5、系统初始化模块:删除保存的数据和修改后的密码,初始化系统。
<二>.数据结构#define N 100 /* 所能容纳的数据数量*/struct student{int number;char name[10];char gender[6];int birthday;char major[18];char Class[10];char address[30];char dormitory[10];}stu[N];<三>. 函数原型声明1、int menu1(); 主菜单输出函数2、int menu2(); 浏览选项子菜单输出函数3、int menu3(); 编辑选项子菜单输出函数4、void input(); 信息输入函数5、void scan(); 浏览学生信息子函数6、void display(); 信息显示函数7、void save(int n); 将输入的信息保存为文件8、void edit(); 编辑学生信息子函数9、void search(int s); 查找函数10、void revise_info(); 信息修改函数11、void code(); 密码管理函数12、void del(); 信息删除函数13、void recover(); 初始化程序二、功能实现1.main( )(流程图)2.各功能模块详细流程图(1)、输入信息模块输入人数——输入信息——保存信息至文件(2)、浏览信息模块①、全部显示:从文件中读取信息至结构体——输出信息②、按姓名查找:输入姓名——从文件中读取信息至结构体——查找姓名——输出信息③、按学号查找:输入学号——从文件中读取信息至结构体——查找学号——输出信息(3)、编辑信息模块①、修改信息:输入学号——从文件中读取信息至结构体——查找学号——选择修改项目——修改信息——保存信息至文件②、删除信息:输入学号——从文件中读取信息至结构体——查找学号——确认删除——删除信息——保存剩余信息至文件(4)、修改密码模块从文件中读取旧密码——输入旧密码——输入新密码——保存至文件——修改成功(5)、系统初始化模块删除原文件——建立空白文件三、测试及调试(测试方案、存在的问题及解决方法)1、主菜单与子菜单无法建立联系,即输入相应的选项后不能运行相应的子函数。
c语言课程设计(学生信息管理系统)

c语言课程设计(学生信息管理系统)一、系统功能学生信息管理系统是一款基于C语言开发的数据管理程序,可实现对学生信息的增删改查等功能。
具体功能列表如下: a. 添加学生信息:可根据学生的基本信息,如学生学号、姓名、性别、地址、联系电话等,依次记录入系统; b. 删除学生信息:可根据学生学号、姓名等信息,从系统中删除不必要的学生信息; c. 修改学生信息:可根据已有的学生信息,修改学生某些属性内容,以更新系统中的数据; d. 查看学生信息:可根据学生学号、姓名等信息,查看指定学生的所有信息及多种查询功能; e. 数据保存功能:可将当前系统中的学生信息,保存成文件的形式; f. 备份/恢复功能:可对学生信息文件进行备份并对备份文件进行恢复; g. 查询统计功能:可根据学院代号、专业代号等信息,进行不同的查询统计; h. 排序功能:可根据学生学号、姓名等信息,对学生信息进行排序; i. 帮助功能:可提供详细的使用帮助文档,以帮助用户更好地使用系统;二、程序实现及结构1. 主程序:此程序用于控制整个系统的运行,可实现系统菜单显示、功能调用及功能切换等功能,可根据用户的操作需求,调用其他子程序实现各项功能。
2. 子程序:此程序是系统的主要部分,可实现学生信息的增删改查等功能,并可支持学生信息的备份,恢复,排序及查询统计等功能,用于实现主程序调用的功能。
3. 管理模块:此模块可实现对用户的登录及注册功能,可检测用户登录及注册的账号是否正确,以及是否有权限使用系统;4. 数据库模块:此模块可实现对学生信息的存储及调用,便于对各类学生信息进行更方便的管理。
此模块还可以负责系统的备份及恢复功能的实现。
5. 图形界面模块:此模块负责实现系统的图形化界面,使用户可以更加友好地操作系统,可以根据用户的需求,随时更改系统界面设置。
三、程序设计学生信息管理系统的设计主要有四个部分:1. 主程序:主程序的设计要求负责控制整个系统的运行,并根据用户的操作调用子程序实现各个功能。
C语言课程设计报告 --学生管理系统

C语言课程设计报告 --学生管理系统一、实验目的:通过本次实验,学习C语言的语法和数据类型,设计一个简单的学生管理系统,结合文件I/O所学,可以将学生信息保存至文件中,再读取时自动填充至程序中。
同时,体验软件开发的流程,从需求分析到具体实现。
二、需求分析:1、学生信息包括:学号、姓名、性别、年龄、成绩。
2、学生信息需要添加、删除、修改、查找和显示。
3、程序启动时自动从文件中读取数据,退出时自动保存数据。
三、实验过程:1、确定数据结构和变量类型通过分析需求,学生信息包含多个属性,可以使用结构体来保存每个学生的信息。
同时,为了便于程序运行,需要定义一个链表来保存所有学生信息。
/* 学生信息结构体 */typedef struct _Student {char id[12]; // 学号char name[20]; // 姓名char gender; // 性别int age; // 年龄double score; // 成绩} Student;/* 学生信息链表节点 */typedef struct _StudentNode {Student data; // 学生信息struct _StudentNode *next; // 下一节点指针} StudentNode;/* 学生信息链表头节点 */StudentNode *head = NULL;2、设计主菜单功能考虑学生管理系统的主要功能,可以设计以下主菜单:---------------------------1. 添加学生2. 删除学生3. 修改学生信息4. 查找学生5. 显示所有学生6. 退出---------------------------可以使用一个while循环来循环处理,直到用户选择退出。
3、实现主菜单功能添加学生:先从用户输入中获取学生信息,然后创建一个新的学生信息节点,并将其添加到链表的末尾。
1. 定义变量/* 输入缓存区大小 */#define BUFFER_SIZE 2562. 实现函数/* 添加学生到链表末尾 */void add_student() {Student student; // 待添加的学生信息printf("请输入学号:");scanf("%s", student.id);printf("请输入姓名:");scanf("%s", );printf("请输入性别(M/F):");scanf(" %c", &student.gender);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入成绩:");scanf("%lf", &student.score);StudentNode *node =(StudentNode*)malloc(sizeof(StudentNode));node->data = student;node->next = NULL;if (head == NULL) {head = node;} else {StudentNode *p = head;while (p->next != NULL) {p = p->next;}p->next = node;}printf("添加学生成功!\n");}删除学生:先从用户输入中获取学生学号,然后遍历链表,找到该学号对应的学生信息节点,并删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++实习报告一、课程设计目的1.通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。
2、通过这次课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。
3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。
课程设计的要求利用学到的编程知识和编程技巧,要求学生:1、对系统进行功能模块分析、控制模块分析正确2、系统设计要能完成题目所要求的功能。
3、编程简练,可用,尽可能的使系统的功能更加完善和全面4、使用说明书、流程图要清楚。
5、特别要求自己独立完成。
二、课程设计的内容1、课程设计的题目及简介有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址、英语入学成绩。
要求设计链表类来实现,并统计学生人数。
文本界面为:1.新增学生信息2.删除学生信息3.导入学生信息(已经保存于的文件信息)4.学生信息搜索(按姓名)5.学生信息统计(按专业或性别或年龄---年龄要自动计算)6.按英语成绩排序7.学生信息保存8.退出2、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。
也可根据自己对题目的理解增加新的功能模块。
系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行(1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。
同时,应具备以下功能:1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。
2、删除功能:对指定学生的信息进行删除。
3、修改功能:对指定学生的信息进行修改。
4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。
5、统计功能:对某几个专业的人数、男女性别学生信息进行统计。
6、排序功能:以英语课程的分数为依据对学生信息进行排序。
7、显示功能:将以上功能操作后的学生信息显示出来。
8、退出主菜单。
3 程序流程图各功能模块的实现流程图:1增加学生信息调用函数Node* Create()判断gg 是否等于一如果是可创建链表输入相应的学生信息如果不是则需要运用Insert(p)函数插入结点增加学生信息的,并通过chundang(p)函数进行存档,具体流程如下图所示流程图调用函数Node* Delete(Node* head , int num)删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务 流程图3.导入学生信息打开存档文件ifstream Filein("out.txt");输出说存档的学生信息4、学生信息的搜索调用函数Node* sousuo(Node* head , char na[20]) ,按学生的姓名进行搜索5信息的统计调用函数Node* tongji(Node* head) 运用一个for 循环,将输入的相应的学生信息用strcmp ()函数与对应的数组进行比较,然后再进行统计6、按英语成绩进行排序:调用函数Node* paixu(Node* head)完成排序功能它的主要思想的:首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生信息英语成绩一次比较进行比较,(如果有相等的就输出排名1 ,然后排名加1),否则最大值减1,然后再次进行比较( 如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的.,则继续循环…… 流程图:总功能模块图:各功能显示效果模块图:增加学生信息和导入学生信息保存学生信息统计电子、建筑、通信、三个专业的人的个数,按英语成绩进行排名并输出删除相应学生的信息4、程序清单#include "stdio.h"#include "stdio.h"#include <iostream.h>#include <string.h>#include<fstream>#include<cassert>using namespace std;int nn=0;struct Node{ int num;char name[20];char xb[20];char zy[20];int nian,yue,ri;char dz[20];int mark;Node *next ;};//***************************************************************************** ****Node* Create() //链表创建{ cout<<"请输入学生信息(输入0退出):"<<endl;int n=0;Node *p1,*p2,*head;p1=p2=new Node;p1->num=1;head=NULL;n++;while (p1->num!=NULL){ if (n==1) { head=p1; }else p2->next=p1;p2=p1;p1=new Node;int a;nn++;p1->num=nn;cout<<"姓名:";cin>>p1->name;a=(int)p1->name[0]-48;if (a==0)break;cout<<"性别:";cin>>p1->xb;cout<<"专业:";cin>>p1->zy;cout<<"出生日期:";cin>>p1->nian;cin>>p1->yue;cin>>p1->ri;cout<<"家庭地址:";cin>>p1->dz;cout<<"英语入学成绩:";cin>>p1->mark;n++; }p2->next=NULL;return head;}//***************************************************************************** ******//***************************************************************************** ******void chundang(Node *head) //存档{ Node *p=head;p=p->next;ofstream Fileout("out.txt");Fileout<<"学生资料"<<endl;Fileout<<"-------------------------------------------------------------------"<<endl;while(p){Fileout<< "-- 编号:"<<p->num<< "姓名:"<<p->name<<" 性别:"<<p->xb<<" 专业:"<<p->zy<<" 出生日期:"<<p->nian<<"/"<<p->yue<<"/"<<p->ri<<"/"<<" 地址:"<<p->dz<<" 英语入学成绩:"<<p->mark<<endl;p=p->next;}Fileout<<"-------------------------------------------------------------------"<<endl;Fileout.close();}//***************************************************************************** ***//***************************************************************************** ****Node* Insert(Node* head ) //插入节点{ Node *p0,*p1,*p2; p1=head;p0=new Node;p0->num=nn;cout<<"姓名:";cin>>p0->name;cout<<"性别:";cin>>p0->xb;cout<<"专业:";cin>>p0->zy;cout<<"出生日期:";cin>>p0->nian;cin>>p0->yue;cin>>p0->ri;cout<<"家庭地址:";cin>>p0->dz;cout<<"英语入学成绩:";cin>>p0->mark;if (head==NULL){head=p0;p0->next=NULL;return head;}while (p1->num<p0->num && p1->next){p2=p1;p1=p1->next;}if (p1->num>=p0->num){ if (p1==head) head=p0;else p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}return head; }//*****************************************************************************//***************************************************************************** Node* Delete(Node* head , int num) //删除节点{ if (head==NULL){ cout<<"不存在此编号"<<endl; return head; }Node *p1,*p2;p1=head;while (p1->num!=num && p1->next){ p2=p1; p1=p1->next; }if (p1->num==num){ if (p1==head){ head=p1->next; }else p2->next=p1->next; }else cout<<"没找编号为"<<num<<"的学生!"<<endl;//********************nn--;p1=head;int kk=0;p1=p1->next; //整顿编号while (p1){kk++;p1->num=kk;p1=p1->next;}//*******************return head; }//***************************************************************************** ****//***************************************************************************** ****Node* sousuo(Node* head , char na[20]) //搜索{Node *p1=head;while(p1!=NULL){if(!strcmp(p1->name,na)){cout<<"编号:"<<p1->num<<"姓名:"<<p1->name<<" 性别:"<<p1->xb<<" 专业:"<<p1->zy<<" 出生日期:"<<p1->nian<<"/"<<p1->yue<<"/"<<p1->ri<<"/"<<" 地址:"<<p1->dz<<" 英语入学成绩:"<<p1->mark<<endl;}p1=p1->next;}return 0;}//***************************************************************************** ****//***************************************************************************** ****Node* tongji(Node* head) //统计{Node *p1=head;int a=0,b=0,c=0,d=0,e=0,i[100],j[100];char aa[]="通信", bb[]="建筑",cc[]="电子",nan[]="男",nv[]="女";for(int k=0;k<100;k++){i[k]=k;j[k]=0;}while(p1){ if(!strcmp(p1->zy,aa)){a++;}else if(!strcmp(p1->zy,bb)){b++;}else if(!strcmp(p1->zy,cc)){c++;}if(!strcmp(p1->xb,nan)){d++;}else if(!strcmp(p1->xb,nv)){e++;}for(int l=0;l<100;l++){if(2010-p1->nian==i[l]){j[l]++;}}p1=p1->next;}//-------------------------------------------------存档ofstream Fileout("统计.txt");Fileout<<"统计信息"<<endl;Fileout<<"-------------------------------------------------------------------"<<endl;Fileout<<"a专业的个数:"<<a<<endl<<"b专业的个数:"<<b<<endl<<"c专业的个数:"<<c<<endl;Fileout<<"男性个数:"<<d<<endl<<"女性个数:"<<e<<endl;for(int mm=0;mm<100;mm++){if(j[mm]!=0){Fileout<<"年龄"<<i[mm]<<"的个数:"<<j[mm]<<endl;}}Fileout<<"-------------------------------------------------------------------"<<endl;Fileout.close();//-------------------------------------------------cout<<"统计信息"<<endl;cout<<"-------------------------------------------------"<<endl;cout<<"通信专业的个数:"<<a<<endl<<"建筑专业的个数:"<<b<<endl<<"电子专业的个数:"<<c<<endl;cout<<"男性个数:"<<d<<endl<<"女性个数:"<<e<<endl;for(int m=0;m<100;m++){if(j[m]!=0){cout<<"年龄"<<i[m]<<"的个数:"<<j[m]<<endl;}}cout<<"-------------------------------------------------"<<endl;return 0;}//***************************************************************************** ******//***************************************************************************** ******Node* paixu(Node* head) //英语成绩排序{Node *p1=head;int rr=100;//成绩int ll=1;//排名ofstream Fileout("英语成绩排序.txt");Fileout<<"英语成绩排序"<<endl;Fileout<<"-------------------------------------------------------------------"<<endl;Fileout<<"排名成绩姓名"<<endl;cout<<"-------------------------------------------------"<<endl;cout<<"排名成绩姓名"<<endl;while(rr+1){p1=head;while(p1){if(p1->mark==rr){Fileout<<ll<<" "<<p1->mark<<" "<<p1->name<<endl;cout<<ll<<" "<<p1->mark<<" "<<p1->name<<endl;ll++;}p1=p1->next ;}rr--;}Fileout<<"-------------------------------------------------------------------"<<endl;Fileout.close();cout<<"-------------------------------------------------"<<endl;return 0;}//***************************************************************************** ******main(){ int gg=1;int strcmp(const char *s1,const char *s2);Node *p;//============================================cout<<"*************** ☆学生信息管理系统☆*************** " <<endl;cout<<"********** ★★★★★★★★★★★★★★★★******** "<<endl;cout<<"***************★☆ 1.增加学生信息☆★***************"<<endl;cout<<"***************★☆ 2.删除学生信息☆★***************"<<endl;cout<<"***************★☆ 3.导入学生信息☆★***************"<<endl;cout<<"***************★☆ 4.学生信息搜索☆★***************"<<endl;cout<<"***************★☆ 5.学生信息统计☆★***************"<<endl;cout<<"***************★☆ 6.按英语成排序☆★***************"<<endl;cout<<"***************★☆7.学生信息保存☆★***************"<<endl;cout<<"***************★☆8.退出☆★***************"<<endl;cout<<" 请输入您的选择(1--8):"<<endl;while(1) //输出操作文本{int line=0;char buf[100];ifstream Filein("in.txt");while(Filein.getline(buf,100)){++line;cout<<buf<<endl;}Filein.close();//============================================int n;cin>>n;//-----------------------------------------------if(n==1) //新增学生信息{if(gg){p=Create();//调用创建列表gg--;}else{ Insert(p);//新增学生信息nn++;}chundang(p);//信息存档}//----------------------------------------------else if(n==2) //删除学生信息{ int line=0;//导入学生信息char buf[100];ifstream Filein("out.txt");while(Filein.getline(buf,100)){++line;cout<<buf<<endl;}Filein.close();cout<<"输入要删除的学生编号:";int cc;cin>>cc;Delete(p ,cc);chundang(p);//信息存档}//------------------------------------------------else if(n==3) //导入学生信息{int line=0;char buf[100];ifstream Filein("out.txt");while(Filein.getline(buf,100)){++line;cout<<buf<<endl;}Filein.close();}//------------------------------------------------else if(n==4) //学生信息搜索{cout<<"请输入所要查找的学生的姓名:";char name[20];cin>>name;sousuo(p,name);}//-----------------------------------------------else if(n==5) //学生信息统计{tongji(p);}//------------------------------------------------else if(n==6) //英语入学成绩排序{cout<<"按英语成绩排序:"<<endl;paixu(p);}//-----------------------------------------------else if(n==7) //学生信息保存{char ch,ch1[]="\n";ofstream file1("学生信息保存.txt",ios_base::app);//========清空文件"学生信息保存.txt"的内容FILE * fp;fp = fopen("学生信息保存.txt","w");//========组合文件ifstream file2("out.txt");file1.write((char *) &ch1,sizeof(ch1));while(file2.get(ch)){file1.put(ch);}ifstream file3("统计.txt");file1.write((char *) &ch1,sizeof(ch1));while(file3.get(ch)){file1.put(ch);}ifstream file4("英语成绩排序.txt");file1.write((char *) &ch1,sizeof(ch1));while(file4.get(ch)){file1.put(ch);}file1.close();file2.close();file3.close();file4.close();cout<<"保存成功"<<endl;}//-----------------------------------------------else if(n==8)break; //退出操作//----------------------------------------------else if(n==9) //输出学生信息保存{int line1=0;char buf1[100];ifstream Filein("学生信息保存.txt");while(Filein.getline(buf1,100)){++line1;cout<<buf1<<endl;}Filein.close();}//------------------------------------------------else cout<<"错误选择!!!"<<endl;continue;}}四、课程设计总结这一周的C++课程设计,时间上说长不长,说短也不短,却让我学到了很多,第一点就是:C++很难,似乎是学不完的,你觉得自己了解一点,是总会发现还有很多自己所不懂的东西,还有很多自己所没探知的领域,很多知识运用到实践中很有一定的难度,看着自己和同学的程序运行结果,突然发现C++真的很神奇,居然能运行出那么漂亮的系统,看着运行结果。