• 用C语言读写数据


    //1-5题
    #include "stdio.h"
    typedef struct 
    {
       char name[10];//姓名
       int subject1,subject2,subject3;//科目1,2,3
       long int sno;//学号
    }student;
    int InputTerm(student *stu)//在终端输入数据并每人的计算平均分
    {
      	int i=0;
    	while (i<5)
    	{
    		printf("Pls input name,subject1,subject2,subject3 and student No
    ");
    		scanf("%s	%d	%d	%d	%ld",&stu[i].name,&stu[i].subject1,&stu[i].subject2,&stu[i].subject3,&stu[i].sno);
    		printf("Average of %s is:%d
    ",stu[i].name,(stu[i].subject1,stu[i].subject2,stu[i].subject3)/3); 
    		i++;
    	}
    	return 1;
    }
    
    int InputDataTxt(student *stu)//输出到txt文件
    {
    	int i=0;
    	printf("Input 5 student score
    ");
        FILE *fd=fopen("data.txt","w");
    	if (fd==NULL)
    	   return 0;
    	while (i<5)
    	{
    	   scanf("%s	%d	%d	%d	%ld",&stu[i].name,&stu[i].subject1,&stu[i].subject2,&stu[i].subject3,&stu[i].sno);
           fprintf(fd,"%s	%d	%d	%d	%ld
    ",stu[i].name,stu[i].subject1,stu[i].subject2,stu[i].subject3,stu[i].sno); 
    	   i++;
    	}
    	fclose(fd);
    	return 1;
    }
    int ReadData(student *stu)//从文本文件中读数据
    {
    	FILE *fd=fopen("data.txt","r");
    	if (fd==NULL)
    		return 0;
    	int i=0;
        while(fscanf(fd,"%s	%d	%d	%d	%ld",&stu[i].name,&stu[i].subject1,&stu[i].subject2,&stu[i].subject3,&stu[i].sno)!=EOF)
    	{
    		printf("%s	%d	%d	%d	%ld
    ",stu[i].name,stu[i].subject1,stu[i].subject2,stu[i].subject3,stu[i].sno);
            i++;
    	}
    	fclose(fd);
        return 1;
    }
    int ReadDataBin(student *stu)//从二进制文件中读数据
    {
    	FILE *fd=fopen("databin","rb");
    	if (fd==NULL)
    		return 0;
    	int i=0;
        while(fscanf(fd,"%s	%d	%d	%d	%ld",&stu[i].name,&stu[i].subject1,&stu[i].subject2,&stu[i].subject3,&stu[i].sno)!=EOF)
    	{
    		printf("%s	%d	%d	%d	%ld
    ",stu[i].name,stu[i].subject1,stu[i].subject2,stu[i].subject3,stu[i].sno);
            i++;
    	}
    	fclose(fd);
        return 1;
    }
    int InputDataBin(student *stu)//输入到二进制文件
    {
    	int i=0;
    	printf("Input 5 student score
    ");
        FILE *fd=fopen("databin","wb");
    	if (fd==NULL)
    		return 0;
    	while (i<5)
    	{
    		scanf("%s	%d	%d	%d	%ld",&stu[i].name,&stu[i].subject1,&stu[i].subject2,&stu[i].subject3,&stu[i].sno);
    		fprintf(fd,"%s	%d	%d	%d	%ld
    ",stu[i].name,stu[i].subject1,stu[i].subject2,stu[i].subject3,stu[i].sno); 
    		i++;
    	}
    	fclose(fd);
    	return 1;
    }
    
    
    void main()
    {
    	student stu[5];
    	InputTerm(stu);
        //InputData(stu);
    	//ReadData(stu);
    	//InputDataBin(stu);
    	//ReadDataBin(stu);
    
    }
    

      

  • 相关阅读:
    【Ubuntu使用技巧】在Ubuntu下制作ISO镜像的方法
    【Linux调试技术1】初步基础
    【算法研究与实现】最小二乘法直线拟合
    【嵌入式学习】移植konquerorembed
    【Asterisk应用】利用Asterisk产生呼叫的脚本
    【LDAP学习】OpenLDAP学习笔记
    一个.NET通用JSON解析/构建类的实现(c#)
    .net泛型在序列化、反序列化JSON数据中的应用
    C#字符串数组排序
    c#中的Json的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/ewitt/p/6995011.html
Copyright © 2020-2023  润新知