新冠病毒登記表


/*題目:新型冠病毒登記表
    1,研究的對象是人
    2,人與人是一對一的可以用線性表來表示
    3,對象包括姓名,年齡,體溫 
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10
#define OVER -2
#define OK 1
#define ADD 10

typedef struct People{
    char ID[20];
    char name[10];
    float head;//體溫 
}People;
typedef People ElemType;
typedef struct SqList{
    ElemType *elem;
    int length;
    int listsize;
}SqList;
//初始化
typedef int Status;
Status InitList(SqList &L)
{
    L.elem = (ElemType *)malloc(MAX * sizeof(ElemType));
    if(!L.elem)
    {
        printf("申請失敗\n");
        exit(OVER);
    }
    L.length = 0;
    L.listsize = MAX;
    return OK;
 } 
 //添加
 Status ListInsert(SqList &L,int i,ElemType e)
 {
     if(i < 1 || i > L.length + 1)
     {
         printf("查無此人\n");
         exit(OVER);
    }
    if(L.length >= L.listsize)
    {
        ElemType *newbase = (ElemType *)realloc(L.elem,(L.listsize + ADD) * sizeof(ElemType));
        L.elem = newbase;
        L.listsize += ADD;
    }
    ElemType *q,*p;
    q = &L.elem[i - 1];
    for(p = &L.elem[L.length - 1];p >= q;p --)
    {
        *(p + 1) = *p;
    }
    *q = e;
    L.length ++;
    return OK;
  } 
 //查詢
 Status GetElem(SqList L,int i,ElemType &e)
 {
     if(i < 1 || i > L.length)
     {
         printf("系統查無此人\n");
         exit(OVER);
     }
     e = L.elem[i - 1];
  } 
  //刪除
  Status ListDelete(SqList &L,int i,ElemType &e)
  {
      if(i < 1 || i > L.length)
     {
         printf("系統查無此人\n");
         exit(OVER);
     }
     ElemType *q,*p;
     e = L.elem[i - 1];
     p = &L.elem[i - 1];
     for(q = p + 1;q <= &L.elem[L.length - 1];q ++)
     {
         *(q - 1) = *q;
     }
     L.length --;
     return OK;
      
   } 
   //登陸 
   int Yan(char User[],char Pass[],char USer[],char PAss[])
   {
       int count = 0;
       if(strcmp(USer,User) == 0 && strcmp(PAss,Pass) == 0)
       {
           count = 1;
    }
    return count;
   }
int main()
{
    SqList L;
    int i;
    int j;
    //int num;//人數 
    char User[20];
    char USer[20];//初始化 
    char PAss[20];//初始化 
    char Pass[20];
    int k ;//人數 
    int money = 100;
    int temp;//位置
    int choice;
    ElemType e;
    i = InitList(L);
    printf("**********<<<<新型冠病毒登記表>>>>**************\n");
    printf("友情提示:如果密碼或用戶名輸入錯誤3次系統將自動退出\n");
    printf("該系統是一個付費系統,使用一個項目10元,如果是新用戶我們會送100元\n");
    printf("余額:%d\n",money);
    printf("請注冊:\n");
    printf("請輸入用戶名:");
    scanf("%s",USer);
    printf("請輸入密碼:");
    scanf("%s",PAss);
    printf("恭喜你,注冊成功,開始登錄吧\n");
    printf("請記住你的用戶名和密碼\n");
    system("cls");
    printf("**********<<<<新型冠病毒登記表>>>>**************\n");
    printf("友情提示:如果密碼或用戶名輸入錯誤3次系統將自動退出\n");
    printf("該系統是一個付費系統,使用一個項目10元,如果是新用戶我們會送100元\n");
    printf("余額:%d\n",money);
    for(j = 0;j < 3;j ++)
    {
        
        printf("請輸入用戶名:");
        scanf("%s",User);
        printf("請輸入密碼:");
        scanf("%s",Pass);
        if(Yan(User,Pass,USer,PAss) == 1)
        {
            printf("恭喜你登陸成功\n");
            
            
        
    
    if(i == 1)
    { 
    
    printf("線性表初始化成功\n");
    printf("由於本系統較小只能支持(1 - 9)個人請輸入你要存放幾個人的個人信息:");
    scanf("%d",&k);
    //printf("請輸入5個人的基本信息\n");
    printf("年齡\t姓名\t體溫\n");
    for(i = 1;i <= k;i ++)
    {
        scanf("%s %s %f",e.ID,e.name,&e.head);
        ListInsert(L,i,e);
    }
    while(money > 0)
    {
    
    printf("功能如下:\n");
    printf("1,查看登記表當前狀態\n");
    printf("2,在登記表中執行插入操作\n");
    printf("3,在登記表中執行刪除操作\n");
    printf("4,退出系統\n");
    printf("請輸入你的選擇:");
    scanf("%d",&choice);
    money -= 10;
    switch(choice)
    {
        case 1:
            printf("年齡\t姓名\t體溫\n");
            for(i = 1;i <= k;i ++)
            {
                GetElem(L,i,e);
                 printf("%s\t%s\t%.1f\n",e.ID,e.name,e.head);
            }
              printf("余額:%d\n",money);
            break;
        case 2:
            printf("請輸入你要插入的位置:");
            scanf("%d",&temp);
            printf("年齡\t姓名\t體溫\n");
            scanf("%s %s %f",e.ID,e.name,&e.head);
            ListInsert(L,temp,e);
            k ++;
              printf("余額:%d\n",money);
            
            break;
        case 3:
            printf("請輸入刪除的位置:");
            scanf("%d",&temp);
            ListDelete(L,temp,e);
            printf("刪除的數據:\n");
            printf("年齡\t姓名\t體溫\n");
            printf("%s\t%s\t%.1f\n",e.ID,e.name,e.head);
            k --;
            printf("余額:%d\n",money);
            
            break;
        case 4:
              printf("余額:%d\n",money);
            exit(OVER);
            break;
            
    }
    }
    printf("請查看你的余額:%d\n",money);
    printf("項目\n");
    printf("1,充100元\n");
    printf("2,充200元\n");
    printf("3,沒錢\n");
    printf("請輸入你的選擇:");
    scanf("%d",&choice);
    switch(choice)
    {
        case 1:
            money += 100;
            break;
        case 2:
            money += 200;
            break;
        case 3:
            exit(OVER);
            break;
    }
    /*
    printf("年齡\t姓名\t體溫\n");
    for(i = 1;i <= 3;i ++)
    {
        GetElem(L,i,e);
        printf("%s %s %.1f\n",e.ID,e.name,e.head);
    }
    
    scanf("%d",&temp);
    ListDelete(L,temp,e);
    printf("年齡\t姓名\t體溫\n");
    printf("%s %s %.1f\n",e.ID,e.name,e.head);*/
   
 }
 else
 {
     printf("申請空間失敗\n");
     printf("請查看你的余額:%d\n",money);
     
 }
}
printf("你還有%d次機會\n",3 - j - 1);
}
if(j == 3)
{
    printf("輸入錯誤三次,強制退出系統\n");
    exit(OVER);
}
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM