c/c++语言开发共享C语言实现自行车存放管理系统

本文实例为大家分享了c语言实现自行车存放管理系统的具体代码,供大家参考,具体内容如下系统包括以下内容1.数据录入:录入系统基本数据,用数组或链表组织;2.数据存储:用文件的形式将录入的数据存储;3.数

c/c++开发分享C语言实现自行车存放管理系统实例为大家分享了c语言实现自行车存放管理系统的具体代码,供大家参考,具体内容如下

系统包括以下内容

1.数据录入:录入系统基本数据,用数组或链表组织;

2.数据存储:用文件的形式将录入的数据存储; 

3.数据读写:对文件中的数据可以进行读写操作;

4.数据修改:可以对已存在的旧数据进行修改操作;

5.数据插入:可以将新数据插入到任意指定的位置;

6.数据删除:可以对已存在的旧数据进行删除操作;

7.数据查询:按要求对数据进行查询,至少含两项
                   简单查询以及一项组合查询;

8.数据统计:按要求对数据进行统计
                    含简单统计及综合统计;

9.数据排序:按要求对数据进行排序
                    含升序排序及降序排序;

10.数据报表:按要求对数据打印报表,
                     依规定的报表格式对数据打印报表;

11.界面:设计总体菜单界面。

附加项目:

登录、注册部分;
(密码设置密码的隐式输出、简单的加密解密)

附代码:

