zoukankan      html  css  js  c++  java
  • 通讯录工程的构建(三)

    对通讯录的操作都已经实现了,但前提是已经有一个通讯录了。那么第一次进入的时候我们需要建立一个通讯录,让前面的主程序读取。于是就有了这个“安装程序”,第一次运行通讯录前,让用户运行这个程序,将 数据,file_name,len 存入相应文件。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct stu
    {
        int num;
        char name[20],tel[13],email[30];
        char sort;
        char yn;
        struct stu *next;
    };
    
    
    main()
    {
        FILE *in,*f_name,*ll;
        char fname[50],ch;
        struct stu stud[15],ss[15];
        int i,len=0;
    
        loop:printf("
    please enter the number of contacts :");
        scanf("%d",&len);
        if(len>15)
        {
            printf("
    *  The number should be less than 15
    ");
            goto loop;
        }
    
        puts("
    
    *   Tips: when you enter 'sort' information, 'a' means official, 'b' means personal, 'c' means commercial   *
    ");
    
        printf("
    
         *******************   Enter information   *******************
    
    ");
    
        for(i=0;i<len;i++)
        {
            printf("		name:  ");
            scanf("%s",stud[i].name);
    
            printf("		tel :  ");
            scanf("%s",stud[i].tel);
    
            printf("		sort:  ");
            getchar();
            stud[i].sort=getchar();
            getchar();
    
    
            printf("
    		email: ");
            scanf("%s",stud[i].email);
            puts("
    ");
        }
    
        if((in=fopen("D:\telbook.dat","wb"))==NULL)
        {
            puts("cannot open the file");
            exit (0);
        }
    
        for(i=0;i<len;i++)
            fwrite(&stud[i],sizeof(struct stu),1,in);
    
        fclose(in);
    
        if((f_name=fopen("D:\file_name.dat","wb"))==NULL)
        {
            puts("cannot open the file");
            exit (0);
        }
    
        rewind(f_name);
    
        fputs("D:\telbook.dat",f_name);                                                         // note filename
    
        fclose(f_name);
    
        if((in=fopen("D:\len.dat","wb"))==NULL)
        {
            puts("cannot open the file");
            exit(0);
        }
    
        rewind(in);
    
        fputc(len,in);
    
        fclose(in);
    
        //check
    
        puts("
    
    Check");
    
    
        if((in=fopen("D:\telbook.dat","rb"))==NULL)
        {
            puts("cannot open the file");
            exit (0);
        }
    
        for(i=0;i<len;i++)
            fread(&ss[i],sizeof(struct stu),1,in);
    
        fclose(in);
    
        if((f_name=fopen("D:\file_name.dat","rb"))==NULL)
        {
            puts("cannot open the file");
            exit (0);
        }
    
        fgets(fname,49,f_name);                                                         // note filename
    
        fclose(f_name);
    
        printf("
    
    file name : %s
    
    
    ",fname);
    
        for(i=0;i<len;i++)
        {
            printf("		name: %s
    ",ss[i].name);
    
    
            printf("		tel : %s
    ",ss[i].tel);
    
            printf("		sort: %c",ss[i].sort);
    
    
    
            printf("
    		email: %s",ss[i].email);
            puts("
    ");
        }
    
        if((ll=fopen("D:\len.dat","rb"))==NULL)
        {
            puts("cannot open the file len");
            exit(0);
        }
    
        rewind(ll);
    
        ch=fgetc(ll);
    
        fclose(ll);
    
        printf("
    
    saved len : %d
    ",ch);
    
        //check end
    
    }
  • 相关阅读:
    Setting the Scope of COM Objects in ASP Pages
    不注册调用ActiveX Dll
    完成端口>TransmitFile 和 TransmitPackets (收集)
    浅谈网络游戏《天龙X部》的文件加密格式
    防止被偷窥和修改 Office文档保护秘笈
    oracle日期时间函数大全
    (C#)Windows Shell 外壳编程系列5 获取图标
    在Delphi中关于UDP协议的实现
    《黑手党2》全部50本花花公子杂志收集攻略
    TThread —— 线程类详解
  • 原文地址:https://www.cnblogs.com/GY8023/p/4556040.html
Copyright © 2011-2022 走看看