C语言版停车位管理系统

本文实例为大家分享了C语言实现停车位管理系统的具体代码,供大家参考,具体内容如下

简单功能介绍

1、录入车辆信息
2、查找车辆信息
3、删除车辆信息
4、修改车辆信息
5、查找区域车辆信息
6、排序(按照车主姓名排序)
7、展示所有车辆信息
8、将录入的数据保存在文件中
9、将文件中的数据读出

算法构造

链表的增删改查

  • 结构体的定义
typedef struct Parking
{
    char name[20];        //车主姓名
    char carname[10];     //车牌号
    long information;     //车主联系方式
    char region;          //车位区域编号
    int num;              //车位编号
    struct Parking *next; //指针
}Parking;
  • 录入车辆信息

利用尾插法插入新添加的数据

Parking *Addcar(Parking *head)      //录入车辆信息
{
    int x;
    system("cls");  //清屏操作
    system("color B");   //改变字体颜色
    Parking *p = head;
    while(p->next!=NULL)   //利用尾插法插入新用户信息
    {
        p = p->next;
    }
    printf("输入需要添加的车辆个数:");
    scanf("%d", &x);
    while(x--)   //输入用户信息
    {
        system("cls");
        Parking *Node = (Parking *)malloc(sizeof(Parking));
        printf("\n输入用户姓名:");
        scanf("%s",Node->name);
        printf("\n输入车牌号:");
        scanf("%s",Node->carname);
        printf("\n输入车主联系方式:");
        scanf("%ld",&Node->information);
        printf("\n输入车位区域编号:");
        getchar();
        scanf("%c",&Node->region);
        printf("\n输入车位编号:");
        scanf("%d",&Node->num);
        Node->next=NULL;
        p->next = Node;
        p = p->next;
    }
    printf("\n输入完成!");
    F(head);   //打印添加后的用户信息
    printf("\n按任意键返回主页\n");
    getch();    //用来显示结果
    return head;
}
  • 删除用户信息

根据用户名匹配查找用户信息进行删除

Parking *Delete(Parking *head)      //删除用户信息
{
    char name[20];
    system("cls");
    system("color B");
    printf("\n\t\t输入你要删除的用户姓名:");
    scanf("%s", name);
    Parking *p = head;
    Parking *q = p->next;
    while(q)   //找到需要删除数据的前结点
    {
        if(strcmp(q->name,name)==0)  //判断字符串是否相等函数
        {
            p->next = q->next;
            free(q);  //释放内存空间
            break;
        }
        p = q;
        q = p->next;
    }
    if(p->next==NULL)
    {
        printf("\n\t\t未找到该用户信息!");
    }
    else
    {
        printf("\n\t\t删除成功!!");
        F(head);
    }
    printf("\n\t\t按任意键返回主菜单");
    getch();
    return head;
}
  • 查找用户信息

根据字符串匹配查找用户信息

void  Find(Parking *head)      //查找用户信息
{
    system("cls");
    system("color B");
    char name[20];
    printf("\n\t\t输入你要查找的用户姓名:");
    scanf("%s", name);
    Parking *p = head;
    while(p->next)
    {
        if(strcmp(p->next->name,name)==0)
        {
            printf("找到了!\n");
            printf("该用户的信息如下:");
            printf("\n\t\t---用户姓名            %s",p->next->name);
            printf("\n\t\t---车牌号              %s",p->next->carname);
            printf("\n\t\t---车主联系方式        %ld",p->next->information);
            printf("\n\t\t---车位区域编号        %c",p->next->region);
            printf("\n\t\t---车位编号            %d",p->next->num);
            break;
        }
        p = p->next;
    }
    if(p->next==NULL)
        printf("\n\t\t没有找到该用户信息");
    printf("\n\t\t按任意键返回主菜单");
    getch();
}
  • 修改用户信息

查找用户找到后显示该用户的信息,根据用户选择修改信息

