资源简介
实现功能:用户在进入主界面后可以根据自己的选择,进入相应的操作界面,从而满足用户的需求。用户如果选择了录入销售信息的功能,则会先让用户输入用户名和密码,只有成功登录的用户才可以录入销售信息,保证销售信息的安全性和可靠性。用户如果选择了查询或排序,在每一次查询或排序完成后,都会询问用户的选择1、返回上一菜单,2、回到主菜单,3、退出。而且在整个程序中每一次用户输入的值都会进行一次判断,如果该值不在要求的范围之内,则会让用户重新输入该值,比如用户会输入销售员代号,如果该代号大于4或是小于1,则会提醒用户输入错误,并重新输入。若用户输入的产品代号大于5或是小于1,也会有输入错误的提示。
代码片段和文件信息
//销售管理系统2016.6.22 杨敏敏
//该销售管理系统主要是用于对四名销售员的五种产品的销售情况的记录和查询
//密码和帐号存储在check.txt中用户名和密码在同一行,中间用空格分隔
//只有先录入相应的月份的销售情况,才能打开相应的文本文件进行查询和排序的功能否则会提醒该月份销售情况未录入返回上一级菜单
#include
#include
#include
#include
//高级用户信息结构体
struct sysuer{
char username[20]; //用户名
char password[8]; //密码
};
//销售信息结构体
struct sell{
double total[6]; //每一种产品总销售额
int num; //销售员编号
double all; //销售员的总销售额
int g_num; //产品编号
}man[5]; //定义一个结构体变量,用于记录四位销售员的销售情况
void menu(); //主菜单界面
void menu1(); //界面1,实现录入功能
void menu2(); //界面2,实现排序功能
void menu3(); //界面3,实现查询功能
void menu4(); //界面4,退出系统
int checkUserValid(struct sysuer *psu); //密码验证函数,在用户登录时被调用
void compare(sell *x); //对销售员销售额排序函数
//主函数
int main(){
int choice;
printf(“\n\n\n\n\n\n\t━━━━━━━━━━━━━━━━━━━━━━━━━\n“);
printf(“\t---------------欢迎进入产品销售系统!-------------\n“);
printf(“\t━━━━━━━━━━━━━━━━━━━━━━━━━\n“);
printf(“\n\n\n\n\n\n\t\t\t按任意键进入主菜单!\n“);
getch();
for(int i=0;;i++){
menu(); //主菜单
printf(“您的选择是:“);
scanf(“%d“&choice);
switch(choice) //根据用户选择进入到相应的子菜单中
{
case 1:menu1();break; //录入操作
case 2:menu2();break; //排序操作
case 3:menu3();break; //查询操作
case 4:menu4();break; //退出
default:printf(“\n\t\t\t请输入数字1-4\n“);system(“pause“);menu();break; //返回主菜单
}
}
return 0;
}
//对销售员销售额排序函数的实现
void compare1(sell *x)
{
for(int j=1;j<4;j++) //选择排序法
{
int index=j;
for(int i=j+1;i<5;i++)
if(x[i].all>x[index].all){ //比较销售员的总销售额
index=i;
}
double temp1=x[index].all; //交换两位销售员的销售额
x[index].all=x[j].all;
x[j].all=temp1;
int temp2=x[index].num; //交换两位销售员的编号,使得销售员编号和销售额一致
x[index].num=x[j].num;
x[j].num=temp2;
}
}
//密码验证函数
int checkUserValid(struct sysuer psu){
FILE *fp;
char usr[30]usr1[30]pwd[10];
int check=0;
//连接生成待校验字符串
strcpy(usrpsu.username);
strcpy(pwdpsu.password);
//连接usr、空格、pwd和\n构成新字符串构成新字符串usr,用于在文件中检查匹配
strcat(usr“ “); strcat(usrpwd); strcat(usr“\n“);
//打开文件“check.txt“读入
if((fp=fopen(“check.txt““r“))==NULL){
printf(“yanzheng.txt文件打开错误\n“);
exit(0);
}
//从文件读入用户信息数据,遍历判断是否存在
while(!feof(fp)){
fgets(usr130fp);
if(strcmp(usrusr1)==0){
check=1;
break;
}
}
if(fclose(fp)){
printf(“check.txt关闭错误\n“);
exit(0);
}
return check;
}
//menu()函数用于显示主菜单的界面
void menu(){
system(“cls“); /*清屏命令*/
printf(“\n\n“);
printf(“\t ┏━━━━━━━━━━主菜单━━━━━━━━━━┓\n“);
printf(“\t ┃ 1.录入 ┃\n“);
printf(“\t ┃ 2.排序 ┃\n“);
printf(“\t ┃ 3.查询 ┃\n“);
printf(“\t ┃ 4.退出 ┃\n“);
printf(“\t ┗━━━━━━━━━━━━━━━━━━━━━━━┛\n“);
}
//录入操作的函数实现部分
void menu1(){
system(“cls“);
int peogoodsi=1j
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 275 2016-06-24 14:38 销售管理系统\系统使用说明.txt
文件 18 2016-06-17 08:52 销售管理系统\销售管理系统\check.txt
文件 20013 2016-06-24 14:39 销售管理系统\销售管理系统\销售管理系统.cpp
目录 0 2016-06-24 14:35 销售管理系统\销售管理系统
目录 0 2017-12-06 15:56 销售管理系统
----------- --------- ---------- ----- ----
20306 5
相关资源
- c++软件实习开发报告
- Python3+Opencv343环境搭建 dll load failed问
- HDLC协议概述及c++实现
- C语言实现FFT(快速傅里叶变换)
- C++自动生成等高线源程序
- c++简单线程池的实现
- 矩阵QR分解的C语言
- Visual C++实现的FFT变换
- 数据结构课程设计公交线路优化查询
- vc++注册表文件关联,图标关联
- c++实现生产者消费者问题
- 贪吃蛇 linux开发 C语言 linux系统编程
- C#与C++进程间通信
- 装载问题有两艘船,载重量分别是c
- 《C语言程序设计》课程设计报告
- C++实验5代码5
- C++实验4代码4.3
- 清华大学C++ 郑莉老师教学视频 45集
- MFC绘图小程序可以拖动哦
- 基于vc的mfc手柄遥控上位机Joy_Send步骤
- advapi32.lib77067
- 基于tcp的聊天程序c语言的
- 网络爬虫 C++ 代码
- MFC必用的CwImage库
- 湖南大学C语言题库
- matlab2016b配置VS2017编译器mexopts补丁文
- 网关模板 C/C++程序编写
- 数据挖掘中的Apriori算法(C语言版)源
- MFC简单mp3播放器
- 一个基于C++和mssql的本科生信息管理系
评论
共有 条评论