C语言期末大实验

nefu -咸鱼二手交易平台作业

在这里插入图片描述

-1 :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "header.h"

int findtime(char tim[])
{
   
time_t timep;
struct tm *p;
time (&timep);
p=gmtime(&timep);
int a=p->tm_mday;/*获取当前月份日数,范围是1-31*/
int b=1+p->tm_mon;/*获取当前月份,范围是0-11,所以要加1*/
int c=1900+p->tm_year;/*获取当前年份,从1900开始,所以要加1900*/
int i;
char str[11];
char st[5];
char sr[5];
itoa(c,str,10);
str[4]='-';
itoa(b,st,10);
if(b>=10)
{
   
    str[5]=st[0];
    str[6]=st[1];
}
else
{
   
    str[5]='0';
    str[6]=st[0];
}
    str[7]='-';
    itoa(a,sr,10);
    if(a>=10)
    {
   
        str[8]=sr[0];
        str[9]=sr[1];
    }
    else
    {
   
       str[8]='0';
       str[9]=sr[0];
    }
    str[10]='\0';
    strcpy(tim,str);
    return 0;
}

0 :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "header.h"

void welcome()
{
   
    printf("\n\n");
    printf("  *****************************************************************\n");
    printf("  *****************************************************************\n");
    printf("  *****************************************************************\n");
    printf("  ***********************                    **********************\n");
    printf("  ***********************  欢迎进入闲鱼系统  **********************\n");
    printf("  ***********************                    **********************\n");
    printf("  *****************************************************************\n");
    printf("  *****************************************************************\n");
    printf("  *****************************************************************\n");
    printf("\n\n");
}

void loginmenu()
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" =========================================================================\n");
    printf(" |    1.用户登录       2.用户注册       3.管理员登录       4.退出程序    |\n");
    printf(" =========================================================================\n");
}

void menu_1()//个人主菜单
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" ==========================================================================\n");
    printf(" |    1.注销登录      2.我是买家       3.我是卖家       4.个人信息管理    |\n");
    printf(" ==========================================================================\n");
}

void menu_1_2()// 买家
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" ==============================================================================================================\n");
    printf(" |   1.查看商品列表    2.购买商品    3.搜索商品    4.查看历史订单    5.查看商品详细信息    6.返回用户主页面   |\n");
    printf(" ==============================================================================================================\n");

}

void menu_1_3()//卖家
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" ============================================================================================================\n");
    printf(" |    1.发布商品    2.查看发布商品    3.修改商品信息    4.下架商品    5.查看历史订单    6.返回用户主页面    |\n");
    printf(" ============================================================================================================\n");

}

void menu_1_4()//个人信息修改
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" ===================================================================\n");
    printf(" |       1.用户名       2.密码       3.手机号码       4.地址       |\n");
    printf(" ===================================================================\n");
}

void personal()
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" ================================================================================================\n");
    printf(" |      1.返回用户主页面       2.修改信息       3.查看信息       4.充值       5.修改密码        |\n");
    printf(" ================================================================================================\n");

}

void managerview()
{
   
    printf("\n    *************请输入操作类别:*************\n\n");
    printf(" =======================================================================================================================\n");
    printf(" |   1.查看所有商品    2.查看商品详见信息    3. 查看所有订单    4.查看所有用户    5.删除用户    6.下架商品    7.注销   |\n");
    printf(" =======================================================================================================================\n");
}



1 :

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "header.h"

void user_readout(user *userhead)
{
   
    user *usertmp=NULL;
    FILE *f_user=fopen("userinformation","rb");
   if(f_user==NULL)
   {
   
      printf("cannot open this file\n");
      exit(0);
   }
    while(1)
    {
   
        if(fgetc(f_user)==EOF)
        break;
        usertmp=malloc(userlen);
        fread(usertmp,userlen,1,f_user);
        usertmp->next=userhead->next;
        userhead->next=usertmp;
    }
    fclose(f_user);
}

void user_readin(user *userhead)
{
   
    user *p=userhead;
    FILE *f_user=fopen("userinformation","wb");
   if(f_user==NULL)
   {
   
      printf("cannot open this file\n");
      exit(0);
   }
   p=p->next;
   while(p!=NULL)
   {
   
       putc(';',f_user);
       fwrite(p,userlen,1,f_user);
       p=p->next;
   }
   fclose(f_user);
}