Parking *Change(Parking *head)      //修改用户信息
{
    char name[20];
    system("cls");
    system("color B");
    printf("输入需要修改的用户姓名:");
    scanf("%s", name);
    Parking *p = head->next;
    while(p)
    {
        if(strcmp(p->name,name)==0)
        {
            system("cls");
            system("color B");
            int x;
            printf("\n\t\t                           --该用户信息--                                            \n\n");
            printf("\t---------------------------------------------------------------------\n");
            printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
            printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            printf("\n输入你要修改的信息编号:\n");
            printf("     1-车主姓名    \n");
            printf("     2-车牌号      \n");
            printf("     3-车主联系方式 \n");
            printf("     4-车位区域编号 \n");
            printf("     5-车位编号     \n");
            scanf("%d", &x);
            switch(x)
            {
                case 1:
                    printf("\n\t输入修改后的信息");
                    scanf("%s", p->name);
                    break;
                case 2:
                    printf("\n\t输入修改后的信息");
                    scanf("%s", p->carname);
                    break;
                case 3:
                    printf("\n\t输入修改后的信息");
                    scanf("%ld", &p->information);
                    break;
                case 4:
                    printf("\n\t输入修改后的信息");
                    scanf("%c", &p->region);
                    break;
                case 5:
                    printf("\n\t输入修改后的信息");
                    scanf("%d", &p->num);
                    break;  
            }
            printf("\n\t\t修改后的用户信息为");
            printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
            printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            break;
        }
        p = p->next;
    }
    if(p==NULL)
    {
        printf("\n未找到相应用户");
        printf("\n按任意键返回主页\n");
        getch();
        return head;
    }
    printf("\n修改完成!");
    F(head);  //显示修改后的全部信息
    printf("\n按任意键返回主页\n");
    getch();
    return head;
}

其他链表操作

  • 排序(根据用户姓名排序)
void *Sort(Parking *head)   //排序
{
    Parking *p=head;
    Parking *q,*p1=NULL,*p2=NULL;
    while(p->next != NULL)
    {
        q = p->next;
        while(q->next != NULL)
        {
            if(strcmp(p->next->name,q->next->name)>0)  //字符串比较
            {
                p1 = p->next;  //记录p与q的下一结点
                p2 = q->next;
                q->next = q->next->next;
                p->next = p2;
                p2->next = p1;
            }
            else
            q = q->next;
        }
        p = p->next;
    }
    F(head);
    printf("\n\t\t按任意键返回主菜单");
    getch();
}
  • 查找区域车辆信息
void RegionalVehicles(Parking *head)   //寻找指定区域内车辆信息
{
    system("cls");
    system("color B");
    char c;
    printf("\n\t\t输入你想要查看的区域");
    getchar();
    scanf("%c", &c);
    Parking *p = head->next;
    printf("\n\t\t                              --%c区域内车辆用户信息--                                            \n\n",c);
    printf("\t---------------------------------------------------------------------\n");
    printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
    while(p)
        {
            if(p->region==c)  //判断区域字符与输入字符是否相等,相等则输出
            {
                printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            }
            p = p->next;
        }
    printf("\n\t\t按任意键返回主菜单");
    getch();
}

文件的读取与输入

  • 将数据保存在文件中

之所以用w形式打开文件是因为我在程序运行前已将文件内数据读出,最后进行保存数据时覆盖原数据不会导致原数据丢失

void  Preservation(Parking *head)   //保存数据在文件中
{
    const char* filename1 = "C:/Users/judicious/Desktop/car.text";  //文件路径
    FILE *fp = fopen(filename1, "w");  //以写的方式打开文件,若文件不存在,则建立新的文件。若文件内有内容则会覆盖原有内容
    if (fp == NULL)   //判断是否成功打开
    {
        puts("Fail to open file!");
        exit(1);
    }
    Parking * p = head->next;
    while(p)
    {
        fprintf(fp,"%s %s %ld %c %d\n", p->name, p->carname, p->information, p->region, p->num);  //向文件内输入数据
        p = p->next;
    }
    fclose(fp);  //关闭文件
    return;
}
  • 将文件中数据读出

将文件内数据读出并保存在链表当中,方便对数据进行修改

Parking *Read()   //读取文件内数据
{
    const char* filename1 = "C:/Users/judicious/Desktop/car.text";
    FILE *fp = fopen(filename1, "rt");  //以读的方式打开文件
    if (fp == NULL)
    {
        puts("Fail to open file!");
        exit(1);   
    }
    Parking *head = (Parking *)malloc(sizeof(Parking));  //为头指针申请内存空间
    head->next = NULL;  
    Parking *p1 = (Parking *)malloc(sizeof(Parking));  //申请存放数据的结点
    p1->next = NULL;
    if(fscanf(fp, "%s %s %ld %c %d", p1->name, p1->carname, &p1->information, &p1->region, &p1->num)!=EOF)  //判断所读文件内容是否为空
    {
        head->next=p1;
        Parking *tmp=head;
        while (tmp->next)   //利用尾插法插入结点,确保读出的数据安正序输出
        {
            tmp=tmp->next;
        }
        while(fgetc(fp)!=EOF)  //判断文件是否为空
        {
            
            Parking *p = (Parking *)malloc(sizeof(Parking));
            fscanf(fp, "%s %s %ld %c %d", p->name, p->carname, &p->information, &p->region, &p->num);
            tmp->next=p;
            p->next=NULL;
            tmp = tmp->next;
        }
        Parking *p2 = head;  //删除最后一个结点
        while(p2->next->next)
        {
            p2 = p2->next;
        }
        p2->next = NULL;
    }
    else
        return NULL;
    fclose(fp);
    return head->next;
}

