请在下面代码中嵌入第二步显示信息和第五步删除账号的代码,具体如下图所示
代码本身可能也有问题,请根据原本要求加以修改,下图是原本的代码要求
实在是没u有思路了
需要代码能够按照要求运行,请在下面代码加以嵌入和修改。
#define _CRT_SECURE_NO_WARNINGS 15
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
struct bank
{
char cardname[20];
long int IDcard;
char name[20];
double money;
char address[20];
struct bank* next;
};
struct bank* head, * tail, * temp;
void init() {
head = NULL;
tail = NULL;
temp = NULL;
}
void kaihu()//创建账号
{
char a[20];
printf("\n请输入卡号\n");
scanf("%s", a);
struct bank* big;
big = head;
//判断账户是否已经存在,并将指针big移动到链表末端
while (big != NULL) {
if (strcmp(a, big->cardname) == 0) {
printf("您输入的卡号已存在,请重新输入。\n");
scanf("%s", a);
big = head;
}
else {
big = big->next;
}
}
if (big == NULL) {
printf("\n可开卡!请再次输入:\n");
}
//创建一个新结点来存储新的账号信息
temp = (struct bank*)malloc(sizeof(struct bank));
temp->next = NULL;
scanf("%s", temp->cardname);
printf("\n=======请输入您的姓名:========\n");
scanf("%s", temp->name);
printf("\n=======请输入您的身份证号:========\n");
scanf("%ld", &temp->IDcard);
printf("\n=======请输入您的地址:========\n");
scanf("%s", temp->address);
printf("\n=======请输入您的余额:========\n");
scanf("%lf", &temp->money);
//把新结点插到链表中
if (head == NULL) {
head = temp;
tail = temp;
}
else {
tail->next = temp;
tail = tail->next;
}
printf("\n喜您,账号创建完成!按任意键退出开户\n");
getchar();
}
void showPerson() {
printf("************************************\n");
printf("1.***** 输入新用户账户信息 *****\n");
printf("2.***** 显示用户账户信息 *****\n");
printf("3.***** 查询账户情况 *****\n");
printf("4.***** 修改账号信息 *****\n");
printf("5.***** 删除账号 *****\n");
printf("0.***** 退出界面 *****\n");
printf("************************************");
}
void welcome() {
printf(" 欢迎登录");
float x, y, a;
for (y = 1.5; y > -1.5; y -= 0.1) {
for (x = -1.5; x < 1.5; x += 0.05) {
a = x * x + y * y - 1;
putchar(a * a * a - x * x * y * y * y <= 0.0 ? '*' : ' ');
}
system("color 0A");
putchar('\n');
}printf("欢迎使用!点击回车键继续\n");
getchar();
system("cls");
}
void denglu() {
int a, b;
printf("请输入管理员账号\n");
scanf("%d", &a);
while (a == 2252433 || a == 2252429 || a == 2252436 || a == 2252438) {
printf("输入错误,重输!!!\n");
printf("请输入管理员账号\n");
scanf("%d", &a);
}
printf("请输入密码\n");
scanf("%d,", &b);
printf("登录成功");
system("cls");
}
void chaxun() {
char a[20];
printf("\n请输入查询卡号\n");
scanf("%s", a);
struct bank* big;
big = head;
while (big != NULL) {
if (strcmp(a, big->cardname) == 0) {
printf("用户卡号:%s ", big->cardname);
printf("用户姓名:%s ", big->name);
printf("用户身份证:%ld ", big->IDcard);
printf("用户地址:%s ", big->address);
printf("账户余额:%lf\n", big->money);
break;
}
else {
big = big->next;
}
}
printf("\n查询结束,按回车键退出查询\n");
getchar(); getchar();
}
void xiugai() {
char a[20], c[20], d[20],m[20];
int b;
struct bank* big;
big = head;
printf("\n请输入要修改的卡号\n");
scanf("%s", a);
while (big != NULL) {
if (strcmp(a, big->cardname) == 0)
{
big = big->next;
printf("************************************\n");
printf("1.***** 修改用户姓名 *****\n");
printf("2.***** 修改用户已绑定身份证 *****\n");
printf("3.***** 修改账号密码 *****\n");
printf("************************************");
printf("请输入更改项目\n");
scanf("%d", &b);
switch (b)
{
case 1:scanf("%s", c); strcpy(big->cardname, *c); break;
case 2:scanf("%s", d); strcpy(big->IDcard, *d); break;
case 3:scanf("%s", m); strcpy(big->address, *m); break;
default:printf("请正确输入\n"); break;
}
}
else {
printf("卡号不存在,请重新输入!\n");
xiugai();
}
}
}
int main()
{
system("chcp 65001");
system("cls");
welcome();
denglu();
int a;
while (1)
{
showPerson();
printf("\n请输入指令:\n");
scanf("%d", &a);
switch (a)
{
case 1: kaihu(); break;
case 3: chaxun(); break;
case 4: xiugai(); break;
case 0:break;
}
system("cls");
if (a == 0)break;
}
return 0;
}