- /***************************************
- *版权所有 (C)2017,renzexi
- *文件名称:action.h
- *文件标识:无
- *内容摘要:定义数据和函数声明
- *其他说明:无
- *当前版本:V1.0
- *作者:任泽西
- *完成时间:20171222
- *修改记录:修改了重定义的错误
- *修改时间:20171222
- *版本号:V1.0
- *修改人:renzexi
- ****************************************/
- #include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#ifndef _COMMOM
#define _COMMOM
typedef struct Student
{
char Num[30];/*学生学号*/
char Name[30];/*学生姓名*/
char className[30];/*班级名称*/
char telNumber[30];/*学生手机号*/
char email[30];/*学生邮箱*/
char course[30];/*课程信息*/
int score;/*成绩*/
}stu;
typedef struct LNode
{
stu data;
struct LNode* next;
}Linklist;
#endif // _COMMOM
#ifndef TEST_H
#define TEST_H
void Initlist(Linklist *&L);//初始化单链表
void Creatlist(Linklist *&L);//头插法生成单链表
void SearchNum(Linklist *L,char Num[30]);//学号查询
void SearchName(Linklist *L,char Name[30]);//姓名查询
void Insert(Linklist *&L,char Num[30]);//插入信息
void Del(Linklist *&L,char Num[30]);//按学号删除
void Alter(Linklist *L,char Num[30]);//更改信息
void Display(Linklist *&L);//显示学生信息
void SortNum(Linklist *L);//学号排序
void SortScore(Linklist *L);//成绩排序
#endif // _TEST_H
源文件main.cpp
- /***************************************
- *版权所有 (C)2016,renzexi
- *文件名称:main.cpp
- *文件标识:无
- *内容摘要:每个函数的实现以及主函数
- *其他说明:无
- *当前版本:V1.0
- *作者:任泽西
- *完成时间:20171222
- *修改记录:修改了浏览信息不显示的bug
- *修改时间:20171222
- *版本号:V1.0
- *修改人:renzexi
- ****************************************/
- #include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include "action.h"
Linklist *L;
int main()
{
system("color 7e");
static int s;
static int n;
static char m;
static char Name[100];
static char Num[100];
Initlist(L);//初始化单链表
int x=1;
while(x)
{
printf(" ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf(" ◆ 欢迎使用学生个人信息管理系统 ◆\n");
printf(" ◆ 【菜单】 ◆\n");
printf(" ◆ 1.录入学生的个人信息 ◆\n");
printf(" ◆ 2.查询学生的个人信息 ◆\n");
printf(" ◆ 3.学生的信息进行排序 ◆\n");
printf(" ◆ 4.插入学生的个人信息 ◆\n");
printf(" ◆ 5.浏览学生的个人信息 ◆\n");
printf(" ◆ 6.修改学生的个人信息 ◆\n");
printf(" ◆ 7.删除学生的个人信息 ◆\n");
printf(" ◆ 【0】退出个人信息管理系统 ◆\n");
printf(" ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆\n");
printf(" 请选择操作序号:");
scanf("%d",&s);
switch(s)
{
case 1:
{
Creatlist(L);
do{
system("cls");
printf("是否继续输入?(Y/N):");
getchar();
scanf("%s",&m);
if(m=='Y')
Creatlist(L);
}while(m!='N');
break;
}
case 2:
{
system("cls");
printf("**************欢迎进入到班级信息查询系统******\n");
printf("**************请输入1or2******\n");
printf("**************1、按姓名查找******\n");
printf("**************2、按学号查找******\n");
scanf("%d",&n);
if(n==1)
{
printf("请输入要查找人的姓名: \n");
scanf("%s",&Name);
SearchName(L,Name);
}
if(n==2)
{
printf("请输入要查找人的学号: \n");
scanf("%s",&Num);
SearchNum(L,Num);
}
printf("*************欢迎下次进入*******************\n");
break;
}
case 3:
{
printf("**************欢迎进入到班级信息的显示功能******\n");
printf("按需求显示班级中所有学生的信息\n");
printf("*********************************\n");
printf("\n\t\t 1.按学号大小显示");
printf("\n\t\t 2.按成绩高低显示\n");
scanf("%d",&n);
if(n==1)
{
printf("班级中所有学生的信息如下: \n");
SortNum(L);
Display(L);
}
if(n==2)
{
printf("班级中所有学生的信息如下: \n");
SortScore(L);
Display(L);
}
printf("*************欢迎下次进入*******************\n");
break;
}
case 4:
{
system("cls");
printf("**************欢迎进入到班级信息查询系统******\n");
printf("请输入你所要插入的学生的学号: \n");
getchar();
scanf("%s",&Num);
Insert(L, Num);
printf("*************欢迎下次进入*******************\n");
break;
}
case 5:
{
system("cls");
printf("**************欢迎进入到班级信息查看功能区******\n");
printf("管理员进入系统\n");
printf("**************请输入1查看已录入的信息******\n");
scanf("%d",&n);
if(n==1)
{
Display(L);
}
printf("*************欢迎下次进入*******************\n");
break;
}
case 6:
{
system("cls");
printf("**************欢迎进入到班级信息修改功能区******\n");
printf("请输入需要修改信息的学生学号: \n");
getchar();
scanf("%s",&Num);
Alter(L,Num);
printf("*************欢迎下次进入*******************\n");
break;
}
case 7:
{
system("cls");
printf("**************欢迎进入到班级信息的删除功能区******\n");
printf("请输入所要删除的学生的学号: \n");
getchar();
scanf("%s",&Num);
printf("是否确定删除该同学:(Y/N)");
scanf("%s",&m);
if(m=='Y')
{
Del(L, Num);
}
else
{
printf("输入错误,请重新输入Y/N");
}
printf("*************欢迎下次进入*******************\n");
break;
}
case 0:
{
x=0;
printf("欢迎你下次进入学生管理系统 \n");
break;
default:
break;
}
}
}
return 0;
}
源文件allf.cpp
项目实现结果
(1) 已录入多个学生信息
(2) 进行2查询中的1按姓名查询
(3) 进行3排序中的1按学号排序
(4) 进行4插入信息
(5) 进行5浏览信息
(6) 进行6修改信息
(7)进行7删除信息
(8) 再次进行5浏览信息,查看修改和删除操作是否实现