删除最后一个结点的原因是我存入数据时每行数据后有一个换行符,fgetc()将换行符读走,最后一行时也将换行符读走。此时判断文件不为空,继续读取内容,所以最后一个结点内的内容为随机值,因此删除该结点。

主菜单

void menu()   //主菜单
{
    Parking *head = (Parking *)malloc(sizeof(Parking));
    head->next = Read();  //读取文件信息
    system("cls");
    HideCursor();   //隐藏光标
    int choice;
    do
    {
        system("cls");  //主页面
        printf("--------------------------------------------------------------");
        printf("\n\n");
        printf("********************欢迎来到停车位管理系统********************\n");
        printf("\n\n");
        printf("---------------------------------------------------------\n");
        printf("\n                 1- 录入车辆信息                        ");
        printf("\n                 2- 查找车辆信息                        ");
        printf("\n                 3- 移除车辆信息                        ");
        printf("\n                 4- 修改车辆信息                        ");
        printf("\n                 5- 查找区域车辆信息                     ");
        printf("\n                 6- 展示所有车辆信息                     ");
        printf("\n                 7- 按车主姓名排序                       ");
        printf("\n                 0- 退出管理系统并保存数据              \n");
        printf("\n-------------------------------------------------------\n");
        scanf("%d", &choice);
        switch(choice)
        {
            case 1:
                head = Addcar(head);
                break;
            case 2:
                Find(head);
                break;
            case 3:
                head = Delete(head);
                break;
            case 4:
                head = Change(head);
                break;
            case 5:
                RegionalVehicles(head);
                break;
            case 6:
                F(head);
                break;
            case 7:
                Sort(head);
                break;
        }
    } while (choice!=0);
    Preservation(head);   //保存数据
}

主函数

int main()
{
    menu();
    return 0;
}

完整代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h> //system("cls"):清屏  
#include <conio.h>  //getch()

typedef struct Parking
{
    char name[20];        //车主姓名
    char carname[10];     //车牌号
    long information;     //车主联系方式
    char region;          //车位区域编号
    int num;              //车位编号
    struct Parking *next; //指针
}Parking;

void HideCursor()     //隐藏光标
{
 CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}

void  F(Parking *head)   //打印用户信息
{   
    system("cls");
    system("color B");
    Parking *p = head->next;
    printf("\n\t\t                              --停车场用户信息--                                            \n\n");
    printf("\t---------------------------------------------------------------------\n");
    printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
    while (p)
    {
        printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
        p = p->next;
    }
    getch();
    return;
}

Parking *Addcar(Parking *head)      //录入车辆信息
{
    int x;
    system("cls");
    system("color B");
    Parking *p = head;
    while(p->next!=NULL)
    {
        p = p->next;
    }
    printf("输入需要添加的车辆个数:");
    scanf("%d", &x);
    while(x--)
    {
        system("cls");
        Parking *Node = (Parking *)malloc(sizeof(Parking));
        printf("\n输入用户姓名:");
        scanf("%s",Node->name);
        printf("\n输入车牌号:");
        scanf("%s",Node->carname);
        printf("\n输入车主联系方式:");
        scanf("%ld",&Node->information);
        printf("\n输入车位区域编号:");
        getchar();
        scanf("%c",&Node->region);
        printf("\n输入车位编号:");
        scanf("%d",&Node->num);
        Node->next=NULL;
        p->next = Node;
        p = p->next;
    }
    printf("\n输入完成!");
    F(head);
    printf("\n按任意键返回主页\n");
    getch();
    return head;
}

