数据结构设计——班级个人信息管理系统

本文探讨了如何利用数据结构设计一个班级个人信息管理系统,详细阐述了在实现过程中涉及的数组、链表、散列表等数据结构及其作用。通过合理的数据结构设计,实现了高效的学生信息存储、查找和更新功能,提高了系统的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*************************************** 
*版权所有 (C)2017,liuzhaojing 
*文件名称:stu.h 
*文件标识:无 
*内容摘要:定义数据和函数声明 
*其他说明:无 
*当前版本:V1.0 
*作者:刘照京 
*完成时间:20171222 
*修改记录: 
*修改时间:20171222 
*版本号:V1.0 
*修改人:liuzhaojing 
****************************************/
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
#define N sizeof(struct student)   //测结构体变量的大小//


typedef struct student


{
    char number[20];
    char name[20];
    char sex[20];
    char Tel[20];
    char college[20];
    char mail[20];
    int score;//成绩
    struct student *next;


} stu;  //为结构体命名//


stu *creatlink( stu * &head);        //创建链表信息//
stu *delet(stu *p0);                 //删除信息//
stu *modify(stu *h);                 //修改信息//
void findNum(stu *h);                //查询信息//
void findName(stu *h);               //查询信息//
void print(stu *p);                  //显示全部信息//
stu *sort(stu *head);                //冒泡排序
int MainMenu();
int FindMenu();
int ManageMenu();
int StudentMenu();
void findNum(stu *h);
void findName(stu *h);




源文件main.cpp
[cpp] view plain copy
/*************************************** 
*版权所有 (C)2016,liuzhaojing 
*文件名称:main.cpp 
*文件标识:无 
*内容摘要:每个函数的实现以及主函数 
*其他说明:无 
*当前版本:V1.0 
*作者:刘照京 
*完成时间:20171222 
*修改记录: 
*修改时间:20171222 
*版本号:V1.0 
*修改人:liuzhaojing 
****************************************/ 
#include"stu.h"


int main()
{


    int nChoose1;
    int nChoose2;
    int nChoose3;
    int nChoose4;
    int nEnd = 1;
    int nEnd2 = 1;
    int nEnd3 = 1;
    char sName[10];
    char sPassword[10];
    int i;   //choice用于选择对数据执行操作,i循环,ok主界面选择//
    stu *head;
    head = NULL;
    while (nEnd)


    {
        nChoose1 = MainMenu();


        switch (nChoose1)


        {
        case 0:
            nEnd = 0;
            break;


        case 1:
            printf("**************************************\n");
            printf("请输入账号:\n");
            scanf("%s", sName);
            printf("**************************************\n");
            printf("请输入密码:\n");
            scanf("%s", sPassword);
            if (strcmp(sName,"root")!=0)
            {
                printf("账号错误!\n");
            }
            else
            {
                if (strcmp(sPassword,"root")!=0)
                {
                    printf("密码错误!\n");
                }
                else
                {
                    nEnd2 = 1;
                    while (nEnd2)
                    {
                        nChoose2 = ManageMenu();
                        switch (nChoose2)
                        {


                        case 1:
                            head = creatlink(head);
                            break;


                        case 2:


                            head = delet(head);
                            break;


                        case 3:
                            head = modify(head);
                            break;


                        case 4:
                            nChoose4 = FindMenu();
                            switch (nChoose4)
                            {


                            case 1:


                        
大二的课程设计 一、 用户登录系统的模拟 【问题描述】在登录服务器系统时,都需要验证用户名和密码,如telnet远程登录服务器。用户输入用户名和密码后,服务器程序会首先验证用户信息的合法性。由于用户信息的验证频率很高,系统有必要有效地组织这些用户信息,从而快速查找和验证用户。另外,系统也会经常会添加新用户、删除老用户和更新用户密码等操作,因此,系统必须采用动态结构,在添加、删除或更新后,依然能保证验证过程的快速。请采用相应的数据结构模拟用户登录系统,其功能要求包括用户登录、用户密码更新、用户添加和用户删除等。 【基本要求】 1. 要求自己编程实现二叉树结构及其相关功能,以存储用户信息,不允许使用标准模板类的二叉树结构和函数。同时要求根据二叉树的变化情况,进行相应的平衡操作,即AVL平衡树操作,四种平衡操作都必须考虑。测试时,各种情况都需要测试,并附上测试截图; 2. 要求采用类的设计思路,不允许出现类以外的函数定义,但允许友元函数。主函数中只能出现类的成员函数的调用,不允许出现对其它函数的调用。 3. 要求采用多文件方式:.h文件存储类的声明,.cpp文件存储类的实现,主函数main存储在另外一个单独的cpp文件中。如果采用类模板,则类的声明和实现都放在.h文件中。 4. 不强制要求采用类模板,也不要求采用可视化窗口;要求源程序中有相应注释; 5. 要求测试例子要比较详尽,各种极限情况也要考虑到,测试的输出信息要详细易懂,表明各个功能的执行正确; 6. 要求采用Visual C++ 6.0及以上版本进行调试;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值