永发信息网

关于C++算法与流程图

答案:2  悬赏:0  手机版
解决时间 2021-08-24 05:52

题目   系统用户管理系统

【说明及要求】

设系统用户信息(用户代码,用户名,密码,系统身份)存放在一个名为user.txt的文件中,请编写程序实现用户信息的新增。修改密码,删除功能(实现新增和删除时,用户的系统身份必须是“系统管理员”),并能模拟用户的登陆。如果输入的用户代码和密码在文件中存在,则显示欢迎某某用户登陆的界面和操作菜单(N.新增,M.修改密码,D.删除),以用户完成相应操作,如果输入错误则提示用户重新输入(最多可以尝试3次)。

【提示】

(1) 定义一个结构体表示用户信息;

(2) 分别编写函数实现用户信息的新增,修改密码,删除,用户登陆等功能;

(3) 用户的尝试登陆的次数要通过一个静态变量实现。

(4) 编写main函数进行演示。

【要求】:

1. 请给出问题分析与算法设计,并画出流程图:

2. 编写程序,并给出必要的说明与注释;

3. 运行程序,并获得正确结果。

(备注:用C++编程运行)

编程如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>

#define max 20

typedef struct student //学生
{
char sno[max]; // 学号
char sname[max]; //姓名
char sex[max]; //性别
char age[max]; //年龄
char depart[max]; //系
char classs[max]; //班
char grade[max]; //年级

struct student* next;
} student;

student* head;


int LogOn() //登录模块,已实现输入密码不回显,如果中途发现输错某几位,可退格键重输
{
char username[max],password[max];
printf("\n请输入用户名:");
scanf("%s",username);
printf("\n请输入密码(最多15位):");

//开始以不回显且支持退格方式获取输入密码
int i=0;
while((i>=0)&&(password[i++]=getch())!=13)//条件i>=0是用于限制退格的范围
{
if(password[i-1]=='\b')//对退格键的处理
{
printf("%c%c%c",'\b','\0','\b');
i=i-2;
}
else
printf("*");
}
password[--i]='\0';

//已获取密码。验证用户身份
if(!strcmp(username,"zhang")&&!strcmp(password,"8147086"))
{
printf("\n登录成功!");
return 1;
}
else
return 0;

}

void regist()
{
char ch;
student *s,*ptr; //s用来建新结点,ptr用来暂存头结点

do
{

s=(student*)malloc(sizeof(student)); // 新建一个学生结点


printf("\n开始注册..."); //开始注册
printf("\n请输入该学生的学号:");
scanf("%s",s->sno);
printf("\n请输入该学生的姓名:");
scanf("%s",s->sname);
printf("\n请输入该学生的性别:");
scanf("%s",s->sex);
printf("\n请输入该学生的年龄:");
scanf("%s",s->age);
printf("\n请输入该学生的系:");
scanf("%s",s->depart);
printf("\n请输入该学生所在的班:");
scanf("%s",s->classs);
printf("\n请输入该学生所在的年级");
scanf("%s",s->grade);

ptr=head;
head=s;//将新结点插入队头
s->next=ptr;

fflush(stdin);
printf("\n请问是否继续注册?(Y/N)");
scanf("%c",&ch);
}while(ch=='Y'||ch=='y');

return;
}

void ElePrint(char str[]) //输出单个元素
{
if(str==NULL) exit

 

请帮忙给出问题分析与算法设计,并画出流程图,谢谢!

 

最佳答案
上甲壳虫技术论坛看看吧
全部回答

 后面的程序呢?怎么就看到一小部分?

如果想知道程序的思路是应该看看主程序的。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车牌号111e5好吧
用be\have的正确形式填空 1.two and five
前进区佳木斯茶马古道茶文化会馆这个地址在什
进期福州江滨有没有淹死人啊
如何高效快速背诵?RT,求教各位有经验的大虾帮
到底有没有情商和智商都很高很高的人呢?
DNF53级升到60级每天都刷光PL大概多少天
为什么开机会跳出这个每次都有?
七年级下册英语第十单元精品课件
昨天跟今天有什么不同呢?
枝江市宜昌速8宾馆(马店路)地址有谁知道?有
给个天龙八部2的游戏表情安装包
第四个字是晓的诗句,含有晓字的诗词
闲着没事干弄啥
大家评下这台电脑能玩得起大型3D游戏吗?性能
推荐资讯
怎样在玩游戏时录视频,电脑玩游戏如何截图?
实义动词有哪些,实义动词有哪些请分别说出初
待人接物礼貌有佳打一文具
不同的英文是什么,与······不同)和 (
潜江市潜江幸福歌舞厅这个地址在什么地方,我
春到湘江多长时间能练好
造型师要怎么做
湛河区平顶山湛河实验中学高考辅导中心我想知
四川农业大学的所有情况还有雅安
“飞鹰1949”这网名好听吗?
蓬江区海悦酒店(江门旧车站店)地址是什么,有
安全标语,安全行车警示标语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?