Parking *Change(Parking *head)      //修改用户信息
{
    char name[20];
    system("cls");
    system("color B");
    printf("输入需要修改的用户姓名:");
    scanf("%s", name);
    Parking *p = head->next;
    while(p)
    {
        if(strcmp(p->name,name)==0)
        {
            system("cls");
            system("color B");
            int x;
            printf("\n\t\t                           --该用户信息--                                            \n\n");
            printf("\t---------------------------------------------------------------------\n");
            printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
            printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            printf("\n输入你要修改的信息编号:\n");
            printf("     1-车主姓名    \n");
            printf("     2-车牌号      \n");
            printf("     3-车主联系方式 \n");
            printf("     4-车位区域编号 \n");
            printf("     5-车位编号     \n");
            scanf("%d", &x);
            switch(x)
            {
                case 1:
                    printf("\n\t输入修改后的信息");
                    scanf("%s", p->name);
                    break;
                case 2:
                    printf("\n\t输入修改后的信息");
                    scanf("%s", p->carname);
                    break;
                case 3:
                    printf("\n\t输入修改后的信息");
                    scanf("%ld", &p->information);
                    break;
                case 4:
                    printf("\n\t输入修改后的信息");
                    scanf("%c", &p->region);
                    break;
                case 5:
                    printf("\n\t输入修改后的信息");
                    scanf("%d", &p->num);
                    break;  
            }
            printf("\n\t\t修改后的用户信息为");
            printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
            printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            break;
        }
        p = p->next;
    }
    if(p==NULL)
    {
        printf("\n未找到相应用户");
        printf("\n按任意键返回主页\n");
        getch();
        return head;
    }
    printf("\n修改完成!");
    F(head);
    printf("\n按任意键返回主页\n");
    getch();
    return head;
}

Parking *Delete(Parking *head)      //删除用户信息
{
    char name[20];
    system("cls");
    system("color B");
    printf("\n\t\t输入你要删除的用户姓名:");
    scanf("%s", name);
    Parking *p = head;
    Parking *q = p->next;
    while(q)
    {
        if(strcmp(q->name,name)==0)
        {
            p->next = q->next;
            free(q);
            break;
        }
        p = q;
        q = p->next;
    }
    if(p->next==NULL)
    {
        printf("\n\t\t未找到该用户信息!");
    }
    else
    {
        printf("\n\t\t删除成功!!");
        F(head);
    }
    printf("\n\t\t按任意键返回主菜单");
    getch();
    return head;
}

void  Find(Parking *head)      //查找用户信息
{
    system("cls");
    system("color B");
    char name[20];
    printf("\n\t\t输入你要查找的用户姓名:");
    scanf("%s", name);
    Parking *p = head;
    while(p->next)
    {
        if(strcmp(p->next->name,name)==0)
        {
            printf("找到了!\n");
            printf("该用户的信息如下:");
            printf("\n\t\t---用户姓名            %s",p->next->name);
            printf("\n\t\t---车牌号              %s",p->next->carname);
            printf("\n\t\t---车主联系方式        %ld",p->next->information);
            printf("\n\t\t---车位区域编号        %c",p->next->region);
            printf("\n\t\t---车位编号            %d",p->next->num);
            break;
        }
        p = p->next;
    }
    if(p->next==NULL)
        printf("\n\t\t没有找到该用户信息");
    printf("\n\t\t按任意键返回主菜单");
    getch();
}

void RegionalVehicles(Parking *head)   //寻找指定区域内车辆信息
{
    system("cls");
    system("color B");
    char c;
    printf("\n\t\t输入你想要查看的区域");
    getchar();
    scanf("%c", &c);
    Parking *p = head->next;
    printf("\n\t\t                              --%c区域内车辆用户信息--                                            \n\n",c);
    printf("\t---------------------------------------------------------------------\n");
    printf("\t车主姓名--------车牌号-------车主联系方式---车位区域编号-----车位编号----\n");
    while(p)
        {
            if(p->region==c)
            {
                printf("\t%-17s%-16s%-15ld%-16c%-17d\n", p->name, p->carname, p->information, p->region, p->num);
            }
            p = p->next;
        }
    printf("\n\t\t按任意键返回主菜单");
    getch();
}

void *Sort(Parking *head)   //排序
{
    Parking *p=head;
    Parking *q,*p1=NULL,*p2=NULL;
    while(p->next != NULL)
    {
        q = p->next;
        while(q->next != NULL)
        {
            if(strcmp(p->next->name,q->next->name)>0)
            {
                p1 = p->next;
                p2 = q->next;
                q->next = q->next->next;
                p->next = p2;
                p2->next = p1;
            }
            else
            q = q->next;
        }
        p = p->next;
    }
    F(head);
    printf("\n\t\t按任意键返回主菜单");
    getch();
}

