C語言:day12~通訊錄

#include <stdio.h>
#include <string.h>
#define NAME_LEN 20
#define MAX_COUNT 200

#pragma mark 函數聲明
void showUi();
void addContact();
void showList();
void whiteToFile();
void deleteContact();
void changeContact();
void searchContact();

#pragma mark 全局列表
typedef struct{
    char name[NAME_LEN];
    int phone;
    
}person;

int realCount = 0;//實際人數
person Countact[MAX_COUNT];//聯繫人結構體數組


#pragma mark 控制器
int main(int argc, const char * argv[]) {
    
    while (1) {
        showUi();
        FILE *fp =  fopen("contect.data", "r");
        if (fp) {
            fread(&realCount, sizeof(int), 1, fp);
            fread(Countact, sizeof(person), realCount, fp);
            fclose(fp);
            
        }
        
        int choose;
        scanf("%d",&choose);
        
        switch (choose) {
            case 1:
                addContact();
                break;
            case 2:
                deleteContact();
                break;
            case 3:
                changeContact();
                break;
            case 4:
                showList();
                break;
            case 5:
                searchContact();
                break;
            case 6:
                printf("請確定是否退出,退出請按y,按任意鍵返回\n");
                char q;
                scanf("%s",&q);
                if (q == 'y') {
                    return 0;
                }else{
                    break;
                
                }
            default:{
                char temp;
                scanf("%c",&temp);
                printf("非法輸入,請重新輸入\n");
                break;
            }
        }
    }
    return 0;
}

#pragma mark 界面繪製
void showUi(){
    
    
    
    printf("**************************\n");
    printf("****** 歡迎使用通訊錄 ******\n");
    printf("****** 1、添加聯繫人  ******\n");
    printf("****** 2、刪除聯繫人  ******\n");
    printf("****** 3、修改聯繫人  ******\n");
    printf("****** 4、查看所有聯繫人 ****\n");
    printf("****** 5、搜索聯繫人  ******\n");
    printf("****** 6、退出系統    ******\n");
    printf("**************************\n\n");
    
    printf("請輸入您要進行的操作(請輸入序號)\n");
}

#pragma mark 添加聯繫人
void addContact(){
    person p;
    printf("請輸入聯繫人姓名\n");
    scanf("%s",p.name);
    printf("請輸入聯繫人電話\n");
    scanf("%d",&p.phone);
    
    Countact[realCount] = p;
    
    realCount++;
    
    whiteToFile();
    
    printf("添加成功\n");
    
}

#pragma mark 查看所有聯繫人
void showList(){
    if (realCount <= 0) {
        printf("你的通訊錄還沒有聯繫人\n");
        
    }else{
        for (int i=0; i<realCount; i++) {
            printf("%d:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章