#include<stdio.h>  #include<stdlib.h>  #include<conio.h>  #include<string.h>     struct bicycle{      char tele_num[12];//用户的电话号码       char name[13];//用户的姓名      char sex[7];//用户的性别       char bic_num[12];//自行车的编号       struct bicycle *next;  };        int icount=0;  struct bicycle *phead=null;     void key();   void menu();  void create();  void print();   void insert();  void search();  void dele();  void modify();  void excheng(struct bicycle *pstra,struct bicycle *midd);   void sort();      int main(){                  menu();      printf("123");            return 0;  }     //密码管理页面   void key(){         char key[20],m[20];      file *k;      k=fopen("key.txt","r");      if(k==null)      {   k=fopen("key.txt","wt");          printf("请创建管理密码:n");          scanf("%s",key);          fprintf(k,"%s",key);          fclose(k);          printf("恭喜您创建成功!n");          getchar();          printf("按任意键继续...");          getchar();          return ;      }       else       {  fscanf(k,"%s",m);       fclose(k);          printf("请输入管理密码:");          scanf("%s",key);          if(strcmp(m,key)==0)          {           printf("密码正确!n");          getchar();          printf("按任意键继续...");          getchar();          return ;          }          else          {              printf("密码错误!n");          getchar();          printf("按任意键继续...");          getchar();          return ;          }       }  }     //显示景点的信息   void menu(){      key();       int select=-1;         while(select!=0){        system("cls");       printf("nnttttttt==============欢迎使用自行车管理系统==============n");      printf("tttttttt=======请选择功能列表=======n");      printf("tttttttt1.录入自行车的信息lv5n");      printf("tttttttt2.修改自行车的信息lv5n");      printf("tttttttt3.删除自行车的信息lv5n");      printf("tttttttt4.查询自行车的信息lv5n");       printf("tttttttt5.打印自行车的信息lv5n");      printf("tttttttt6.自行车信息的排序lv5n");      printf("tttttttt7.插入自行车的信息lv5n");        printf("tttttttt0.退   出   菜  单lv5n");      printf("n请选择:");      scanf("%d",&select);      switch(select){        case 1:            create();             break;         case 2:            modify();            break;        case 3:        dele();           break;        case 4:            search();           break;            case 5:            print();           break;          case 6:            sort();           break;          case 7:            insert();           break;          case 0:break;        default:          exit(1);          break;      }    }                  }      //创建链表函数  void create(){      //页面优化      system("cls");            struct bicycle *pend,*pnew;      struct bicycle *p;      pend=pnew=(struct bicycle *)malloc(sizeof(struct bicycle));         printf("请输入存放自行车的信息(退出请按0):n");         //录入自行车编号,编号不可以重复      int flag1=1,flag2,n;       struct bicycle *ptemp;      printf("n自行车的编号(退出请按0):");      scanf("%s",pnew->bic_num);            while(flag1){          if(strcmp(pnew->bic_num,"0")==0)  {              flag1=1;              break;          }             else{              ptemp=phead;              n=icount;              flag2=1;                 while(n&&flag2){                 if(strcmp(ptemp->bic_num,pnew->bic_num)==0)  flag2=0;                 ptemp=ptemp->next;                 n=n-1;              }                                if(flag2==0){                   printf("请重新输入,自行车编号%s存在!(退出请按0):n",pnew->bic_num);                  printf("自行车的编号:");                   scanf("%s",pnew->bic_num);                   flag1=1;              }                 if(flag2==1) flag1=0;          }      }            //录入其他信息,如果flag1=0,则表明要退出,那么其他信息不用再录      if(flag1!=1){              printf("姓名:");          scanf("%s",pnew->name);                    //性别只能输入female或male,否则是不规范的          while(1){            printf("性别(female或male):");            scanf("%s",pnew->sex);            if(strcmp(pnew->sex,"female")==0||strcmp(pnew->sex,"male")==0) break;            else printf("性别输入不规范,请核对后重输!n");          }                    //电话必须11位数,否则是不规范的          while(1){            printf("电话(11位数):");            scanf("%s",pnew->tele_num);            if(strlen(pnew->tele_num)==11) break;            else printf("电话输入不规范,必须11位数!n");          }                }                                                                    while(strcmp(pnew->bic_num,"0")!=0)      {          icount++;                    if(phead==null){               pnew->next=null;               pend=pnew;               phead=pnew;              }                   else{                         p=phead;                 while(p&&p->next!=null) p=p->next;          {            p->next=pnew;            pnew->next=null;          }          }        pnew=(struct bicycle *)malloc(sizeof(struct bicycle));              printf("n自行车的编号(退出请按0):");                        scanf("%s",pnew->bic_num);        flag1=1;//每次循环结束flag1=1退出;flag1=0则继续,所以要值0        while(flag1){                      if(strcmp(pnew->bic_num,"0")==0){              flag1=1;              break;          }             else{              ptemp=phead;              n=icount;              flag2=1;                 while(n&&flag2){                 if(strcmp(ptemp->bic_num,pnew->bic_num)==0)  flag2=0;                 ptemp=ptemp->next;                 n=n-1;              }                                if(flag2==0) {                   printf("请重新输入,自行车的编号%s存在!(退出请按0):n",pnew->bic_num);                  printf("自行车的编号:");                   scanf("%s",pnew->bic_num);                   flag1=1;              }                 if(flag2==1) flag1=0;          }      }            //录入其他信息,如果flag1=0,则表明要退出,那么其他信息不用再录      if(flag1!=1){              printf("姓名:");          scanf("%s",pnew->name);                    //性别只能输入female或male,否则是不规范的          while(1){            printf("性别(female或male):");            scanf("%s",pnew->sex);            if(strcmp(pnew->sex,"female")==0||strcmp(pnew->sex,"male")==0) break;            else printf("性别输入不规范,请核对后重输!n");          }                    //电话必须11位数,否则是不规范的          while(1){            printf("电话(11位数):");            scanf("%s",pnew->tele_num);            if(strlen(pnew->tele_num)==11) break;            else printf("电话输入不规范,必须11位数!n");          }                }                                          //22                }         free(pnew);  }     //输出链表自行车的信息  void print(){            //页面优化      system("cls");      printf("nntttt===================5.打印自行车的信息===================n");          struct bicycle *ptemp;      int iindex=1;            printf("**********本名单中共有%d个自行车信息,所有的信息如下:**********n",icount);      printf("序号 姓名  性别  电话 自行车编号 n");      ptemp=phead;         while(ptemp!=null){          printf("%d  %s  %s  %s  %sn",iindex,ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);          ptemp=ptemp->next;          iindex++;      }      printf("按任意键返回上一级");      getch();  }     //插入自行车的信息  void insert(){      //页面优化      system("cls");      printf("nntttt===================7.插入自行车的信息===================n");       printf("#n说明:插入任意位置都可以n#");      create();     printf("插入信息成功,");      printf("按任意键返回上一级");      getch();  }      //信息查询函数  void search(){       //页面优化            printf("nntttt===================4.查询自行车的信息===================");          int select=-1;      while(select!=0){         system("cls");         printf("ntt=======请选择功能列表=======n");         printf("ttt1.按自行车的编号查询(lv4)n");         printf("ttt2.按   姓  名  查 询 (lv1)n");         printf("ttt0.退出此页面(lv4)n");             printf("请选择:");         scanf("%d",&select);                        int flag=1,flag1=1;         char number[12];         char name[12];         struct bicycle *ptemp=phead;            //按自行车的编号查询         if(select==1){                      printf("请输入你要查找的自行车编号:");         scanf("%s",number);             while(ptemp!=null&&flag)             {               if(strcmp(ptemp->bic_num,number)==0)               {                   printf("%s找到了,具体信息如下:nn",number);                                    printf("t姓名  性别  电话 自行车编号 n");                  printf("t%s  %s  %s  %sn",ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);                   printf("n");                   flag=0;                }               ptemp=ptemp->next;             }         if(flag==1)  printf("编号%s不存在!n",number);         }            //按姓名查询         if(select==2){         printf("请输入你要查找的姓名:");         scanf("%s",name);             while(ptemp!=null&&flag)             {               if(strcmp(ptemp->name,name)==0)                {                    printf("%s找到了,具体信息如下n",name);                       printf("t姓名  性别  电话 自行车编号 n");                  printf("t%s  %s  %s  %sn",ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);                   printf("n");                   flag=0;                 }               ptemp=ptemp->next;             }         if(flag==1)  printf("姓名%s不存在!",name);         }      printf("按任意键返回上一级");      getch();      }  }     //删除信息函数  void dele(){      //页面优化      system("cls");      printf("nntttt===================3.删除自行车的信息(按编号)===================");          int select=-1;       while(select!=0){                  printf("ntt=======请选择功能列表=======n");         printf("ttt1.按自行车的编号删除(lv4)n");         printf("ttt2.按   姓  名  删 除 (lv1)n");         printf("ttt0.退出此页面(lv4)n");             printf("请选择:");         scanf("%d",&select);            if(select==0) return;      else if(select==1||select==2) break;      else printf("输入有误请重新输入n");  }     if(select==1){                    if(icount==0)  printf("nn暂无数据无法进行此操作,按任意键退出!n");          else          {                                                              //33                char number[12];          int  i,flag=1;          char option;          struct bicycle *ptemp;          struct bicycle *ppre;          ptemp=phead;                int iindex=0;          printf("n请输入要删除自行车的编号:");          scanf("%s",number);                while(ptemp!=null&&flag){              if(strcmp(ptemp->bic_num,number)==0){                  printf("n%s找到了,将要删除的信息如下nn",number);                  //显示将要删除人的信息                   printf("t姓名  性别  电话 自行车编号 n");                  printf("t%s  %s  %s  %sn",ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);                   printf("n");                       flag=0;                                          printf("确认删除请输1,否则按任意数字键退出n");                  scanf("%d",&option);              }                          ptemp=ptemp->next;              iindex++;          }          if(flag==1)  {printf("编号%s不存在!",number);  return;}                               if(option==1){              ptemp=phead;              ppre=ptemp;//可能多余              //printf("----------删除第%d个学生----------n",iindex);                   if(iindex!=1)             {                 for(i=1;i<iindex;i++)                 {                 ppre=ptemp;                 ptemp=ptemp->next;                 }                        ppre->next=ptemp->next;                   }                        if(iindex==1)    phead=ptemp->next;            free(ptemp);            icount--;            printf("删除成功按任意键退出!");          }         else  printf("删除失败按任意键退出!");          }                                                               //33                    getch();            }  else{                  if(icount==0)  printf("nn暂无数据无法进行此操作,按任意键退出!n");      else      {                                                              //33         char name[12];      int  i,flag=1;      char option;      struct bicycle *ptemp;      struct bicycle *ppre;      ptemp=phead;         int iindex=0;      printf("n请输入要删除自行车对应户主的姓名:");      scanf("%s",name);         while(ptemp!=null&&flag){          if(strcmp(ptemp->name,name)==0){              printf("n%s找到了,将要删除的信息如下nn",name);              //显示将要删除人的信息               printf("t姓名  性别  电话 自行车编号 n");              printf("t%s  %s  %s  %sn",ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);               printf("n");                   flag=0;                                  printf("确认删除请输1,否则按任意数字键退出n");              scanf("%d",&option);          }                ptemp=ptemp->next;          iindex++;      }      if(flag==1)  {printf("姓名%s不存在!",name);  return;}                  if(option==1){          ptemp=phead;          ppre=ptemp;//可能多余          //printf("----------删除第%d个学生----------n",iindex);            if(iindex!=1)         {             for(i=1;i<iindex;i++)             {             ppre=ptemp;             ptemp=ptemp->next;             }                 ppre->next=ptemp->next;            }              if(iindex==1)    phead=ptemp->next;        free(ptemp);        icount--;        printf("删除成功按任意键退出!");      }     else  printf("删除失败按任意键退出!");      }                                                               //33            getch();  }     }     //2.修改自行车的信息  void modify(){            //页面优化      system("cls");      printf("nntttt===================2.修改自行车的信息===================");          int post;      int flag=1,flag1;      char number[12];      struct bicycle *ptemp=phead,*ppre=ptemp;            printf("n请输入你要修改自行车信息对应自行车的编号:");      scanf("%s",number);            while(ptemp!=null&&flag)      {             if(strcmp(ptemp->bic_num,number)==0)           {              printf("将要修改的学号%s具体信息如下n",number);                printf("t姓名  性别  电话 自行车编号 n");              printf("t%s  %s  %s  %sn",ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);               printf("n");               flag=0;           }          ppre=ptemp;//保存ptemp          ptemp=ptemp->next;      }            if(flag==1)  printf("你要修改的学号%s不存在!",number);      else       {          printf("确认修改请按1,放弃请按任意数字键!n请选择:");          scanf("%d",&post);                    while(post==1)          {              printf("请选择你要修改的项目(1.姓名 2.性别 3.电话号码 4.自行车的编号 5.修改全部)n");              scanf("%d",&flag1);                if(flag1==1)             {                 printf("新姓名:");                 scanf("%s",ppre->name);                 printf("修改完成,按任意键退出!");             }                else if(flag1==2)             {                 printf("新性别:");                 scanf("%s",ppre->sex);                 printf("修改完成,按任意键退出!");             }                else if(flag1==3)             {                                 while(1){                printf("电话(11位数):");                scanf("%s",ppre->tele_num);                if(strlen(ppre->tele_num)==11) break;                else printf("电话输入不规范,必须11位数!n");                  }                                       printf("修改完成,按任意键退出!");             }                else if(flag1==4)             {                 printf("新编号:");                 scanf("%d",&ppre->bic_num);                 printf("修改完成,按任意键退出!");             }                 else{                                   printf("新姓名:");                 scanf("%s",ppre->name);                                 printf("新性别:");                 scanf("%s",ppre->sex);                                 while(1){                printf("电话(11位数):");                scanf("%s",ppre->tele_num);                if(strlen(ppre->tele_num)==11) break;                else printf("电话输入不规范,必须11位数!n");              }                                       printf("新编号:");                 scanf("%s",ppre->bic_num);                            }              break;              }                  }         printf("修改完成,按任意键退出");       getch();     }     //交换函数  void excheng(struct bicycle *pstra,struct bicycle *pmidd){      int t;      struct bicycle *ptemp;      ptemp=(struct bicycle *)malloc(sizeof(struct bicycle));         strcpy(ptemp->tele_num,pstra->tele_num);      strcpy(pstra->tele_num,pmidd->tele_num);      strcpy(pmidd->tele_num,ptemp->tele_num);         strcpy(ptemp->bic_num,pstra->bic_num);      strcpy(pstra->bic_num,pmidd->bic_num);      strcpy(pmidd->bic_num,ptemp->bic_num);            strcpy(ptemp->name,pstra->name);      strcpy(pstra->name,pmidd->name);      strcpy(pmidd->name,ptemp->name);         strcpy(ptemp->sex,pstra->sex);      strcpy(pstra->sex,pmidd->sex);      strcpy(pmidd->sex,ptemp->sex);         free(ptemp);     }     //6.自行车信息的排序  void sort(){            //页面优化      printf("nntt===================4.排序系统===================");          int i,j;      struct bicycle *pstra,*pmidd;         int result;      int select=-1;      while(select!=0)      {         system("cls");         printf("nttt=======请选择功能列表=======n");         printf("ttt1.按自行车编号升序排序(lv4)n");         printf("ttt2.按自行车编号降序排序(lv1)n");         printf("ttt3.按姓名升序排序(lv4)n");         printf("ttt4.按姓名降序排序(lv1)n");         printf("ttt0.退出此页面(lv4)n");             printf("请选择:");         scanf("%d",&select);             result=select;          if(select!=1&&select!=2&&select!=3&&select!=4) return;                   pstra=phead;      pmidd=pstra->next;                   for(i=0;i<icount;i++)       {          pstra=phead;          pmidd=pstra->next;               for(j=0;j<icount-i-1&&pmidd!=null;j++)            {                if(result==1)  {if(strcmp(pstra->bic_num,pmidd->bic_num)>0)           excheng(pstra,pmidd);}                else if(result==2)  {if(strcmp(pstra->bic_num,pmidd->bic_num)<0)      excheng(pstra,pmidd);}                else if(result==3)  {if(strcmp(pstra->name,pmidd->name)>0)    excheng(pstra,pmidd);}                else if(result==4)  {if(strcmp(pstra->name,pmidd->name)<0)    excheng(pstra,pmidd);}              pstra=pmidd;              pmidd=pmidd->next;            }                                      }         printf("ttt5.显示排完序后的结果为:nn");   printf("------------------------------------------------------");       struct bicycle *ptemp;      int iindex=1;            printf("**********本名单中共有%d个自行车信息,所有的信息如下:**********n",icount);      printf("序号 姓名  性别  电话 自行车编号 n");      ptemp=phead;         while(ptemp!=null){          printf("%d  %s  %s  %s  %sn",iindex,ptemp->name,ptemp->sex,ptemp->tele_num,ptemp->bic_num);          ptemp=ptemp->next;          iindex++;      }      printf("------------------------------------------------------");         printf("nn排序成功,按任意键返回!");         getch();  }     }

以上就是c/c++开发分享C语言实现自行车存放管理系统的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

需要了解更多c/c++开发分享C语言实现自行车存放管理系统,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1236850.html

(0)
上一篇 2022年9月7日
下一篇 2022年9月7日

精彩推荐