void  Preservation(Parking *head)   //保存数据在文件中
{
    const char* filename1 = "C:/Users/judicious/Desktop/car.text";
    FILE *fp = fopen(filename1, "w");
    if (fp == NULL)
    {
        puts("Fail to open file!");
        exit(1);
    }
    Parking * p = head->next;
    while(p)
    {
        fprintf(fp,"%s %s %ld %c %d\n", p->name, p->carname, p->information, p->region, p->num);
        p = p->next;
    }
    fclose(fp);
    return;
}

Parking *Read()   //读取文件内数据
{
    const char* filename1 = "C:/Users/judicious/Desktop/car.text";
    FILE *fp = fopen(filename1, "rt");
    if (fp == NULL)
    {
        puts("Fail to open file!");
        exit(1);   
    }
    Parking *head = (Parking *)malloc(sizeof(Parking));
    head->next = NULL;
    Parking *p1 = (Parking *)malloc(sizeof(Parking));
    p1->next = NULL;
    if(fscanf(fp, "%s %s %ld %c %d", p1->name, p1->carname, &p1->information, &p1->region, &p1->num)!=EOF)
    {
        head->next=p1;
        Parking *tmp=head;
        while (tmp->next)
        {
            tmp=tmp->next;
        }
        while(fgetc(fp)!=EOF)
        {
            
            Parking *p = (Parking *)malloc(sizeof(Parking));
            fscanf(fp, "%s %s %ld %c %d", p->name, p->carname, &p->information, &p->region, &p->num);
            tmp->next=p;
            p->next=NULL;
            tmp = tmp->next;
        }
        Parking *p2 = head;
        while(p2->next->next)
        {
            p2 = p2->next;
        }
        p2->next = NULL;
    }
    else
        return NULL;
    fclose(fp);
    return head->next;
}

void menu()   //主菜单
{
    Parking *head = (Parking *)malloc(sizeof(Parking));
    head->next = Read();  //读取文件信息
    system("cls");
    HideCursor();   //隐藏光标
    int choice;
    do
    {
        system("cls");
        printf("--------------------------------------------------------------");
        printf("\n\n");
        printf("********************欢迎来到停车位管理系统********************\n");
        printf("\n\n");
        printf("---------------------------------------------------------\n");
        printf("\n                 1- 录入车辆信息                        ");
        printf("\n                 2- 查找车辆信息                        ");
        printf("\n                 3- 移除车辆信息                        ");
        printf("\n                 4- 修改车辆信息                        ");
        printf("\n                 5- 查找区域车辆信息                     ");
        printf("\n                 6- 展示所有车辆信息                     ");
        printf("\n                 7- 按车主姓名排序                       ");
        printf("\n                 0- 退出管理系统并保存数据              \n");
        printf("\n-------------------------------------------------------\n");
        scanf("%d", &choice);
        switch(choice)
        {
            case 1:
                head = Addcar(head);
                break;
            case 2:
                Find(head);
                break;
            case 3:
                head = Delete(head);
                break;
            case 4:
                head = Change(head);
                break;
            case 5:
                RegionalVehicles(head);
                break;
            case 6:
                F(head);
                break;
            case 7:
                Sort(head);
                break;
        }
    } while (choice!=0);
    Preservation(head);   //保存数据
}

