• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            學習心得(code)

            superlong@CoreCoder

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

            公告

            文字可能放在http://blog.csdn.net/superlong100,此處存放代碼

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新隨筆

            最新評論

            • 1.?re: Poj 1279
            • 對于一個凹多邊形用叉積計算面積 后能根據結果的正負來判斷給的點集的時針方向?
            • --bsshanghai
            • 2.?re: Poj 3691
            • 你寫的這個get_fail() 好像并是真正的get_fail,也是說fail指向的串并不是當前結點的子串。為什么要這樣弄呢?
            • --acmer1183
            • 3.?re: HDU2295[未登錄]
            • 這個是IDA* 也就是迭代加深@ylfdrib
            • --superlong
            • 4.?re: HDU2295
            • 評論內容較長,點擊標題查看
            • --ylfdrib
            • 5.?re: HOJ 11482
            • 呵呵..把代碼發在這里很不錯..以后我也試試...百度的編輯器太爛了....
            • --csuft1

            閱讀排行榜

            評論排行榜

              1#include <stdio.h>
              2#include <windows.h>
              3#include <io.h>
              4#include <stdlib.h>
              5#include <string.h>
              6#include <conio.h>
              7#include <ctype.h>
              8#define WIDTH 40
              9
             10struct info {
             11    char name[20], mo_tel[20], home_tel[20];
             12    char address[20], text[100], e_mail[30];
             13}
            ;
             14
             15info person[200];
             16int indexx;
             17FILE *F;
             18char Name[30];
             19
             20void logo(int);
             21void tips(int);
             22void print_login();
             23void Register();
             24bool login();
             25void print_mulu();
             26void io(info, int, FILE);
             27void insert();
             28void query();
             29void choise();
             30void work();
             31void solve();
             32void edit();
             33void search();
             34void show();
             35void off();
             36
             37
             38void logo(int flag) {
             39    system("cls");
             40    for(int i = 0; i < WIDTH; i ++)    putchar('='); puts("");
             41    for(int i = 0; i < WIDTH / 4; i ++) putchar(' ');
             42    puts("歡迎使用XX名片管理系統");
             43    for(int i = 0; i < WIDTH; i ++)    putchar('='); puts("");
             44    if(flag == 1
             45        printf("您現在所登陸的是%s的通訊錄\n", Name);
             46}

             47
             48void tips(int flag) {
             49    if(flag == 1{
             50        puts("提示:您尚未在通訊錄中添加任何信息!");
             51        return;
             52    }

             53    if(flag == 2{
             54        puts("請輸入一張名片的信息:");
             55        puts("姓名 移動電話 固定電話 地址 電子郵件 備注"); 
             56        return
             57    }

             58    if(flag == 3{
             59        printf("用戶%s的通訊錄記錄如下:\n", Name); 
             60    }

             61}

             62
             63void print_login() {
             64    
             65    puts("1、注冊");
             66    puts("2、登陸"); 
             67    puts("3、注銷"); 
             68    puts("4、退出"); 
             69    printf("請選擇操作:"); 
             70}

             71
             72void get_password(char ch[], int flag) {
             73    gets(ch);
             74    int len = 0;
             75    while( (ch[len] = getch()) != '\x0d' ) {
             76        if( ch[len] == '\x08' ) {
             77            system("cls");
             78            logo(0);
             79            if(flag == 0) printf("輸入你要創建的賬號:%s\n\n", Name);
             80            if(flag == 1) printf("輸入你的賬號:%s\n\n", Name); 
             81            printf("輸入你的密碼:");
             82            if(len == 0continue;
             83            len --;
             84            for(int i = 0; i < len; i ++) putchar('*'); 
             85            continue;
             86        }

             87        len ++;
             88        putchar('*');
             89    }

             90    ch[len] = 0;
             91    puts("");
             92}

             93
             94void Register() {
             95    logo(0);
             96    FILE *fp;
             97    char name[30], key[30];
             98    int num = 0;
             99    printf("輸入你要創建的賬號:"); scanf("%s", name); puts("");
            100    strcpy(Name, name);
            101    printf("輸入你的密碼:"); get_password(key, 0);
            102    char ffile[40];
            103    strcpy(ffile, name); 
            104    strcat(ffile, ".data"); 
            105    if(access(ffile,0)) {
            106        fp = fopen(ffile, "w");
            107        fputs(name, fp); fputs(key, fp);
            108        fclose(fp);
            109        puts("創建用戶成功");
            110        system("pause"); 
            111    }
             else {
            112        puts("用戶名沖突!");
            113        system("pause");
            114    }

            115}

            116
            117bool login() {
            118    FILE *fp;
            119    char name[30], key[30], ffile[40];;
            120    logo(0);
            121    printf("輸入你的賬號:"); scanf("%s", name); puts("");
            122    strcpy(Name, name);
            123    printf("輸入你的密碼:"); get_password(key, 1);
            124    strcpy(ffile, name); 
            125    strcat(ffile, ".data"); 
            126    if( access(ffile,0) ) {
            127        puts("該用戶不存在!");
            128        system("pause");
            129        return false
            130    }
             else {
            131        char tt[60];
            132        fp = fopen(ffile, "r");
            133        fscanf(fp, "%s", tt);
            134        strcpy(Name, name);
            135        strcat(name, key);
            136        if!strcmp(name, tt) ) {
            137            puts("成功登陸!");
            138            system("pause");
            139            fclose(fp);
            140            return true;    
            141        }
             else {
            142            puts("密碼錯誤");
            143            system("pause");
            144            fclose(fp);
            145            return false
            146        }

            147    }

            148}

            149
            150void off() {
            151    FILE *fp;
            152    char name[30], key[30], ffile[40];;
            153    logo(0);
            154    printf("輸入你的賬號:"); scanf("%s", name); puts("");
            155    strcpy(Name, name);
            156    printf("輸入你的密碼:"); get_password(key, 1);
            157    strcpy(ffile, name); 
            158    strcat(ffile, ".data"); 
            159    if( access(ffile,0) ) {
            160        puts("該用戶不存在!");
            161        system("pause");
            162        return
            163    }
             else {
            164        char tt[60];
            165        fp = fopen(ffile, "r");
            166        fscanf(fp, "%s", tt);
            167        strcpy(Name, name);
            168        strcat(name, key);
            169        fclose(fp);
            170        if!strcmp(name, tt) ) {
            171            remove(ffile);
            172            strcpy(ffile, Name); 
            173            strcat(ffile, ".dat"); 
            174            remove(ffile);
            175            strcpy(ffile, Name); 
            176            strcat(ffile, ".txt");
            177            remove(ffile); 
            178            puts("成功注銷!");
            179            system("pause"); 
            180            return;
            181        }
             else {
            182            puts("密碼錯誤");
            183            system("pause");
            184            return
            185        }

            186    }

            187    
            188}

            189
            190void print_mulu() {
            191    puts("1、插入一張名片");
            192    puts("2、編輯名片");
            193    puts("3、刪除名片"); 
            194    puts("4、查詢所有記錄");
            195    puts("5、搜索名片"); 
            196    puts("6、退出");
            197    printf("請選擇您需要的服務:");
            198}

            199
            200void io(info &temp, int flag, FILE *fp) // 0->控制臺讀入 1->寫入文件 2->控制臺打印 3->從文件讀入
            201    if(flag == 0)
            202        scanf("%s %s %s %s %s %s", temp.name, temp.mo_tel, temp.home_tel,
            203                 temp.address, temp.e_mail, temp.text);
            204    else if(flag == 1)
            205        fprintf(fp, "%s %s %s %s %s %s\n", temp.name, temp.mo_tel, temp.home_tel,
            206                 temp.address, temp.e_mail, temp.text);
            207    else if(flag == 2)
            208        printf("%s %s %s %s %s %s\n", temp.name, temp.mo_tel, temp.home_tel,
            209                 temp.address, temp.e_mail, temp.text);
            210    else if(flag == 3)
            211        fscanf(fp, "%s %s %s %s %s %s", temp.name, temp.mo_tel, temp.home_tel,
            212                 temp.address, temp.e_mail, temp.text);
            213}

            214
            215void insert() {
            216    FILE *fp;
            217    logo(1);
            218    info temp;
            219    tips(2);                         //logo
            220    
            221    char ffile[40]; 
            222    strcpy(ffile, Name);
            223    strcat(ffile, ".dat");
            224    if( access(ffile, 0) ) {
            225        fp = fopen(ffile, "w");
            226        fprintf(fp, "0");
            227        fclose(fp);
            228        strcpy(ffile, Name); 
            229        strcat(ffile, ".txt"); 
            230        fp = fopen(ffile, "w");
            231        fclose(fp);
            232    }
                                         //文件不存在則創建文件 
            233    
            234    strcpy(ffile, Name);
            235    strcat(ffile, ".dat");
            236    fp = fopen(ffile, "r");
            237    int num;
            238    fscanf(fp, "%d"&num);
            239    num ++;
            240    fclose(fp);                   
            241    
            242    fp = fopen(ffile, "w+");
            243    fprintf(fp, "%d\n", num);
            244    fclose(fp);                   //更新記錄條數 
            245    
            246    strcpy(ffile, Name); 
            247    strcat(ffile, ".txt"); 
            248    
            249    fp = fopen(ffile, "a+");
            250    io(temp, 0, fp);
            251    io(temp, 1, fp);
            252    fclose(fp);                     //從控制臺讀入記錄,存入文件 
            253}

            254
            255void query() {
            256    FILE *fp;
            257    char ffile[40];
            258    logo(1);
            259    tips(3);                        //輸出logo 
            260    
            261    int num;
            262    strcpy(ffile, Name);
            263    strcat(ffile, ".dat");
            264    if( access(ffile, 0) ) {
            265        puts("無記錄!");
            266        system("pause");
            267        return;
            268    }

            269    fp = fopen(ffile, "r");
            270    fscanf(fp, "%d"&num);
            271    fclose(fp);
            272    printf("一共%d條記錄:\n", num); //讀取記錄條數 
            273    
            274    strcpy(ffile, Name);
            275    strcat(ffile, ".txt");
            276    fp = fopen(ffile, "r");
            277    for(int i = 0; i < num; i ++{
            278        info temp;
            279        io(temp, 3, fp);
            280        printf("%d: ", i);
            281        io(temp, 2, fp);
            282    }

            283    fclose(fp);                    //讀入記錄輸出至屏幕 
            284    
            285    system("pause");
            286}

            287
            288void change(char ch[], char st[]) {
            289    if( strcmp(ch, "NULL") ) {
            290        strcpy(st, ch);
            291    }

            292}

            293
            294void edit() {
            295    logo(1);
            296    char ffile[40];
            297    FILE *fp;
            298    strcpy(ffile, Name);
            299    strcat(ffile, ".dat");
            300    if( access(ffile, 0) ) {
            301        puts("無記錄可供編輯!");
            302        system("pause");
            303        return
            304    }

            305    fp = fopen(ffile, "r");
            306    int num;
            307    fscanf(fp, "%d"&num);          //讀入記錄條數
            308    fclose(fp);
            309    
            310    printf("請輸入您想修改的記錄編號 :");
            311    int indexx;
            312    scanf("%d"&indexx);
            313    if(indexx < 0 || indexx >= num) {
            314        puts("對不起,不存在對應信息!");
            315        system("pause");
            316        return
            317    }
             else {
            318        info temp[1000];
            319        strcpy(ffile, Name);
            320        strcat(ffile, ".txt");
            321        fp = fopen(ffile, "r");
            322        for(int i = 0; i < num; i ++{
            323            io(temp[i], 3, fp);
            324        }

            325        fclose(fp);
            326        fp = fopen(ffile, "w+");
            327        puts("請修改改信息(如無需修改則對應項輸入NULL)");
            328        puts("姓名   移動電話   固定電話   地址   電子郵件   備注");
            329        info t;
            330        io(t, 0, fp);
            331        change(t.name, temp[indexx].name);
            332        change(t.mo_tel, temp[indexx].mo_tel);
            333        change(t.home_tel, temp[indexx].home_tel);
            334        change(t.address, temp[indexx].address);
            335        change(t.text, temp[indexx].text);
            336        change(t.e_mail, temp[indexx].e_mail);
            337        for(int i = 0; i < num; i ++{
            338            io(temp[i], 1, fp);
            339        }

            340        puts("修改成功!");
            341        system("pause"); 
            342        fclose(fp);
            343    }
                 
            344}

            345
            346void print_search_type() {
            347    puts("1、按姓名搜索");
            348    puts("2、按移動電話搜索");
            349    puts("3、按固定電話搜索");
            350    puts("4、按地址搜索");
            351    puts("5、按電子郵件搜索"); 
            352    puts("6、返回上一層"); 
            353}

            354
            355void search() {
            356    logo(1);
            357    print_search_type();
            358    printf("請選擇您需要的服務:");
            359    int cho;
            360    info p[1000];
            361    
            362    char ffile[40];
            363    FILE *fp;
            364    strcpy(ffile, Name);
            365    strcat(ffile, ".dat");
            366    if( access(ffile, 0) ) {
            367        puts("無記錄可供編輯!");
            368        system("pause");
            369        return
            370    }

            371    fp = fopen(ffile, "r");
            372    int num;
            373    fscanf(fp, "%d"&num);          //讀入記錄條數
            374    fclose(fp);
            375    
            376    strcpy(ffile, Name);
            377    strcat(ffile, ".txt");
            378    fp = fopen(ffile, "r");
            379    for(int i = 0; i < num; i ++{
            380        io(p[i], 3, fp);
            381    }

            382    fclose(fp);
            383    scanf("%d"&cho);
            384    char ch[30];
            385    int cnt = 0;
            386    switch(cho) {
            387        case 1:
            388            printf("請輸入姓名");
            389            scanf("%s", ch);
            390            for(int i = 0; i < num; i ++{
            391                if!strcmp(ch, p[i].name) ) {
            392                    printf("%d: ", cnt++);
            393                    io(p[i], 2, fp);
            394                }

            395            }

            396            break;
            397        case 2:
            398            printf("請輸入移動電話");
            399            scanf("%s", ch);
            400            for(int i = 0; i < num; i ++{
            401                if!strcmp(ch, p[i].mo_tel) ) {
            402                    printf("%d: ", cnt++);
            403                    io(p[i], 2, fp);
            404                }

            405            }

            406            break;
            407        case 3:
            408            printf("請輸入固定電話");
            409            scanf("%s", ch);
            410            for(int i = 0; i < num; i ++{
            411                if!strcmp(ch, p[i].home_tel) ) {
            412                    printf("%d: ", cnt++);
            413                    io(p[i], 2, fp);
            414                }

            415            }

            416            break;
            417        case 4:
            418            printf("請輸入地址");
            419            scanf("%s", ch);
            420            for(int i = 0; i < num; i ++{
            421                if!strcmp(ch, p[i].address) ) {
            422                    printf("%d: ", cnt++);
            423                    io(p[i], 2, fp);
            424                }

            425            }

            426            break;
            427        case 5:
            428            printf("請輸入地址");
            429            scanf("%s", ch);
            430            for(int i = 0; i < num; i ++{
            431                if!strcmp(ch, p[i].e_mail) ) {
            432                    printf("%d: ", cnt++);
            433                    io(p[i], 2, fp);
            434                }

            435            }

            436            break;
            437        case 6:
            438            return;
            439        
            440    }
             
            441    
            442    if(cnt == 0{
            443        puts("對不起沒找到對應記錄!"); 
            444    }

            445    system("pause");
            446    
            447}

            448
            449void del() {
            450    logo(1);
            451    info p[1000];
            452    char ffile[40];
            453    FILE *fp;
            454    strcpy(ffile, Name);
            455    strcat(ffile, ".dat");
            456    if( access(ffile, 0) ) {
            457        puts("尚未插入記錄,請插入記錄后再編輯!");
            458        system("pause");
            459        return
            460    }

            461    fp = fopen(ffile, "r");
            462    int num;
            463    fscanf(fp, "%d"&num);          //讀入記錄條數
            464    fclose(fp);
            465    
            466    strcpy(ffile, Name);
            467    strcat(ffile, ".txt");
            468    fp = fopen(ffile, "r");
            469    for(int i = 0; i < num; i ++{
            470        io(p[i], 3, fp);
            471    }
             
            472    fclose(fp);
            473    
            474    printf("請輸入您要刪除的名片編號");
            475    int indexx;
            476    scanf("%d"&indexx);
            477    
            478    if(indexx < 0 || indexx >= num) {
            479        puts("對不起對應信息不存在");
            480        system("pause");
            481        return
            482    }
             else {
            483        fp = fopen(ffile, "w+");
            484        for(int i = 0; i < num; i ++{
            485            if(i != indexx)    io(p[i], 1, fp);
            486        }

            487        num --;
            488        fclose(fp);
            489        strcpy(ffile, Name);
            490        strcat(ffile, ".dat");
            491        fp = fopen(ffile, "w+");
            492        fprintf(fp, "%d\n", num);
            493        fclose(fp);
            494    }

            495    puts("成功刪除!");
            496    system("pause"); 
            497}

            498
            499void choise() {
            500    int cho;
            501    while(true{
            502        logo(1);
            503        print_mulu();
            504        scanf("%d"&cho);
            505        switch( cho ) {
            506            case 1:
            507                insert();
            508                break;
            509            case 2:
            510                edit();
            511                break;
            512            case 3:
            513                del();
            514                break;
            515            case 4:
            516                query();
            517                break;
            518            case 5:
            519                search();
            520                break;
            521            case 6:
            522                return;
            523        }

            524    }

            525}

            526
            527void work() {
            528    logo(0);
            529    FILE *fp;
            530    char ffile[40];
            531    strcpy(ffile, Name); 
            532    strcat(ffile, ".txt");
            533    logo(1);
            534    if( access(ffile, 0) ) {
            535        tips(1);
            536    }

            537    print_mulu();
            538    choise();
            539    
            540}

            541
            542void show() {
            543    for(int i = 1; i <= 40; i ++{
            544        system("cls");puts("\n\n\n\n\n系統正導入信息"); 
            545        for(int j = 1; j <= i; j ++{
            546            printf("");
            547        }

            548    }

            549}

            550
            551void solve() {
            552    while(true{
            553        logo(0);
            554        print_login();
            555        int cho;
            556        scanf("%d"&cho);
            557        switch(cho) {
            558            case 1:
            559                Register();
            560                break;
            561            case 2:
            562                if( login() ) {
            563                    show();
            564                    work();
            565                }

            566                break;
            567            case 3:
            568                off();
            569                break;
            570            case 4:
            571                return;
            572        }

            573    }

            574}

            575
            576int main() {
            577    solve();
            578}

            579
            posted on 2009-11-06 15:09 superlong 閱讀(266) 評論(0)  編輯 收藏 引用
            久久人与动人物a级毛片| 国产精品成人99久久久久 | 国产精品丝袜久久久久久不卡| 久久精品中文字幕一区| 伊人久久大香线蕉av不变影院| 国产精品久久久福利| 久久精品人妻一区二区三区| 人妻少妇久久中文字幕| 久久精品国产精品亚洲人人| 久久亚洲私人国产精品vA | 久久九九兔免费精品6| 精品久久久久久久久中文字幕| 无码任你躁久久久久久久| 成人久久精品一区二区三区| 精品久久久久成人码免费动漫| 久久精品国产99国产精偷| AV无码久久久久不卡蜜桃| 久久久久人妻精品一区三寸蜜桃| 久久精品国产亚洲精品2020| 国产香蕉久久精品综合网| 国产69精品久久久久9999| 久久超乳爆乳中文字幕| 亚洲综合熟女久久久30p| 久久久久香蕉视频| 国产成人精品综合久久久| 久久久九九有精品国产| 久久精品aⅴ无码中文字字幕重口| 少妇被又大又粗又爽毛片久久黑人| 久久综合中文字幕| 精品一区二区久久| 99久久99这里只有免费费精品| 亚洲精品无码久久久久去q| 少妇人妻综合久久中文字幕| 亚洲&#228;v永久无码精品天堂久久 | 国产精品VIDEOSSEX久久发布| 99re久久精品国产首页2020| 狠狠色婷婷久久一区二区三区| 久久影院综合精品| 97久久精品无码一区二区天美| 国产精品99久久99久久久| 久久99精品久久久久久久不卡|