C语言课程设计:连锁超市会员消费记录管理系统
3天时间做的,全部都是自己敲的代码
博客原文链接
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Data {//卡号、姓名、时间、消费额、消费地点、消费类型//增、删、改、浏览、查询、搜索char id[50];char name[50];char date[50];char consumption[50];char where[50];char category[50];
};
void view();
void del(int n);
void change(int n);
void add();
void find();
int login();
int main() {int y;for (y = 0; y < 99999; y++) {if (login() == 1) {system("cls");break;}system("cls");printf("\033[41;37m***************登录错误:账号或者密码错误,请重试************************\n\n\n\033[0m");}for (y = 0; y < 9999; y++) {//开始界面printf(" ┌------连锁超市会员消费记录管理系统-----┐\n");printf(" | |\n");printf(" | ①浏览 |\n");printf(" | ②添加 |\n");printf(" | ③更改 |\n");printf(" | ④删除 |\n");printf(" | ⑤搜索 |\n");printf(" | ⑥退出 |\n");printf(" | |\n");printf(" └-------------------------------------┘\n");printf("*********************************************************\n");printf(" ######请输入数字进行相应的操作#######\n");//接受输入数字进行处理int number;printf(" 请输入:");scanf("%d", &number);system("cls");if (number == 6) {break;}//预处理信息//int hao;switch (number){case 1://浏览view();break;case 2://添加add();break;case 3://更改view();printf("\n请选择你要更改数据的序号:");scanf("%d", &hao);change(hao);break;case 4://删除view();printf("\n请选择你要删除数据的序号:");scanf("%d", &hao);del(hao);break;case 5://搜索find();break;case 6:break;}system("pause");system("cls");}return 0;
}void view() {char a[1000];FILE* file = fopen("infor.txt", "a+");printf("\n序号 卡号 姓名 时间 消费额 消费地点 消费类型\n");printf("---------------------------------------------\n");/*while ((ch = getc(file)) != EOF) {putchar(ch);}*/int i;for (i = 1; i < 666; i++) {if (fgets(a, 100, file) != NULL) {printf(" %d %s", i, a);}else {break;}}fclose(file);
}
void add() {struct Data temp;FILE* file = fopen("infor.txt", "a+");printf("请依次输入:\n卡号 姓名 时间 消费额 消费地点 消费类型\n");printf("---------------------------------------------\n");scanf("%s %s %s %s %s %s", &temp.id, &temp.name, &temp.date, &temp.consumption, &temp.where, &temp.category);fprintf(file, "%s %s %s %s %s %s\n", temp.id, temp.name, temp.date, temp.consumption, temp.where, temp.category);printf("\033[41;37m添加成功\n\033[0m");fclose(file);
}void change(int n) {char a[50];int i;FILE* file = fopen("infor.txt", "a+");for (i = 1; i < 666; i++) {if (fgets(a, 100, file) != NULL) {if (i == n) {break;}}}fclose(file);//对字符串进行处理,切割字符串char str[99][99];char* temp = strtok(a, " ");while (temp) {//printf("%s\n", temp);strcpy(str[i], temp);//后面的是要拷贝的内容i++;temp = strtok(NULL, " ");}system("cls");printf("您选择的项是:\n");printf("序号 卡号 姓名 时间 消费额 消费地点 消费类型\n");printf("--------------------------------------------\n");for (i = 0; i < 6; i++) {printf("%s ", str[i]);}printf("\n请问您要更改什么值?\n");printf("--------------------------------------------------------\n");printf("1.卡号 2.姓名 3.时间 4.消费额 5.消费地点 6.消费类型\n--------------------------------------------------------\n请选择序号:");int num;char new_str[100];scanf("%d", &num);printf("请输入新的值:");scanf("%s", &new_str);switch (num){case 1:strcpy(str[0], new_str);break;case 2:strcpy(str[1], new_str);break;case 3:strcpy(str[2], new_str);break;case 4:strcpy(str[3], new_str);break;case 5:strcpy(str[4], new_str);break;case 6:strcpy(str[5], new_str);break;}del(n);FILE* new_file = fopen("infor.txt", "a+");for (i = 0; i < 6; i++) {fprintf(new_file, "%s", str[i]);if (i != 6) {fprintf(new_file, " ");}}fclose(new_file);}void del(int n) {char a[50][50];int x = 0, i;FILE* file = fopen("infor.txt", "r+");for (i = 1; i < 666; i++) {if (fgets(a[x], 100, file) != NULL) {if (i != n) {x++;}}else {break;}}fclose(file);FILE* file_temp = fopen("infor.txt", "w");fprintf(file_temp, "");fclose(file_temp);FILE* temp = fopen("infor.txt", "a+");for (i = 0; i < x; i++) {fprintf(temp, "%s", a[i]);}printf("\033[41;37m************操作成功************\n\n\033[0m");fclose(temp);
}void find() {printf("请输入关键词:");char ss[100];char ch;int i = 0;char* ret;scanf("%s", &ss);char a[50];int s = 0;FILE* file = fopen("infor.txt", "r+");printf("\n搜索结果: \n");printf("\n卡号 姓名 时间 消费额 消费地点 消费类型\n");printf("--------------------------------------------\n");for (i = 1; i < 666; i++) {if (fgets(a, 100, file) != NULL) {ret = strstr(a, ss);if (ret != NULL) {printf("%s", a);printf("--------------------------------------------\n");s = 1;}else {continue;}}else {break;}}if (s == 0) {printf("\033[41;37m没有找到相关信息\n\033[0m");}fclose(file);
}
int login() {printf(" ┌------连锁超市会员消费记录管理系统---┐\n");printf(" | |\n");printf(" | 请先登录 |\n");printf(" | |\n");printf(" | |\n");printf(" | 请输入您的账号和密码 |\n");printf(" | |\n");printf(" | |\n");printf(" | |\n");printf(" └-------------------------------------┘\n");printf("*********************************************************\n");char sys_name[20] = { "admin" };char sys_password[20] = { "123456" };char name[20];char password[20];printf("\n \n");printf(" 账号:");scanf("%s", name);printf(" 密码:");scanf("%s", password);if (strcmp(sys_name, name) == 0 && strcmp(sys_password, password) == 0) {return 1;}else {return 0;}
}
C语言课程设计:连锁超市会员消费记录管理系统相关推荐
- C 语言课程设计 最终答辩版 学生通讯录管理系统
<span style="font-family: Arial, Helvetica, sans-serif;">/*</span> *********** ...
- 厦门理工c语言程序设计,厦门理工学院+C语言+课程设计
<厦门理工学院+C语言+课程设计>由会员分享,可在线阅读,更多相关<厦门理工学院+C语言+课程设计(21页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计课程设计报告(20 ...
- c语言课程设计报告停车系统,停车场管理系统C语言课程设计
<停车场管理系统C语言课程设计>由会员分享,可在线阅读,更多相关<停车场管理系统C语言课程设计(27页珍藏版)>请在人人文库网上搜索. 1.计算机科学与技术系课程设计报告20 ...
- 已知稀疏多项式C语言版,一元稀疏多项式计算器C语言课程设计
<一元稀疏多项式计算器C语言课程设计>由会员分享,可在线阅读,更多相关<一元稀疏多项式计算器C语言课程设计(26页珍藏版)>请在人人文库网上搜索. 1.学号2014-2015学 ...
- 小学生数学测试软件编写分析,小学生数学测试软件C语言课程设计
<小学生数学测试软件C语言课程设计>由会员分享,可在线阅读,更多相关<小学生数学测试软件C语言课程设计(26页珍藏版)>请在人人文库网上搜索. 1.C语言课程设计设计期限 20 ...
- 小学生数学测试软件编写分析,通过C语言编写小学生数学测试软件C语言课程设计...
<通过C语言编写小学生数学测试软件C语言课程设计>由会员分享,可在线阅读,更多相关<通过C语言编写小学生数学测试软件C语言课程设计(14页珍藏版)>请在人人文库网上搜索. 1. ...
- c语言停车场管理系统课程设计,停车场管理系统—C语言课程设计
<停车场管理系统-C语言课程设计>由会员分享,可在线阅读,更多相关<停车场管理系统-C语言课程设计(12页珍藏版)>请在人人文库网上搜索. 1.精品好资料学习推荐停车场管理系统 ...
- 湖北汽车工业学院c语言程序设计 汽车零部件采购管理程序,湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统).docx...
湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统) C语言课程设计 商品销售信息管理系统 #include #include #include #include structproduct// ...
- 课程设计图书管理系统c语言,图书管理系统c语言课程设计c语言课程设计作业获得95分全院第一......
> 下载中心 > > 图书管理系统 c语言课程设计 english version 图书管理系统 c语言课程设计 所属分类: 开发工具:c/c++ 文件大小:2720kb 下载 ...
最新文章
- Hinton临时拒绝所有邀约发推致歉,称突然发现最新想法有致命缺陷
- 我看过的SDN方面的好文章
- mysql show语句_mysql常用show语句
- 码栈开发手册(三)---编码方式开发(高级课程①)
- base64编码的学习和理解
- 微型计算机课程设计报警器,微型计算机课程设计声光报警器的设计与制作精选.doc...
- jetty 配置jndi_使用Jetty设置JNDI(嵌入式)
- 【转】软件工程能力漫谈:比质量更重要的,是项目管理能力
- CAD如何完成10以上带圈序号的输入?
- QCA9531+QCA9887系列嵌入式双频AP模块选型参考
- 创新案例分享 | 升级改造干部档案管理系统,精确剖析干部执行力情况
- 什么是不简单?把每一件简单的事做好就是不简单;什么是不平凡?能把每一件平凡的事做好就是不平凡。
- matlab怎么画map图,用MATLAB自带的worldmap及相关函数画地图
- 中山大学计算机类专业是什么,中山大学2017年计算机类专业自主招生条件及专业优势...
- hudi概念与设计介绍
- vue父传子通过对象的形式简写
- jxls-1.0支持excel2003及excel2007版本
- Android 定时器Timer
- Rational统一建模过程的十大要素
- 夕颜:利用热点事件如何赚钱?