user *userinit()
{
   
    user *userhead=malloc(userlen) ;
    if(userhead==NULL)
    {
   
        printf("内存分配不成功!\n");
        exit(1);
    }
    userhead->next=NULL;
    return userhead;
}

int freeuser(user *userhead)
{
   
    user *p=userhead->next;
    user *q;
    while(p!=NULL)
    {
   
        q=p->next;
        free(p);
        p=q;
    }
    userhead->next=NULL;
}

void refreshuser(user *userhead)
{
   
    user_readin(userhead);
    freeuser(userhead);
    user_readout(userhead);
}

int idcheck(char idtmp[],user *userhead)
{
   
    user *p=userhead;
    p=p->next;
    while(p!=NULL)
    {
   
        if(strcmp(p->id,idtmp)==0)
        return -1;
        p=p->next;
    }
    return 0;
}

void inpassword(char p[])
{
   
    int x=0;
    while(1)
    {
   
        char ch=getch();
        if(ch==8)
        {
   
            if(x==0);
            else
            {
   
                x--;
                printf("\b \b");
            }
        }
        else
        if(ch!=13)
        {
   
            p[x++]=ch;
            putchar('*');
        }
        else break;
    }
    p[x]='\0';
}

void userregister(user *p,user *userhead)
{
   
    char temp[21];
    printf("请输入你的用户ID号:\n");
    while(gets(p->id))
    {
   //检查账号是否被注册过
    if(idcheck(p->id,userhead)==0)
    break;
    else printf("ID账号已被注册,请重新输入ID账号:\n");
    }
    printf("请输入你的用户名:\n");
    gets(p->name);
    while(1)
    {
   
        printf("请输入你的密码:\n");
        inpassword(p->password);
        printf("\n请再次输入你的密码:\n");
        inpassword(temp);
        if(strcmp(temp,p->password)!=0)
        {
   
            printf("\n两次密码输入不一致!请重新输入!");
        }
        else break;
    }
    printf("\n请输入你的联系方式:\n");
    gets(p->phone);
    printf("请输入你的家庭住址:\n");
    gets(p->address);
    p->money=0;
}

int usercreat(user *userhead)
{
   
    user *usernew=malloc(userlen);
    if(usernew==NULL)
    {
   
        printf("当前系统空间不足,不能创建用户!\n");
        return -1;
    }
    userregister(usernew,userhead);
    usernew->next=userhead->next;
    userhead->next=usernew;
    //OutputsUserLink(pUserHead);
    return 0;
}

int registercheck(user *userhead, char tmpid[],char tmppassword[])
{
   
    user *p=userhead;
    p=p->next;
    while(p!=NULL)
    {
   
        if(strcmp(tmpid,p->id)==0&&strcmp(tmppassword,p->password)==0)
        {
   
            return 0;
        }
        p=p->next;
    }
    return -1;
}

void userin(user *userhead,char tmp_id[],char tmp_password[])
{
   
                        printf("请输入账号:\n");
                        char tmpid[7],tmppassword[21];
                        while(gets(tmpid))//登录认证
                      {
   
                          if(idcheck(tmpid,userhead)==0)
                          {
   
                              printf("ID账号不存在!请重新输入账号:\n");
                              continue;
                          }
                        printf("请输入密码:\n");
                        inpassword(tmppassword);
                        if(registercheck(userhead,tmpid,tmppassword)==0)
                        {
   
                          printf("\n 登录成功!\n");
                          strcpy(tmp_id,tmpid);
                          strcpy(tmp_password,tmppassword);
                          break;
                        }
                        printf("\n 密码错误,请重新登录!\n");
                        printf("请输入账号:\n");
                      }
}

int changeinfor(char tmpid[],user *userhead)
{
   
    user *p=userhead;
    user *tmpuser=NULL;
    p=p->next;
    while(p!=NULL)
    {
   
        if(strcmp((p->id),tmpid)==0)
        {
   
            tmpuser=p;
            break;
        }
        p=p->next;
    }
    int fom=0;
        menu_1_4();
        printf("请输入你想修改的信息:\n");
        scanf
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值