zoukankan      html  css  js  c++  java
  • 几年前做家教写的C教程(之五专讲结构体与文件操作)

    C语言学习宝典(5)

    结构体:

    将不同类型的数据组合成为一个有机的整体,这个整体就是一个结构体。

    例如:

    Struct student

    {

             Int name;

             Char sex;

             Float score;

    };

    使用方法:

    类型名 成员名;

    一般形式:

    Struct

    {

             成员列表;

    }变量名表列;

    结构体变量的引用:

    结构体变量名.成员名

    文件:

    FILE  *fp;

    Fp=fopen(文件名,文件打开方式);

    Fclose(文件指针)

    例1  对候选人得票的统计程序,设有3个后选人,每次输入一个候选人的名字,要求最后输出得票结果

    /******************************
    
      功能:统计3个候选人得票
    
    *****************************/
    
    #include <stdio.h>
    
    #include "string.h"
    
     
    
    struct Person
    
    {
    
             char name[20];
    
             int count;
    
    };
    
    struct Person Leader[3]={"Li",0,"Zhang",0,"Wang",0};
    
    void main()
    
    {
    
             int i,j;
    
             char Leader_name[20];
    
             for(i=1;i<5;i++)
    
             {
    
                       scanf("%s",Leader_name);
    
                       for(j=0;j<3;j++)
    
                       {
    
                                if(strcmp(Leader_name,Leader[j].name)==0)
    
                                         Leader[j].count++;
    
                       }
    
             }
    
             printf("
    ");
    
             for(i=0;i<3;i++)
    
             {
    
                       printf("%5s:%d
    ",Leader[i].name,Leader[i].count);
    
             }
    
    }

    例2  从键盘输入一些字符,逐个把他们送到磁盘上去,知道输入一个”#”为止

    /**********************
    
    功能:从键盘输入一些字符,直到输入"#"为止
    
    ***********************/
    
     
    
    #include <stdio.h>
    
    #include <stdlib.h>
    
     
    
    void main()
    
    {
    
             FILE *fp;
    
             char ch,filename[10];
    
             scanf("%s",filename);
    
             if((fp=fopen(filename,"w"))==NULL)
    
             {
    
                       printf("can't open file!
    ");
    
                       exit(0);
    
             }
    
             ch=getchar();  /*接受在执行scanf语句时最后的回车符*/
    
             ch=getchar();  /*接受输入的第一个字符*/
    
     
    
             while(ch!='#')
    
             {
    
                       fputc(ch,fp);
    
                       putchar(ch);
    
                       ch=getchar();  /*接受putchar中的换行符*/
    
             }
    
             putchar(10);  /*想ping命令输出一个换行符*/
    
             fclose(fp);
    
    }
  • 相关阅读:
    Binary Tree Inorder Traversal
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Majority Element
    Excel Sheet Column Number
    Reverse Bits
    Happy Number
    House Robber
    Remove Linked List Elements
    Contains Duplicate
  • 原文地址:https://www.cnblogs.com/accipiter/p/3891188.html
Copyright © 2011-2022 走看看