C语言课设学生信息管理系统
- 格式:doc
- 大小:56.00 KB
- 文档页数:12
c语言课程设计学生信息管理系统一、背景介绍二、需求分析1.功能需求2.性能需求三、系统设计1.系统架构设计2.数据库设计3.界面设计四、系统实现与测试1.环境搭建与配置2.代码实现3.测试与调试五、总结一、背景介绍学生信息管理系统是一个基本的信息管理系统,用于管理学生的基本信息和课程成绩等数据。
在高校中,学生信息管理系统是一个非常重要的工具,可以帮助教师和管理员更好地了解学生情况,为教育教学提供数据支持。
C语言作为一门非常重要的编程语言,在计算机科学领域得到了广泛应用。
在C语言课程设计中,开发一个学生信息管理系统是非常有意义的。
二、需求分析1.功能需求(1)添加学生信息:包括姓名、性别、年龄等基本信息以及选修课程成绩等详细信息。
(2)删除学生信息:根据学号或姓名删除已有的学生信息。
(3)修改学生信息:根据学号或姓名修改已有的学生信息。
(4)查询学生信息:根据姓名或年龄等条件查询学生基本信息以及选修课程成绩等详细信息。
(5)统计学生信息:统计学生的人数、男女比例、平均年龄等信息。
2.性能需求(1)系统响应速度快,操作简单方便。
(2)数据存储稳定可靠,数据安全性高。
三、系统设计1.系统架构设计本系统采用B/S架构,即浏览器/服务器架构。
用户通过浏览器访问服务器上的网站,进行学生信息管理操作。
服务器端采用C语言编写,通过CGI技术实现与客户端的交互。
客户端使用HTML、CSS和JavaScript等技术实现用户界面。
2.数据库设计本系统采用MySQL数据库存储学生信息和课程成绩等数据。
数据库中包含两张表:学生表和成绩表。
其中,学生表包含字段:学号、姓名、性别、年龄;成绩表包含字段:学号、课程名称、成绩。
3.界面设计本系统的界面应该简洁明了,易于操作。
主要分为以下几个模块:(1)登录模块:用户输入账号和密码登录系统。
(2)添加模块:用户可以添加新的学生信息和课程成绩等数据。
(3)删除模块:用户可以根据学号或姓名删除已有的学生信息。
C语言课程设计学生信息管理系统1. 简介本文将详细介绍基于C语言的学生信息管理系统的设计和实现。
该系统旨在帮助学校或教育机构有效管理和维护学生的个人信息,包括基本信息、成绩等。
通过该系统,可以方便地查询、修改和删除学生信息,实现学生信息的快速检索和更新。
2. 系统需求分析在设计学生信息管理系统之前,我们首先需要明确系统的需求。
以下是该系统的基本需求:1.学生基本信息管理:包括学生的姓名、学号、性别、年龄、出生日期等信息。
2.学生成绩管理:包括学生的各科成绩、总分以及平均分等信息。
3.学生信息查询:用户可以根据学生的学号或姓名进行信息查询。
4.学生信息修改:用户可以修改学生的基本信息和成绩信息。
5.学生信息删除:用户可以删除学生的信息。
3. 系统设计与实现3.1 数据结构设计为了存储和管理学生信息,我们需要设计合适的数据结构。
以下是一个简单的示例:struct Student {char name[100];int studentId;char gender[10];int age;char birthdate[20];float scores[5];float totalScore;float averageScore;};3.2 界面设计在设计用户界面时,我们可以利用C语言提供的基本控制台窗口进行操作。
可以使用菜单方式的交互,通过键盘输入选择相应的功能。
3.3 功能实现根据系统需求,我们需要实现以下功能:3.3.1 学生信息录入用户可以输入学生的基本信息和成绩信息,并将其存储到系统中。
在录入信息时,需要检查输入的合法性,如学号是否唯一、成绩是否在有效范围内等。
3.3.2 学生信息查询用户可以根据学生的学号或姓名进行信息查询。
系统会返回与输入内容匹配的学生信息列表,并打印在屏幕上供用户查看。
3.3.3 学生信息修改用户可以选择要修改的学生信息,并提供新的值进行修改。
系统会根据用户的输入更新相应学生的信息。
学生信息管理系统设计案例一、引言学生信息管理系统是一种集学生信息录入、查询、修改和删除等功能于一体的软件系统。
为了满足学校对学生信息的有效管理和查询需求,本文将介绍一种用C语言实现的学生信息管理系统设计案例。
二、需求分析学生信息管理系统主要有以下几个功能模块: 1. 学生信息录入:包括学生姓名、学号、年龄、性别等基本信息的录入。
2. 学生信息查询:可以根据学号或姓名进行查询,并显示查询结果。
3. 学生信息修改:可以根据学号或姓名选择要修改的学生信息,并进行修改操作。
4. 学生信息删除:可以根据学号或姓名选择要删除的学生信息,并进行删除操作。
三、系统设计1. 数据结构设计为了存储学生信息,我们需要定义一个学生结构体,包括姓名、学号、年龄、性别等字段。
同时,为了方便管理学生信息,我们可以使用链表数据结构来存储学生信息,并设计一个头节点来指向链表的第一个节点。
struct student {char name[20];int student_id;int age;char gender[10];struct student* next;};struct student* head; // 头节点2. 功能模块设计2.1 学生信息录入在该功能模块中,用户需要输入学生的姓名、学号、年龄和性别等信息,并将该学生信息添加到链表中。
为了方便起见,我们可以将该功能模块定义为一个函数add_student()。
2.2 学生信息查询在该功能模块中,用户可以根据学号或姓名进行学生信息的查询。
查询结果将会显示学生的基本信息。
为了方便起见,我们可以将该功能模块定义为一个函数search_student()。
2.3 学生信息修改在该功能模块中,用户可以根据学号或姓名选择要修改的学生信息,并进行修改操作。
为了方便起见,我们可以将该功能模块定义为一个函数update_student()。
2.4 学生信息删除在该功能模块中,用户可以根据学号或姓名选择要删除的学生信息,并进行删除操作。
学生信息管理系统c语言1. 简介学生信息管理系统是一个基于C语言开发的程序,用于管理学校或教育机构中的学生信息。
该系统可以实现学生信息的录入、查询、修改和删除等功能,并且支持数据的持久化存储。
本文档将介绍学生信息管理系统的功能、使用方法以及具体实现细节。
2. 功能学生信息管理系统具有以下主要功能:2.1 录入信息该系统可以通过用户输入的方式录入学生的基本信息,包括学号、姓名、性别、年龄、班级等。
其中,学号是唯一的标识符,用于区分不同的学生。
2.2 查询信息用户可以通过学号或姓名查询特定学生的信息。
系统会根据用户提供的查询条件,在学生信息数据库中查找匹配的学生记录,并将结果显示给用户。
2.3 修改信息用户可以修改已录入学生的信息,包括姓名、性别、年龄、班级等。
系统会根据用户提供的学号,在学生信息数据库中找到相应的学生记录,并将其修改为用户输入的新信息。
2.4 删除信息用户可以根据学号删除某个学生的信息。
系统会在学生信息数据库中找到匹配的学生记录,并将其从数据库中删除。
3. 使用方法学生信息管理系统的使用方法如下:3.1 编译和运行程序首先,需要将C源代码编译成可执行文件。
在命令行中输入以下命令:gcc main.c -o student_system然后,运行编译得到的可执行文件:./student_system3.2 界面操作系统运行后,会显示一个简单的命令行界面,用户可以通过键盘输入指定的命令来执行相应的操作。
以下是系统支持的命令列表:•add:录入学生信息•search:查询学生信息•modify:修改学生信息•delete:删除学生信息•exit:退出系统用户可以根据提示输入相应的命令,并按下回车键确认。
系统会根据用户输入执行相应的操作,然后返回到命令行界面,等待下一次输入。
4. 实现细节学生信息管理系统的实现细节如下:4.1 数据存储系统使用文件来持久化存储学生信息。
每个学生的信息被保存在一个独立的记录中,记录之间使用换行符进行分隔。
c学生信息管理系统课程设计一、教学目标本课程旨在让学生了解和掌握学生信息管理系统的基本原理和应用,培养学生运用信息技术解决实际问题的能力。
具体目标如下:1.知识目标:使学生了解学生信息管理系统的概念、功能和应用场景;掌握学生信息管理系统的基本原理和技术。
2.技能目标:培养学生运用学生信息管理系统进行学生信息管理的实际操作能力;培养学生运用编程语言进行简单的学生信息管理系统开发能力。
3.情感态度价值观目标:培养学生对信息技术应用的积极态度,提高学生信息素养;培养学生团队协作、创新思维和解决问题的能力。
二、教学内容1.学生信息管理系统概述:介绍学生信息管理系统的基本概念、功能和应用场景。
2.学生信息管理系统原理:讲解学生信息管理系统的工作原理、关键技术及其实现方法。
3.学生信息管理系统应用:介绍学生信息管理系统的实际应用案例,分析其优势和不足。
4.学生信息管理系统开发:教授学生运用编程语言进行简单的学生信息管理系统开发过程。
三、教学方法1.讲授法:通过讲解、演示等方式,使学生了解学生信息管理系统的基本概念、原理和应用。
2.案例分析法:分析实际案例,使学生了解学生信息管理系统的优势和不足。
3.实验法:引导学生动手实践,培养学生运用学生信息管理系统进行实际操作的能力。
4.讨论法:学生进行小组讨论,培养学生的团队协作能力和创新思维。
四、教学资源1.教材:选择内容丰富、结构清晰的学生信息管理系统教材,为学生提供系统性的学习资源。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作PPT、视频等多媒体资料,提高课堂教学效果。
4.实验设备:准备计算机、网络设备等实验器材,为学生提供实践操作的机会。
五、教学评估本课程采用多元化的评估方式,全面客观地评价学生的学习成果。
评估方式包括:1.平时表现:评估学生在课堂上的参与度、提问回答等情况,以体现学生的学习态度和积极性。
2.作业:布置课后作业,评估学生的理解和应用能力。
学生管理系统c语言简单版学生管理系统c语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。
本文将介绍如何使用C语言编写一个简单的学生管理系统。
功能:1. 添加学生信息2. 查询学生信息3. 修改学生信息4. 删除学生信息5. 显示所有学生信息实现方法:1. 添加学生信息添加学生信息需要输入以下内容:姓名、性别、年龄、班级和电话号码。
我们可以定义一个结构体来存储这些信息,代码如下:```struct Student {char name[20];char sex[10];int age;char class[20];char phone[20];};```然后定义一个数组来存储多个学生的信息:```struct Student students[100];int count = 0; // 学生数量```接下来,我们可以编写一个函数来添加新的学生信息:```void addStudent() {struct Student student;printf("请输入姓名:");scanf("%s", );printf("请输入性别:");scanf("%s", student.sex);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入班级:");scanf("%s", student.class);printf("请输入电话号码:");scanf("%s", student.phone);students[count++] = student; // 将新的学生信息存储到数组中 printf("添加成功!\n");}```2. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。
学生信息管理系统详细设计说明c语言如何设计一个学生信息管理系统。
一、需求分析学生信息管理系统是以管理学生信息为主要功能的软件系统。
在设计之前,我们需要了解用户的需求。
通过对用户需求的分析,我们得出以下功能模块:1、学生信息录入:录入学生信息,包括学号、姓名、性别、出生日期、班级等信息。
2、学生信息查询:根据学号、姓名等关键字进行学生信息的查询,支持模糊查询。
3、学生信息修改:可以修改学生的相关信息,包括学号、姓名、班级等。
4、学生信息删除:删除已经录入的学生信息。
5、学生成绩查询:根据学号查询该学生的相关成绩信息。
6、学生成绩录入:录入学生的相关成绩信息,包括语文、数学、英语等。
二、系统设计在需求分析的基础上,我们可以开始进行系统设计。
1、数据结构设计(1)学生信息结构体/* 学生信息结构体*/typedef struct {/* 学号*/char id[11];/* 姓名*/char name[21];/* 性别*/char sex[3];/* 出生日期*/char birthday[11];/* 班级*/char class[21];} Info;(2)学生成绩结构体/* 学生成绩结构体*/typedef struct {/* 学号*/char id[11];/* 语文成绩*/int chinese;/* 数学成绩*/int math;/* 英语成绩*/int english;} Score;2、功能模块设计(1)学生信息录入在学生信息录入模块中,我们需要设计一个函数来进行学生信息的录入。
void AddInfo(Info *info);该函数的参数是学生信息结构体的指针,通过该参数可以将学生信息录入到系统中。
在该函数中,我们需要进行如下操作:1、提示用户输入学生信息;2、从键盘获取用户输入;3、将用户输入保存到结构体中;4、将结构体保存到文件中。
(2)学生信息查询在学生信息查询模块中,我们需要设计一个函数来查询学生信息。
C语言课程设计题目:学生信息管理系统学号:**姓名:***班级:信计1102成绩:正文1系统功能本程序利用结构体数组及函数的调用完成对学生基本信息的动态管理。
可以对学生基本信息进行录入、查询、删除、修改、浏览、成绩汇总的功能。
2设计思想利用宏定义,函数的调用及结构体数组,通过菜单选择的方式,在不同函数功能间进行切换,从而达到实验设计的目的、使之具有学生信息管理的功能。
3概要设计1.模块介绍:采用模块化设计,功能放在各模块中实现。
主函数是程序的入口,在其中声明一些必要的变量,设计以无限循环程序,循环体为一个switch语句,该语句的条件是通过调用主菜单函数得到返回值,根据该返回值调用相应的各功能函数,同时要设置一个循环结束条件,以免造成死循环。
2.系统流程:主程序输入录入浏览查询删除修改汇总退出4详细设计1.代码介绍:本程序中,用num、name、banji、age、sex、birthday 、addr、phone、course、grade,来分别代表学生的学号、姓名、班级、年龄、性别、出生日期、住址、电话、所选课程、分数。
然后再利用结构体数组,将其归为学生的属性。
再用enter、print、save 、search、del、modify、rank、return,来分别表示学生信息的输入、浏览、录入、查找、删除、修改,学生成绩的汇总,程序的返回的功能。
在程序中,通过对各个代码的使用及各功能函数的调用,可实现本程序设计目的。
2.函数介绍:1.main( )主函数主函数是程序的入口,在其中定义一些必要的变量,设计以无限循环程序,循环体为一个switch语句,该语句的函数是通过调用主菜单函数得到返回值,根据返回值调用相应的各功能函数,同时要设置一个循环结束条件,以免造成死循环。
2.menu( )函数----制作菜单通过printf( )函数在屏幕上绘制一个菜单,将菜单进行编号,并显示一个提示输入选项,输入1~8之间的数字。
c语言课程设计(学生信息管理系统)一、系统功能学生信息管理系统是一款基于C语言开发的数据管理程序,可实现对学生信息的增删改查等功能。
具体功能列表如下: a. 添加学生信息:可根据学生的基本信息,如学生学号、姓名、性别、地址、联系电话等,依次记录入系统; b. 删除学生信息:可根据学生学号、姓名等信息,从系统中删除不必要的学生信息; c. 修改学生信息:可根据已有的学生信息,修改学生某些属性内容,以更新系统中的数据; d. 查看学生信息:可根据学生学号、姓名等信息,查看指定学生的所有信息及多种查询功能; e. 数据保存功能:可将当前系统中的学生信息,保存成文件的形式; f. 备份/恢复功能:可对学生信息文件进行备份并对备份文件进行恢复; g. 查询统计功能:可根据学院代号、专业代号等信息,进行不同的查询统计; h. 排序功能:可根据学生学号、姓名等信息,对学生信息进行排序; i. 帮助功能:可提供详细的使用帮助文档,以帮助用户更好地使用系统;二、程序实现及结构1. 主程序:此程序用于控制整个系统的运行,可实现系统菜单显示、功能调用及功能切换等功能,可根据用户的操作需求,调用其他子程序实现各项功能。
2. 子程序:此程序是系统的主要部分,可实现学生信息的增删改查等功能,并可支持学生信息的备份,恢复,排序及查询统计等功能,用于实现主程序调用的功能。
3. 管理模块:此模块可实现对用户的登录及注册功能,可检测用户登录及注册的账号是否正确,以及是否有权限使用系统;4. 数据库模块:此模块可实现对学生信息的存储及调用,便于对各类学生信息进行更方便的管理。
此模块还可以负责系统的备份及恢复功能的实现。
5. 图形界面模块:此模块负责实现系统的图形化界面,使用户可以更加友好地操作系统,可以根据用户的需求,随时更改系统界面设置。
三、程序设计学生信息管理系统的设计主要有四个部分:1. 主程序:主程序的设计要求负责控制整个系统的运行,并根据用户的操作调用子程序实现各个功能。
c语言课程设计学生信息管理系统一、教学目标本课程旨在通过学习C语言,使学生掌握学生信息管理系统的基本概念、设计方法和实现技巧。
具体目标如下:1.知识目标:学生应掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
学生应了解学生信息管理系统的需求分析、系统设计、编码实现、测试等基本过程。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
学生能够独立完成学生信息管理系统的设计和实现。
3.情感态度价值观目标:学生应培养对计算机科学的兴趣和热情,形成良好的学习习惯和团队合作精神。
学生应理解编程不仅仅是一种技能,更是一种思考问题和解决问题的方式。
二、教学内容本课程的教学内容主要包括C语言的基本语法和编程方法,以及学生信息管理系统的设计和实现。
具体安排如下:1.C语言基本语法:数据类型、运算符、控制结构、函数等。
2.学生信息管理系统需求分析:系统功能、数据结构、界面设计等。
3.学生信息管理系统设计:模块划分、算法实现、接口设计等。
4.学生信息管理系统实现:编码、调试、测试等。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解C语言的基本语法和概念,学生信息管理系统的需求分析和设计方法。
2.案例分析法:分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:学生动手编写代码,实现学生信息管理系统。
4.讨论法:分组讨论,促进学生之间的交流与合作。
四、教学资源本课程所需教学资源包括:1.教材:《C语言程序设计》等相关教材。
2.参考书:提供给学生额外的学习资料,以加深对C语言和编程的理解。
3.多媒体资料:PPT、视频教程等,用于辅助讲解和演示。
4.实验设备:计算机、编程环境等,用于学生动手实践。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性。
2.作业:布置适量的作业,评估学生的编程能力和对知识的理解程度。
#include<stdio.h>#include<stdlib.h>#include<string.h>#define BUFLEN 100#define LEN 15#define N 100struct record{char code[LEN+1];char name[LEN+1];int age;char sex[3];char time[LEN+1];char add[30];char dorm[LEN+1];char class[30];char zy[LEN+1];}stu[N];int k=1,n,m;void readfile();void seek();void modify();void insert();void del();void display();void save();void menu();int main(){while(k)menu();system("pause");return 0;}void help(){printf("\n0.欢迎使用系统帮助!\n");printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n");printf("\n3.增加学生信息后,切记保存按7;\n"); printf("\n4.谢谢您的使用!\n");}void readfile()/* 建立信息*/{char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("student.txt","r"))==NULL){printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s%d%s %s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].dorm,stu[i].class,stu[i].zy)==9){i++;i=i;}fclose(fp);n=i;printf("录入完毕!\n");}void seek(){int i,item,flag;char s1[21];printf("------------------\n");printf("-----1.按学号查询-----\n");printf("-----2.按姓名查询-----\n");printf("-----3.退出本菜单-----\n");printf("------------------\n");while(1){printf("请选择子菜单编号:");scanf("%d",&item);flag=0;switch(item){case 1:printf("请输入要查询的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;printf("学生学号学生姓名年龄性别出生年月地址宿舍班级专业\n");printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %8s %9s %9s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].dorm,stu[i].class,stu[i].zy);}if(flag==0)printf("该学号不存在!\n"); break;case 2:printf("请输入要查询的学生的姓名:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].name,s1)==0){flag=1;printf("学生学号学生姓名年龄性别出生年月地址宿舍班级专业\n");printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %8s %9s %9s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].dorm,stu[i].class,stu[i].zy);}if(flag==0)printf("该姓名不存在!\n"); break;case 3:return;default:printf("请在1-3之间选择\n");}}}void modify(){int i,item,num;char sex1[3],s1[LEN+1],s2[LEN+1];printf("请输入要要修改的学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0)num=i;printf("------------------\n");printf("1.修改姓名\n");printf("2.修改年龄\n");printf("3.修改性别\n");printf("4.修改出生年月\n");printf("5.修改地址\n");printf("6.修改宿舍号码\n");printf("7.修改班级\n");printf("8.修改专业\n");printf("9.退出本菜单\n");printf("------------------\n");while(1){printf("请选择子菜单编号:");scanf("%d",&item);switch(item){case 1:printf("请输入新的姓名:\n");scanf("%s",s2);strcpy(stu[num].name,s2); break; case 2:printf("请输入新的年龄:\n");scanf("%d",&stu[num].age);break; case 3:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(stu[num].sex,sex1); break; case 4:printf("请输入新的出生年月:\n"); scanf("%s",s2);strcpy(stu[num].time,s2); break;case 5:printf("请输入新的地址:\n");scanf("%s",s2);strcpy(stu[num].add,s2); break;case 6:printf("请输入新的宿舍号码:\n"); scanf("%s",s2);strcpy(stu[num].dorm,s2); break; case 7:printf("请输入新的班级:\n");scanf("%s",s2);strcpy(stu[num].class,s2); break; case 8:printf("请输入新的专业:\n"); scanf("%s",s2);strcpy(stu[num].zy,s2);break;case 9:return;default:printf("请在1-9之间选择\n"); }}}void sort(){int i,j,*p,*q,s;char temp[10];for(i=0;i<n-1;i++){for(j=n-1;j>i;j--)if(strcmp(stu[j-1].code,stu[j].code)>0) {strcpy(temp,stu[j-1].code);strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name); strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].sex);strcpy(stu[j-1].sex,stu[j].sex);strcpy(stu[j].sex,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].add);strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp);strcpy(temp,stu[j-1].dorm);strcpy(stu[j-1].dorm,stu[j].dorm); strcpy(stu[j].dorm,temp);strcpy(temp,stu[j-1].class);strcpy(stu[j-1].class,stu[j].class); strcpy(stu[j].class,temp);strcpy(temp,stu[j-1].zy);strcpy(stu[j-1].zy,stu[j].zy);strcpy(stu[j].zy,temp);p=&stu[j-1].age;q=&stu[j].age;s=*q;*q=*p;*p=s;}}}void insert(){int i=n,j,flag;printf("请输入待增加的学生数:\n");scanf("%d",&m);do{flag=1;while(flag){flag=0;printf("请输入第%d 个学生的学号:\n",i+1);scanf("%s",stu[i].code);for(j=0;j<i;j++)if(strcmp(stu[i].code,stu[j].code)==0){printf("已有该学号,请检查后重新录入!\n");flag=1;break;}}printf("请输入第%d 个学生的姓名:\n",i+1);scanf("%s",stu[i].name);printf("请输入第%d 个学生的年龄:\n",i+1);scanf("%d",&stu[i].age);printf("请输入第%d 个学生的性别:\n",i+1);scanf("%s",stu[i].sex);printf("请输入第%d 个学生的出生年月:(格式:年.月)\n",i+1); scanf("%s",stu[i].time);printf("请输入第%d 个学生的地址:\n",i+1);scanf("%s",stu[i].add);printf("请输入第%d 个学生的宿舍:\n",i+1);scanf("%s",stu[i].dorm);printf("请输入第%d 个学生的班级:\n",i+1);scanf("%s",stu[i].class);printf("请输入第%d 个学生的专业:\n",i+1);scanf("%s",stu[i].zy);if(flag==0){i=i;i++;}}while(i<n+m);n+=m;printf("录入完毕!\n\n");sort();}void del(){int i,j,flag=0;char s1[LEN+1];printf("请输入要删除学生的学号:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;j<n-1;j++)stu[j]=stu[j+1];}if(flag==0)printf("该学号不存在!\n");if(flag==1){printf("删除成功,显示结果请选择菜单6\n");n--;}}void display(){int i;printf("所有学生的信息为:\n");printf("学生学号学生姓名年龄性别出生年月地址宿舍班级专业\n");printf("--------------------------------------------------------------------\n");for(i=0;i<n;i++){printf("%6s %7s %5d %5s %9s %8s %8s %9s %9s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].dorm,stu[i].class,stu[i].zy);}}void save(){int i;FILE *fp;fp=fopen("student.txt","w"); /*写入*/for(i=0;i<n;i++){fprintf(fp,"%s %s %d %s %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].dorm,stu[i].class,stu[i].zy);}fclose(fp);}void menu(){int num;printf(" \n\n 西安理工大学自动化学院学生管理系统\n\n");printf(" \n\n");printf(" 制作人:惟楚有才\n \n");printf(" \n\n");printf(" 系统功能菜单\n");printf("友情提醒:查询前请先刷新系统!\n");printf(" ---------------------- ---------------------- \n");printf(" \n");printf(" 0.系统帮助及说明 1.刷新学生信息\n");printf(" \n");printf(" 2.查询学生信息 3.修改学生信息\n");printf(" \n");printf(" 4.增加学生信息 5.按学号删除信息\n");printf(" \n");printf(" 6.显示当前信息7.保存当前学生信息\n");printf(" \n");printf(" 8.退出系统\n");printf(" \n");printf(" ---------------------- ---------------------- \n"); printf("请选择菜单编号:");scanf("%d",&num);switch(num){case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf("请在0-8之间选择\n");}}。
学生课程信息管理系统c语言学生课程信息管理系统是一个用于管理学生课程信息的软件系统。
它可以帮助学校、教师和学生轻松地进行课程管理、成绩管理和学生信息管理。
本文将介绍该系统的主要功能和特点。
一、系统概述学生课程信息管理系统是为了方便学校管理学生课程信息而开发的一款软件。
它可以实现学生选课、查看课程信息、查询成绩等功能。
通过该系统,学校可以更好地管理学生的学习情况,提高教学质量,促进学生的成长。
二、系统功能1. 学生选课功能:学生可以通过系统选择自己感兴趣的课程。
系统会显示可选课程的详细信息,包括课程名称、授课教师、上课时间等。
学生可以根据自己的兴趣和学习计划进行选择。
2. 课程信息查询功能:学生可以通过系统查询自己已选课程的详细信息。
系统会显示课程的名称、授课教师、上课时间、上课地点等信息,方便学生及时了解课程的相关信息。
3. 成绩查询功能:学生可以通过系统查询自己的课程成绩。
系统会根据学生的学号和课程信息,显示对应的成绩。
学生可以及时了解自己的学习成果,并根据成绩进行学习调整。
4. 学生信息管理功能:系统可以记录学生的基本信息,如学号、姓名、年龄、性别等。
教师和学校管理者可以通过系统对学生信息进行管理,包括添加学生信息、修改学生信息、删除学生信息等。
5. 教师信息管理功能:系统可以记录教师的基本信息,如教师编号、姓名、性别等。
学校管理者可以通过系统对教师信息进行管理,包括添加教师信息、修改教师信息、删除教师信息等。
6. 课程信息管理功能:系统可以记录课程的详细信息,如课程编号、课程名称、授课教师、上课时间、上课地点等。
学校管理者可以通过系统对课程信息进行管理,包括添加课程信息、修改课程信息、删除课程信息等。
三、系统特点1. 界面友好:系统的界面设计简洁美观,操作简单明了,方便用户使用。
2. 数据安全:系统采用数据库存储学生课程信息,保证数据的安全性和完整性。
3. 高效性:系统能够快速响应用户的请求,提供及时的信息查询和管理功能。
学生信息管理系统_C语言课程设计报告一、引言学生信息管理系统是一种方便管理和查询学生信息的系统,该系统基于C语言开发,旨在提供一个高效、可靠和易于使用的平台,以便学校或教育机构能够有效地管理学生档案和信息。
本报告将详细介绍该系统的设计和实现过程。
二、需求分析1. 功能需求学生信息管理系统应具备以下功能:- 学生信息录入:包括学生基本信息(姓名、学号、性别、年龄等)和成绩信息。
- 学生信息查询:能够根据学号、姓名等关键字进行学生信息的检索。
- 学生成绩管理:包括成绩录入、成绩查询和统计分析等功能。
- 学生信息修改和删除:管理员可以对学生信息进行修改和删除操作。
2. 非功能需求学生信息管理系统应具备以下非功能需求:- 界面友好:系统界面简洁美观,操作简单直观,方便用户使用。
- 数据安全性:学生信息应加密存储,只有授权人员能够访问和修改。
- 并发控制:系统能够支持多个用户同时访问和操作。
三、系统设计1. 数据结构设计- 学生信息结构:使用结构体表示学生的基本信息,包括学号、姓名、性别、年龄等字段。
- 成绩信息结构:使用结构体表示学生的成绩信息,包括科目、成绩等字段。
2. 系统模块设计学生信息管理系统可以划分为以下几个模块:- 学生信息录入模块:负责学生信息的录入和存储。
- 学生信息查询模块:负责根据关键字查询学生信息,并将结果显示在界面上。
- 学生成绩管理模块:负责成绩的录入、查询和统计分析。
- 学生信息修改和删除模块:负责管理员对学生信息的修改和删除操作。
四、系统实现1. 开发环境- 操作系统:Windows 10- 开发工具:Dev-C++ 5.112. 数据库设计学生信息和成绩信息可以使用文本文件来存储,也可以使用数据库来进行管理。
本系统使用文本文件方式存储,通过文件输入输出函数实现数据的读写操作。
3. 界面设计系统界面采用命令行交互方式,通过菜单来实现各个功能的选择。
用户只需根据提示输入相应的选项,系统会进行相应处理并返回结果。
c 学生信息管理系统课程设计一、课程目标知识目标:1. 让学生理解学生信息管理系统的基本概念和功能。
2. 掌握使用数据库管理系统进行数据录入、查询、更新和删除的基本操作。
3. 学会设计简单的学生信息管理系统的界面和功能。
技能目标:1. 培养学生运用数据库技术进行信息管理的能力。
2. 培养学生运用编程语言实现学生信息管理系统的功能。
3. 提高学生分析问题、解决问题的能力。
情感态度价值观目标:1. 培养学生对待信息技术的积极态度,认识到信息技术在日常生活和学习中的重要性。
2. 培养学生的团队协作精神,学会与他人共同解决问题。
3. 培养学生的创新意识和实践能力,敢于尝试新技术,勇于解决实际问题。
课程性质:本课程属于信息技术学科,以实践操作为主,结合理论知识的讲解。
学生特点:学生具备一定的计算机操作基础,对数据库和编程有一定了解,具备初步的分析问题和解决问题的能力。
教学要求:注重理论与实践相结合,以学生为主体,教师为主导,鼓励学生动手实践,培养实际操作能力。
通过本课程的学习,使学生能够独立设计并实现一个简单的学生信息管理系统,提高学生的信息技术素养。
二、教学内容本课程教学内容分为以下几个部分:1. 学生信息管理系统概述:介绍学生信息管理系统的基本概念、功能及在实际中的应用。
- 教材章节:第一章- 内容:系统需求分析、系统功能模块划分2. 数据库基础知识:讲解数据库的基本概念、关系型数据库的设计及SQL语句的使用。
- 教材章节:第二章- 内容:数据库原理、表的设计、数据类型、SQL语言基础3. 数据库操作:学习如何使用数据库管理系统进行数据录入、查询、更新和删除操作。
- 教材章节:第三章- 内容:数据库表操作、数据查询、数据更新与删除4. 编程语言基础:介绍一种编程语言(如Python、Java等),并讲解如何实现学生信息管理系统功能。
- 教材章节:第四章- 内容:编程环境搭建、基本语法、面向对象编程、文件操作5. 系统设计与实现:学习如何设计学生信息管理系统的界面和功能,并进行实际操作。
电子科技大学成都学院程序综合设计论文论文题目学生信息管理系统学生姓名魏国学号1340840625专业机械设计制造及其自动化系(分院)电子工程系授课教师杜娥2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。
本系统主要对学生各种信息进行处理。
本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。
本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。
学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。
学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。
学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。
关键字:学生信息,管理系统,数据库,C语言编写第一章系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。
c语言课程设计学生信息管理系统.一、教学目标本课程的教学目标是使学生掌握C语言编程的基本方法,能够运用C语言设计学生信息管理系统。
通过本课程的学习,学生将能够理解C语言的基本语法、数据类型、运算符、控制结构等知识,掌握函数、数组、指针等高级概念,并能够运用这些知识设计、编写和调试C语言程序。
此外,学生还将通过课程学习,培养编程思维、解决问题的能力和团队合作精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针等知识。
在学习过程中,我们将以教材为基础,结合实际案例,引导学生掌握C语言编程的基本方法。
具体内容包括:1.C语言的基本语法和规则;2.数据类型、变量和常量;3.运算符和表达式;4.控制结构:条件语句、循环语句;5.函数的定义和调用;6.数组和指针的应用;7.学生信息管理系统的需求分析和设计。
三、教学方法为了提高学生的学习兴趣和主动性,我们将采用多种教学方法进行教学。
具体包括:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构等知识,为学生提供清晰的学习思路;2.案例分析法:通过分析实际案例,让学生了解和掌握C语言编程的方法和技巧;3.实验法:安排实验室实践环节,让学生动手编写C语言程序,提高编程能力;4.讨论法:学生进行分组讨论,培养团队合作精神和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统、全面的学习资料;2.参考书:提供相关的C语言编程参考书籍,丰富学生的知识储备;3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学效果;4.实验设备:保障实验室硬件设施齐全,为学生提供良好的编程实践环境。
五、教学评估本课程的教学评估将采取多元化、全过程的方式进行,以全面、客观、公正地评估学生的学习成果。
评估方式包括:1.平时表现:通过课堂参与、提问、回答问题等方式,评估学生的学习态度和课堂表现;2.作业:布置适量的作业,评估学生的知识掌握和编程能力;3.实验报告:评估学生在实验室实践环节的表现和实验报告的质量;4.考试成绩:通过期末考试,评估学生的综合编程能力和知识掌握情况。
学生信息管理系统c语言代码以下是一个简单的学生信息管理系统的 C 语言代码示例,包含了学生信息的添加、查询、修改和删除功能。
由于代码超过了 400 字,我将提供一个简化的版本,你可以根据需要进行扩展和改进。
```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_STUDENTS 100// 学生结构体struct Student {char id[10];char name[50];int age;};// 学生信息列表struct Student students[MAX_STUDENTS];// 学生数量int studentCount = 0;// 添加学生信息void addStudent() {if (studentCount >= MAX_STUDENTS) {printf("学生数量已满,无法添加更多学生。
\n");return;}printf("请输入学生 ID: ");scanf("%s", students[studentCount].id);printf("请输入学生姓名: ");scanf("%s", students[studentCount].name);printf("请输入学生年龄: ");scanf("%d", &students[studentCount].age);studentCount++;printf("学生信息添加成功。
\n");}// 查询学生信息void queryStudent() {if (studentCount == 0) {printf("没有学生信息可供查询。
全局变量struct stud{char name[20];long num;int age;char sex;int score[3];char tele[12];struct stud *next;}子程序1.creat()函数功能:创建链表,提示输入学生信息,储存到链表中,录入完成后输入y继续,输入n停止,返回主菜单2.display()函数功能:显示当前已经存入链表的信息3.dele()函数功能:删除链表中学生信息,可按姓名或学号删除4.add()函数功能:按学号插入学生信息5.modify()函数功能:修改链表中学生信息6.search()函数功能:查找学生信息,可按学号或姓名查找7.sort()函数功能:对信息进行排序,可实现分别对三门成绩排序8.save()函数功能:将链表中的数据保存到指定文件9.load()函数功能:将指定文件中已有的数据读入链表源程序#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>struct stud{char name[20];long num;int age;char sex;int score[3];char tele[12];struct stud *next;}main(){struct stud *head;struct stud *creat(void);void display(struct stud *head);struct stud *dele(struct stud *head);struct stud *add(struct stud *head);struct stud *modify(struct stud *head);void search(struct stud *head);void save(struct stud *head);struct stud *sort(struct stud *head);void save(struct stud *head);struct stud *load();char ch;head=NULL;for(;;){ clrscr(); /*清屏函数*/printf(“\n\n\t\tWelcome to student informationmanagement system”);printf(“\n\n\t**************************************************************”);printf(“\n\t\t\t 1: Enter the information”);printf(“\n\t\t\t 2: List the information”);printf(“\n\t\t\t 3: Delete the information”);printf(“\n\t\t\t 4: Add the information”);printf(“\n\t\t\t 5: Modify the information”);printf(“\n\t\t\t 6: Search the information”);printf(“\n\t\t\t 7: Sort the information”);printf(“\n\t\t\t 8: Save the information”);printf(“\n\t\t\t 9: Load the information”);printf(“\n\t\t\t 0: Exit “);printf(“\n\t\t\t Enter your choice:”);fflush(stdin);ch=getchar();getchar();switch(ch){case ‘1’: head=creat();break;case ‘2’:display(head);system(“pause”);break;case ‘3’:head=dele(head);system(“pause”);break;case ‘4’:head=add(head);system(“pause”);break;case ‘5’:head=modify(head);system(“pause”);break;case ‘6’:search(head);system(“pause”);break;case ‘7’:head=sort(head);system(“pause”);break;case ‘8’:save(head);system(“pause”);break;case ‘9’:head=load();break;case ‘0’:return;break;default : clrscr();printf(“\n\t Error!Please check your input\n\n”);system(“pause”);}}}struct stud *creat(void) /*链表的创建*/ {struct stud *head,*p1;char ch;clrscr();head=NULL;p1=(struct stud *)malloc(sizeof(struct stud)); printf(“\t enter name:”);gets(p1->name); printf(“\t enter number:”);scanf(“%ld”,&p1->num);printf(“\t enter age:”);scanf(“%d”,&p1->age);printf(“\t enter sex:”);fflush(stdin);scanf(“%c”,&p1->sex);printf(“\t enter Math score:”);scanf(“%d”,&p1->score[0]);printf(“\t enter English score:”);scanf(“%d”,&p1->score[1]);printf(“\t enter C score:”);scanf(“%d”,&p1->score[2]);printf(“\t enter telephone number:”);fflush(stdin); gets(p1->tele);head=p1;p1->next=NULL;do{ printf(“\n\tDO YOU WANT TO CONTINUE? Y or N?”);printf(“\n\tEnter your choise:”);fflush(stdin); ch=getchar(); clrscr(); if(ch==’y’||ch==’Y’)head=add(head);else if(ch!=’N’&&ch!=’n’){ printf(“\n\tError !Please check your input”);ch=’y’;}}while(ch==’y’||ch==’Y’);return(head);}struct stud *dele(struct stud *head)/*链表的删除*/{struct stud *p1,*p2;int choose;long delnum;char name[20];clrscr();printf(“\n\t\tChoose the way you want”);printf(“\n\t 1: According to name\n “);printf(“\n\t 2: According to num\n”);printf(“\n\t Enter your choice:”);scanf(“%d”,&choose);fflush(stdin);if(choose==1){printf(“\n\t Enter the name:”);gets(name); if(head==NULL){printf(“\t\nNo information !\n”);return(head);} p1=head;while(strcmp(name,p1->name)!=0&&p1->next!=NULL){p2=p1;p1=p1->next;}if(strcmp(name,p1->name)==0){if(p1==head)head=p1->next;else p2->next=p1->next;printf(“\t Delete Successed !\n\n”);}else printf(“\t Not been find!\n\n”);return(head);}else if(choose==2){printf(“\n\tEnter the number:”);scanf(“%ld”,&delnum);if(head==NULL){printf(“\nNo information !\n”);return(head);} p1=head; while(delnum!=p1->num&&p1->next!=NULL){p2=p1;p1=p1->next;}if(delnum==p1->num){if(p1==head)head=p1->next;else p2->next=p1->next;printf(“\t Delete Successed !\n\n”);}else printf(“\t Not been find!\n”);return(head);}else {printf(“\n\t Error!Please check your input\n\n”);return(head);}}void display(struct stud *head){struct stud *p;p=head;clrscr();if(head==NULL)printf(“\n\t No information\n\n”);else {printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephone number\n”); do{printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p->name,p->num,p->age,p->sex,p->score[ 0],p->score[1],p->score[2],p->tele);p=p->next;}while(p!=NULL); }}struct stud *add(struct stud *head)/*链表的插入*/{struct stud *p1,*p2,*p0;p0=(struct stud *)malloc(sizeof(struct stud));clrscr();printf(“\n\t\t Input the information:”);printf(“\n\t\t name:”);fflush(stdin);gets(p0->name);printf(“\t\t number:”);scanf(“%ld”,&p0->num);printf(“\t\t age:”);scanf(“%d”,&p0->age);printf(“\t\t sex:”);fflush(stdin);scanf(“%c”,&p0->sex);printf(“\t\t Math score:”);scanf(“%d”,&p0->score[0]);printf(“\t\t English score:”);scanf(“%d”,&p0->score[1]);printf(“\t\t C score:”);scanf(“%d”,&p0->score[2]);printf(“\t\t telephone number:”);fflush(stdin);gets(p0->tele);p1=head;if(head==NULL){head=p0;p0->next=NULL;}else{while(p0->num>p1->num){p2=p1,p1=p1->next;}if(p0->num<=p1->num){if(head==p1)head=p0;else p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}return(head);}struct stud *modify(struct stud *head)/*链表的修改*/{struct stud *p1,*p2,*p0;clrscr();printf(“\n\tInput the student’s name:”);p0=(struct stud *)malloc(sizeof(struct stud));fflush(stdin);gets(p0->name);if(head==NULL){printf(“\nNo information !\n\n”);return(head);} p1=head; while(strcmp(p0->name,p1->name)!=0&&p1->next!=NULL){p2=p1;p1=p1->next;}if(strcmp(p0->name,p1->name)==0){printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephone number\n”); printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p1->name,p1->num,p1->age,p1->sex,p1->score[0],p1->score[1],p1->score[2],p1->tele);if(p1==head)head=p1->next; else p2->next=p1->next; printf(“\tNew information: number:”); scanf(“%ld”,&p0->num); printf(“\t\t\t age:”); scanf(“%d”,&p0->age); printf(“\t\t\t sex:”); fflush(stdin); scanf(“%c”,&p0->sex); printf(“\t\t\t Math score:”); scanf(“%d”,&p1->score[0]); printf(“\t\t\t English score:”); scanf(“%d”,&p1->score[1]); printf(“\t\t\t C score:”); scanf(“%d”,&p1->score[2]); printf(“\t\t\t telephone number:”); fflush(stdin); gets(p0->tele); p1=head; if(head==NULL){head=p0;p0->next=NULL;}else{while(p0->num>p1->num){p2=p1;p1=p1->next;}if(p0->num<=p1->num){if(head==p1)head=p0;else p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}printf(“Modify Successed !\n\n”);}else printf(“Not been find!\n\n”);return(head);}void search(struct stud *head)/*查询链表 */{struct stud *p;int choose;long num;char name[20];clrscr();printf(“\n\t\tChoose the way you want”);printf(“\n\t 1: According to name\n “);printf(“\n\t 2: According to num\n”);printf(“\n\t Enter your choice:”);scanf(“%d”,&choose);fflush(stdin);if(choose==1){printf(“\n\t enter the name:”);gets(name);if(head==NULL){printf(“\t\nNo information !\n\n”);}else{p=head;while(strcmp(name,p->name)!=0&&p->next!=NULL){p=p->next;}if(strcmp(name,p->name)==0){printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephone number\n”); printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p->name,p->num,p->age,p->sex,p->score[ 0],p->score[1],p->score[2],p->tele);}else printf(“ Not been find!\n\n”);}}else if(choose==2){printf(“\n\t Enter the number:”);scanf(“%ld”,&num);if(head==NULL){printf(“\nNo information!\n”);}else{p=head;while(num!=p->num&&p->next!=NULL){p=p->next;}if(num==p->num){printf(“name\tnumber\tage\tsex\tMath\tEnglish\tC\ttelephone number\n”); printf(“%s\t%ld\t%d\t%c\t%d\t%d\t%d\t%s\n”,p->name,p->num,p->age,p->sex,p->score[ 0],p->score[1],p->score[2],p->tele);}else printf(“\t Not been find!\n”);}}else printf(“\n\t Error!Please check your input\n\n”);}struct stud *sort(struct stud *head){struct stud *first;struct stud *t;struct stud *p;struct stud *q;int ch;clrscr();printf(“\n\t\tChoose the way you want”);printf(“\n\t 1: According to Math:\n”);printf(“\n\t 2: According to English\n”);printf(“\n\t 3: According to C\n”);printf(“\n\t Enter your choice:”);scanf(“%d”,&ch);first = head->next;head->next = NULL;while (first != NULL){for (t=first, q=head; ((q!=NULL) && (q->score[ch-1]>t->score[ch-1])); p=q, q=q->next);first = first->next;if (q == head)head = t;else{p->next = t;}t->next = q;}printf(“\n\t\tSuccess !\n”);return head;}void save(struct stud *head) /*保存链表*/{FILE *fp;struct stud *p;char filename[20];printf(“\n\ninput the filename: “);fflush(stdin);gets(filename);if((fp=fopen(filename,”w”))==NULL){printf(“Save file %s error ! Type it again.\n\n”,filename); exit(0);}p=head;while(p!=NULL){ fprintf(fp,”%s\t”,p->name);fprintf(fp,”%ld\t”,p->num);fprintf(fp,”%d\t”,p->age);fprintf(fp,”%c\t”,p->sex);fprintf(fp,”%d\t”,p->score[0]);fprintf(fp,”%d\t”,p->score[1]);fprintf(fp,”%d\t”,p->score[2]);fprintf(fp,”%s\t\n”,p->tele);p=p->next;}printf(“\n\t\tSuccess !\n”);fclose(fp);}struct stud *load() /*链表的导入*/{FILE *fp;char filename[20];struct stud *head,*p1,*p2;printf(“\n\ninput the filename: “);fflush(stdin);gets(filename);if((fp=fopen(filename,”r”))==NULL){printf(“Load file %s error ! Type it again.\n\n”,filename); exit(0);}if(!feof(fp)){head=(struct stud *) malloc(sizeof(struct stud));fscanf(fp,”%s\t”,&head->name);fscanf(fp,”%ld\t”,&head->num);fscanf(fp,”%d\t”,&head->age);fscanf(fp,”%c\t”,&head->sex);fscanf(fp,”%d\t”,&head->score[0]);fscanf(fp,”%d\t”,&head->score[1]);fscanf(fp,”%d\t”,&head->score[2]);fscanf(fp,”%s\t\n”,&head->tele);p2=head;}while( !feof(fp)){ p1= (struct stud *) malloc(sizeof(struct stud));fscanf(fp,”%s\t”,&p1->name);fscanf(fp,”%ld\t”,&p1->num);fscanf(fp,”%d\t”,&p1->age);fscanf(fp,”%c\t”,&p1->sex);fscanf(fp,”%d\t”,&p1->score[0]);fscanf(fp,”%d\t”,&p1->score[1]);fscanf(fp,”%d\t”,&p1->score[2]);fscanf(fp,”%s\t\n”,&p1->tele);p2->next=p1;p2=p1; }p2->next=NULL;printf(“\n\t\t Success !\n”);fclose(fp);return(head);}心得体会这次的课程设计,使我们对C语言有了更近一步的认识和了解,不仅巩固了以前所学过的知识,而且在查阅资料过程中学到了很多书本上学不到的知识。