int main()
{
    menu();
    return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言源码实现停车场管理系统

    本文实例为大家分享了C语言停车场管理系统的具体代码,供大家参考,具体内容如下 题目要求: 刚开始在Codeblocks下用C语言写的,但是用指针传递参数的时候总是出问题.后来就用C++,但是调用了C的输入输出和文件操作的头文件,所以代码都是C的 main.cpp #include <iostream> #include <cstdio> #include <cstdlib> #include <windows.h> #include <ctime>

  • C语言设计图书登记系统与停车场管理系统的实例分享

    图书登记管理系统 图书登记管理系统应该具有下列功能: (1). 通过键盘输入某本图书的信息: (2) .给定图书编号,显示该本图书的信息: (3) .给定作者姓名,显示所有该作者编写的图书信息: (4) .给定出版社,显示该出版社的所有图书信息: (5) .给定图书编号,删除该本图书的信息: (6) .提供一些统计各类信息的功能. 程序完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "s

  • C语言实现简单停车场管理系统

    本文实例为大家分享了C语言停车场管理系统的具体代码,供大家参考,具体内容如下 /*************************************************************************** 项目要求 停车场管理 问题描述:停车场是一个能放n辆车的狭长通道, 只有一个大门,汽车按到达的先后次序停放.若 车场满了,车要停在门外的便道上等候,一旦有 车走,则便道上第一辆车进入.当停车场中的车 离开时,由于通道窄,在它后面的车要先退出, 待它走后再依次进入.汽车

  • C语言实现简单的停车场管理系统

    本文实例为大家分享了C语言实现简单停车场管理系统的具体代码,供大家参考,具体内容如下 1.问题描述 1)有一个两层的停车场,每层有6个车位,当第一层车位停满后才允 许使用第二层(停车场可用一个二维数组实现),每辆车的信息包括车牌号,层号,车位号,停车时间共四项,其中停车时间按分钟计算:2)假设停车场初始状态为第一层空.第二层已经有四辆车,其车位号依次为第二层的1-4号,停车时间依次为20,15,10,5:3)停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号(分配前先

  • C语言实现停车场管理系统

    问题描述:停车场是一个能放n辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放.若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入.当停车场中的车离开时,由于通道窄,在它后面呢的车要先退出,待它走后再依次进入.汽车离开时按停放时间收费. 基本功能要求: (1)建立三个数据结构分别是:停放队列.让路栈.等候队列. (2)输入数据模拟管理过程,数据(入或出,车号). 停车管理系统是C语言中队列和栈比较简单的应用,需要注意的是停车队列.等候队列.让路栈结构体的构建.在写代码时,

  • C语言实现游戏VIP停车场管理系统

    在数据结构这部分学习结束后,写一个小项目,我想是对这部分知识一个很好的运用过程. 我在这介绍我写的一个项目,游戏停车场(这个版本只是初级版,可以在这之上继续添加很多其他功能,大家可以自己尝试). 功能要求如下: 程序如下: /*************************************************************************** 项目要求 游戏VIP停车场 问题描述:停车场是一个能放10辆车的车场(链表实现), 汽车按到达的先后次序停放 在等候区.若

  • C语言版停车位管理系统

    本文实例为大家分享了C语言实现停车位管理系统的具体代码,供大家参考,具体内容如下 简单功能介绍 1.录入车辆信息2.查找车辆信息3.删除车辆信息4.修改车辆信息5.查找区域车辆信息6.排序(按照车主姓名排序)7.展示所有车辆信息8.将录入的数据保存在文件中9.将文件中的数据读出 算法构造 链表的增删改查 结构体的定义 typedef struct Parking {     char name[20];        //车主姓名     char carname[10];     //车牌号

  • C语言版医院管理系统

    本文实例为大家分享了C语言实现医院管理系统的具体代码,供大家参考,具体内容如下 #include "stdio.h" #include "string.h" #include "stdlib.h" #include "malloc.h" #define NULL 0 typedef struct { int num; char name[10]; int age; char sex; }people; //一个患者的信息 ty

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言版学生成绩管理系统

    本文实例为大家分享了C语言版学生成绩管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<string.h> #include<algorithm> char buf[255]; char c=14; char path[]="D:\\data"; char tm

  • C语言版学生信息管理系统

    本文实例为大家分享了C语言版学生信息管理系统的具体代码,供大家参考,具体内容如下 一.题目分析 1.功能概述 1)查询学生信息 2)添加学生信息 3)修改学生信息 4)删除学生信息 5)刷新学生信息 6)保存学生信息 7)输出当前学生信息 2.题目要求: 1)使用结构体建立学生信息体制 2)实现七大基本功能 3)采用文件存储学生信息 二.算法构造 1.难点解析----对文件的操作 1.1文件读取 FILE * fp; if ((fp = fopen(filename, "r")) ==

  • C语言学生成绩管理系统课程设计word版

    一份C语言学生成绩管理系统设计报告,分享给大家 一.课程设计题目 <学生成绩管理系统设计> 二.实训目的 (1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法. (2)掌握C++的基本概念和基础知识. (3)通过训练能够读懂较为复杂的C++语言源程序并具备基本C++语言程序设计的能力. (4)通过实训,培养自己编写.调试.分析程序的能力. (5)培养自己独立解决问题,查找资料的能力.同学之间相互帮助,相互交流,相互合作的团队精神. (6) 培养自己良好的学习兴趣,独立的

  • C语言学生成绩管理系统小设计

    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • C语言实现图书管理系统

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

随机推荐