#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
typedef struct bike
{char name[20]; //用户的姓名char tele[12]; //用户的电话char sex[7];   //用户的性别int biknum;     //自行车编号struct bike *next;
} bikeinformation, *Link;
struct bike *pHead = NULL;
void swap_int();
void save1();
void key();  //账号密码管理;
void menu(); //登录界面;
Link cre();  //录入自行车的信息
Link mod();  //修改自行车的信息
void del();  //删除自行车的信息
void sea();  //查询自行车的信息
void pri();  //打印自行车的信息
void sor();  //排序自行车的信息
void ins();  //插入自行车的信息
void save(); //保存信息
void save2();
void swap_str();
int count = 0;
int icount = 0;
int main(void)
{system("title 计科2005 -JYS");menu(); //登陆界面return 0;
}
void key()
{ //创建密码char key[20], n[20], key1[20], kz[20], kz1[20];FILE *m;m = fopen("key.txt", "r");if (m == NULL){m = fopen("key.txt", "wt");printf("请创建账号:");scanf("%s", kz[20]);printf("请您创建管理密码:\n");scanf("%s", key);fprintf(m, "%s", key);printf("请再次确认密码:\n");scanf("%s", key1);if (strcmp(key1, key) == 0){printf("恭喜您创建成功!\n");getchar();printf("按任意键继续\n");getchar();return;}}else{fscanf(m, "%s", n);fclose(m);printf("请输入账号:");scanf("%s", kz1);printf("请输入管理密码:");//scanf("%s", key);int i=0;
while( i<9&&(key[i]=getch())&&key[i]!='\r'){if(key[i]=='\b'){//对密码进行掩饰printf("\b \b");i--;}else {printf("*");i++;}
}
key[i]=0;if (strcmp(n, key) == 0){printf("\n密码正确!\n");getchar();printf("按任意键继续");getchar();return;}else{printf("密码错误!\n");getchar();printf("按任意键继续");getchar();return;}}
}
void menu()
{//system("cls");key();int s = 1;while (s){printf("\t*****欢迎使用自行车管理系统*****\n");printf("\t-----请选择功能列表-----\n");printf("\t-输入1.[录入自行车的信息]\n");printf("\t*输入2.[修改自行车的信息]\n");printf("\t-输入3.[删除自行车的信息]\n");printf("\t*输入4.[查询自行车的信息]\n");printf("\t-输入5.[打印自行车的信息]\n");printf("\t*输入6.[自行车信息的排序]\n");printf("\t-输入7.[插入自行车的信息]\n");printf("\t*输入0.[退出界面退出界面]\n");scanf("%d", &s);switch (s){case 1:cre();break;case 2:mod();break;case 3:del();break;case 4:sea();break;case 5:pri();break;case 6:sor();break;case 7:ins();break;case 0:break;default:exit(1);break;}}
}
Link cre()
{struct bike *pEnd, *pNew;struct bike *p;pHead = pEnd = pNew = (struct bike *)malloc(sizeof(struct bike));pNew->next = NULL;pEnd->next = NULL;pHead->next = NULL;p->next = NULL;int f0 = 1, f1, f2;int n;printf("请输入存放自行车的信息,若退出请按0:\n");struct bike *pTemp;scanf("%d", &n);if (n == 0)return NULL;printf("请输入自行车的编号:");scanf("%d", &pNew->biknum);n = pNew->biknum;while (1){if (n == 0){f0 = 1;break;}else{pTemp = pHead;f1 = 1;if (f1 == 0){ //录入自行车的编号且编号不能重复。printf("1请重新输入,自行车编号%d存在,退出请按0.):\n", pNew->biknum);// printf("1输入自行车的编号");scanf("%d", &n);if (n)pNew->biknum = n;// printf("退出请按0");f0 = 1;}if (f1 == 1){f0 = 0;}}if (f0 != 1){printf("请输入姓名:");scanf("%s", pNew->name);while (1){printf("请输入性别(man/woman):");scanf("%s", pNew->sex);if (strcmp(pNew->sex, "man") == 0 || strcmp(pNew->sex, "woman") == 0)break;elseprintf("性别输入不规范请重新输入!");} //性别必须输入 man(男)woman(女);while (1){printf("请输入11位数的话号码(+86):"); //电话号码必须为11位,中国大陆+86;scanf("%s", pNew->tele);if (strlen(pNew->tele) == 11)break;elseprintf("必须输入11位数的电话号码:");}}save(pNew);icount++;return (pNew);free(pNew);}
}
Link mod()
{printf("*=*修改自行车的信息*=*\n");int n, f0 = 1, f1;int num;Link head = NULL, p = NULL, t = NULL;Link L, q;head = (bikeinformation *)malloc(sizeof(bikeinformation));head->next = NULL;t = head;FILE *fp = NULL;fp = fopen("D:/code.c/data.txt", "w");if (fp == NULL){printf("打开文件失败,按任意键退出");getch();return 0;}while (!feof(fp)){p = (bikeinformation *)malloc(sizeof(bikeinformation));fscanf(fp, "%s ", p->name);fscanf(fp, "%s ", p->sex);fscanf(fp, "%s ", p->tele);fscanf(fp, "%d ", &p->biknum);t->next = p;t = p;}t->next = NULL;fclose(fp);//for(p = head->next; p; p = p->next) puts(p->biknum);printf("请输入你要修改的自行车的编号pwq:\n");scanf("%d", &num);while (f0){for (p = head->next; p; p = p->next){if (p->biknum == num){printf("将要修改的编号%d具体的信息owo:\n", num);printf("poq:姓名:%s  性别:%s  电话:%s 自行车编号:%d \n", p->name, p->sex, p->tele, p->biknum);f0 = 0;}t = p;}if (!p)break;}if (f0 == 1)printf("您要修改的编号%d不存在yyy\n", num);else{printf("确认修改请按6,放弃修改请按1 ...\n");scanf("%d", &n);while (n == 6){printf("请选择 1.姓名、2.性别、3.电话号码、4.自行车的编码、5.修改全部\n");scanf("%d", &f1);if (f1 == 1){printf("输入新的姓名:");scanf("%s", t->name);printf("修改完成,请按回车键退出。\n");}else if (f1 == 2){printf("输入新的性别:\n");scanf("%s", t->sex);printf("修改完成,请按回车键推出。\n");}else if (f1 == 3){while (1){printf("输入新的电话:\n");scanf("%s", t->tele);if (strlen(t->tele) == 11){break;}elseprintf("输入的电话不规范,必须为11位数\n");}printf("修改完毕,按回车键退出\n");}else if (f1 == 4){printf("请输入新的编号wqw:\n");scanf("%d", &t->biknum);printf("修改完成,按回车键退出\n");}else if (f1 == 5){printf("输入新的姓名:\n");scanf("%s", t->name);while (1){printf("输入新的性别:\n");scanf("%s", t->sex);if (strcmp(t->sex, "man") == 0 || strcmp(t->sex, "woman") == 0)break;elseprintf("性别输入不规范请重新输入!");}while (1){printf("输入新的电话:\n");scanf("%s", t->tele);if (strlen(t->tele) == 11)break;elseprintf("输入的电话不规范,必须为11位数\n");}printf("请输入新的编号wqw:\n");scanf("%d", &t->biknum);}break;}printf("修改成功,按回车键退出\n");getch();}save2(head);
}
void del()
{printf("***删除自行车的信息qwq\n");int i = 0;int f0 = 1;int num;char name[20];Link head = NULL, p = NULL, t = NULL;Link L, q;head = (bikeinformation *)malloc(sizeof(bikeinformation));head->next = NULL;t = head;FILE *fp = NULL;fp = fopen("D:/code.c/data.txt", "r");if (fp == NULL){printf("打开文件失败,按任意键退出");getch();return;}while (!feof(fp)){p = (bikeinformation *)malloc(sizeof(bikeinformation));fscanf(fp, "%s ", p->name);fscanf(fp, "%s ", p->sex);fscanf(fp, "%s ", p->tele);fscanf(fp, "%d ", &p->biknum);t->next = p;t = p;}t->next = NULL;fclose(fp);int s = 1;while (s){printf("按自行车编号删除请按1\n");printf("退出请按0\n");printf("做出你的选择:");scanf("%d", &s);if (s == 0)return;else if (s == 1)break;elseprintf("输入1或者0:\n");}if (s == 1){int num;int i, f0 = 1;int opt;int dex = 0;printf("请输入需要删除的自行车编号:");scanf("%d", &num);for (q = head->next, L = head; q; q = q->next, L = L->next){if (q->biknum==num){printf("编号为%d的车子找到了,具体信息如下:\n", num);printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", q->name, q->sex, q->tele, q->biknum);f0 = 0;printf("确认删除请输1,否则按任意数字键退出\n");scanf("%d", &opt);break;}}if (f0 == 1){printf("+-+编号%d不存在的-+-\n", num);return;}if (opt == 1){L->next = q->next;free(q);printf("操作成功按回车键退出poq:");getch();}elseprintf("删除失败按任意键退出");}save1(head);getch();
}void sea()
{printf("*-*查询关于自行车的信息*-*\n");int i = 0;int f0 = 1;Link head = NULL, p = NULL, t = NULL;Link L, q;head = (bikeinformation *)malloc(sizeof(bikeinformation));head->next = NULL;t = head;FILE *fp = NULL;fp = fopen("D:/code.c/data.txt", "r");if (fp == NULL){printf("打开文件失败,按任意键退出");getch();return;}while (!feof(fp)){p = (bikeinformation *)malloc(sizeof(bikeinformation));//连续申请内存空间fscanf(fp, "%s ", p->name);fscanf(fp, "%s ", p->sex);fscanf(fp, "%s ", p->tele);fscanf(fp, "%d ", &p->biknum);t->next = p;t = p;}t->next = NULL;fclose(fp);int s = 1;while (s){printf("按 姓名 查询 请按1\n");printf("按自行车编号查询请按2\n");printf("想退出请按0\n");printf("你的选择是:");scanf("%d", &s);int num;char name[20];if (s == 1){printf("请输入你要查找的用户姓名:\n");scanf("%s", name);for (p = head->next; p; p = p->next){if (strcmp(p->name, name) == 0){printf("找到了。具体信息如下:\n");printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);f0 = 0;}}if (f0 == 1){printf("姓名%s不存在\n", name);}printf("按回车键返回上一级\n");getch();}if (s == 2){printf("请输入你要查找的自行车编号:\n");scanf("%d", &num);for (p = head->next; p; p = p->next){if (p->biknum==num){printf("编号为%d的车子找到了,具体信息如下:\n", num);printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);f0 = 0;}}if (f0 == 1){printf("编号%s不存在\n", num);}printf("按回车键返回上一级\n");getch();}}
}void pri()
{printf("**打印自行车的信息**\n");printf("*本名单中自行车信息,如下:\n");int i = 0;Link head = NULL, p = NULL, t = NULL;Link L, q;head = (bikeinformation *)malloc(sizeof(bikeinformation));head->next = NULL;t = head;FILE *fp = NULL;fp = fopen("D:/code.c/data.txt", "r");if (fp == NULL){printf("打开文件失败,按任意键退出");getch();return;}while (!feof(fp)){p = (bikeinformation *)malloc(sizeof(bikeinformation));fscanf(fp, "%s ", p->name);fscanf(fp, "%s ", p->sex);fscanf(fp, "%s ", p->tele);fscanf(fp, "%d ", &p->biknum);t->next = p;t = p;}t->next = NULL;fclose(fp);for (p = head->next; p; p = p->next){printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);}printf("*按回车键返回上一级pwq*\n");getch();
}void sor()
{int s;printf("\tqwq 给自行车的信息排序 ewe\n");struct bike *pStra, *pMidd, *pTemp;Link head = NULL, p = NULL, t = NULL;Link L, q;head = (bikeinformation *)malloc(sizeof(bikeinformation));head->next = NULL;t = head;FILE *fp = NULL;fp = fopen("D:/code.c/data.txt", "r");if (fp == NULL){printf("打开文件失败,按任意键退出");getch();return;}while (!feof(fp)){p = (bikeinformation *)malloc(sizeof(bikeinformation));fscanf(fp, "%s ", p->name);fscanf(fp, "%s ", p->sex);fscanf(fp, "%s ", p->tele);fscanf(fp, "%d ", &p->biknum);t->next = p;t = p;}t->next = NULL;fclose(fp);printf("\t**-** 选择怎样排序 --*--\n");printf("\t 输入1:按自行车编号升序排序\n");printf("\t 输入2:按自行车编号降序排序\n");printf("\t 输入3:按用户姓名升序排序\n");printf("\t 输入4:按用户姓名降序排序\n");printf("\t 输入0:退出页面\n");printf("\t是时候做出你的选择了!\n");scanf("%d", &s);if (s == 1){for (p = head->next; p->next; p = p->next){for (t = p->next; t; t = t->next){if (p->biknum>t->biknum){swap_int(&p->biknum, &t->biknum);swap_str(p->name, t->name);swap_str(p->sex, t->sex);swap_str(p->tele, t->tele);}}}for (p = head->next; p; p = p->next){printf("排序好了信息如下:\n");printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);}}if (s == 2){for (p = head->next; p->next; p = p->next){for (t = p->next; t; t = t->next){if (p->biknum < t->biknum){swap_int(&p->biknum, &t->biknum);swap_str(p->name, t->name);swap_str(p->sex, t->sex);swap_str(p->tele, t->tele);}}}for (p = head->next; p; p = p->next){printf("排序好了信息如下:\n");printf("姓名:%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);}}if (s == 3){for (p = head->next; p->next; p = p->next){for (t = p->next; t; t = t->next){if (strcmp(p->name, t->name) < 0){swap_str(p->name, t->name);swap_int(&p->biknum, &t->biknum);swap_str(p->name, t->name);swap_str(p->sex, t->sex);swap_str(p->tele, t->tele);}}}for (p = head->next; p; p = p->next){printf("排序好了信息如下:\n");printf("姓名%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);}}if (s == 4){for (p = head->next; p->next; p = p->next){for (t = p->next; t; t = t->next){if (strcmp(p->name, t->name) > 0){swap_int(&p->biknum, &t->biknum);swap_str(p->name, t->name);swap_str(p->sex, t->sex);swap_str(p->tele, t->tele);}}}for (p = head->next; p; p = p->next){printf("排序好了信息如下:\n");printf("姓名%s 性别:%s 电话:%s 编号:%d\n", p->name, p->sex, p->tele, p->biknum);}}if (s == 0){return;}
}void ins()
{printf("owo 插入自行车的信息 yoy\n");cre();printf("ToT 插入信息成功,按回车键回到上一级哦ioi\n");getch();
}void swap_int(int *a, int *b)
{int c;c = *a;*a = *b;*b = c;
}
void swap_str(char *str, char *str1)
{char str2[20];strcpy(str2, str1);strcpy(str1, str);strcpy(str, str2);
}void save1(Link pHead)
{Link r;FILE *fp;fp = fopen("d:\\code.c\\data.txt", "wt");for (r = pHead->next; r; r = r->next){fprintf(fp, "%s %s %s %d\n", r->name, r->sex, r->tele, r->biknum);}printf("保存成功AoA");fclose(fp);
}void save(Link pHead)
{Link r;FILE *fp;fp = fopen("d:\\code.c\\data.txt", "a");//打开文件for (r = pHead; r; r = r->next)//运用循环保存信息{fprintf(fp, "%s %s %s %d\n", r->name, r->sex, r->tele, r->biknum);printf("保存成功AoA");}fclose(fp);//关闭文件
}void save2(Link pHead)
{Link r;FILE *fp;fp = fopen("d:\\code.c\\data.txt", "w");for (r = pHead->next; r; r = r->next){fprintf(fp, "%s %s %s %d\n", r->name, r->sex, r->tele, r->biknum);printf("保存成功AoA");}fclose(fp);
}

C语言课程设计 自行车管理系统相关推荐

  1. 销售管理c语言程序设计,C语言课程设计销售管理系统

    C语言课程设计销售管理系统 C语言课程设计 题 目 商品销售系统 指导教师 曹东燕 学生姓名 刘伟 张新星 马国文 学 号 200900804072 200901802005 200900804051 ...

  2. 网吧管理系统C语言作业,C语言课程设计-网吧管理系统.doc

    C语言课程设计-网吧管理系统 <通信工程专业C语言课程设计> 报 告 专 业: 通信工程 班 级: 0802 姓 名: 赵 松 指导教师: 丁 雄 二00九 年 十二 月 二十五 日 目 ...

  3. c语言程序设计书店销售管理系统,C语言课程设计-书店管理系统

    <C语言课程设计-书店管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计-书店管理系统(25页珍藏版)>请在人人文库网上搜索. 1.计算机程序设计计算机程序设计(C(C ...

  4. c语言课程设计人事管理,C语言课程设计-人事管理系统(65页).doc

    C语言课程设计-人事管理系统(65页) C语言课程设计 --人事管理系统 来自资料搜索网() 海量资料下载 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员.教师.一般员工).退休人员 ...

  5. c语言编程票务系统,C语言课程设计票务管理系统

    C语言课程设计票务管理系统 C语言课程设计1西安交通大学城市学院C语言程序设计课程设计报告题目图书信息管理系统专业自动化班级自动化101姓名陈蕾完成日期2012年5月31日C语言课程设计2目录第一章项 ...

  6. c语言课程设计图书管理系统

    数据结构c语言课程设计 图书管理系统 我做的是百度文库的第28题,目前没有报错,正常运行,但是还有一点小bug.代码很多地方写的不是很好,请多多包涵. 账号1,密码1,为管理员账号:其他账号2,3,4 ...

  7. c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc

    C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...

  8. c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf

    c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...

  9. c语言课程设计订单管理系统,C语言课程设计订单管理系统讲解.doc

    C语言课程设计订单管理系统讲解 C语言课程设计 随米打印订单管理系统 学 院: 计算机与信息科学学院 学生姓名: 谢润发 指导教师: 王新祥 职称 教授 专 业: 网络工程 班 级: 1501 完成时 ...

最新文章

  1. Week 3 Quiz - Shallow Neural Networks
  2. Vue简单用法目录总结 以及 前端基础总结传送门:
  3. 算法分析的目的_掌握这些数学函数,你会在算法效率的分析时经常用到
  4. 人工智能:第二章 知识表示方法
  5. kafka jar包_和同事交流不会kafka怎么行,API奉上,不是大神也能编
  6. python劣势_Ruby对比Python的优势和劣势
  7. 锋利Jquery 第一天
  8. Netty原理:Channel
  9. android ppt 自动播放视频,ppt如何循环播放,ppt如何添加视频设置自动播放(ppt转换成视频)...
  10. 消息系统——极光推送http://docs.jiguang.cn/
  11. 分布式之线上监控工具CAT
  12. linux awk 排序,利用Shell中awk和sort命令合并同类数据后并依据某一列进行排序
  13. Win7系统服务优化攻略
  14. 超级计算机的等级,亿亿次级别运算曙光初现-超级计算机,千万亿次,TeraScale,万万亿次,ExaScale ——快科技(驱动之家旗下媒体)--科技改变未来...
  15. 【VBA研究】VBA编程产生不重复随机数
  16. springboot+vue+java廉租房屋维修申请系统
  17. 【前端面试】小鹅通面试记录
  18. Pandas 透视表功能及透视数据筛选提取(透视)
  19. Java8 lambda表达式
  20. Goby 漏洞更新 | 铭飞 CMS list 接口 sqlWhere 参数 sql 注入漏洞

热门文章

  1. 学习笔记(1):思科CCNA视频课程:晁老师CCNA课堂举例-经典语录精选-CCNA视频:OSPF数据包的类型...
  2. 原叶手做茶饮实验室属于什么类型的茶饮呢?
  3. 前端实现图片悬浮_css-transition和transform实现图片悬浮移动动画
  4. 【运维心得】Mysql8白名单设置
  5. LeetCode 189.轮转数组 (双指针)
  6. 基于Android的手机通讯录设计
  7. Maven-什么是Maven
  8. gdt描述_GDT描述符表
  9. 一、linux驱动开发-8.2-设备树下platform驱动
  10. 硅谷专属十年挑战:平静的巨变