文件\学生信息录入

简介: 文件\学生信息录入

编译器:vs2010

文件操作里值得一提的是:如果文件不存在,新生成的文件会出现在源码同目录下,而不是和解决方案同一目录下(如果是指定的绝对路径就想放哪里就放哪里,但是不好移植)

#include<stdio.h>
#include<stdlib.h>
#define N 40
 
//定义结构体
typedef struct student
{
  char id[20];
  char name[30];
  int age;
  double score;
}stu;
 
FILE* CreateFile(stu stu1[],int numofstu)
{
  FILE *fp;
  int i;
  //打开文件
  fp=fopen("./Info.dat","wb");
  if(fp==0)
  {
    printf("file error\n");
    exit(1);
  }
  for(i=0;i<numofstu;i++)
  {
    printf("请输入(%d/%d):",i+1,numofstu);
    scanf("%s%s%d%lf",stu1[i].id,stu1[i].name,&stu1[i].age,&stu1[i].score);
  }
  fwrite(stu1,sizeof(stu),numofstu,fp);
  fclose(fp);
  return fp;
}
void Sort(int num,stu stu2[])
{
  int i;
  stu tmp;
  for(i=0;i<num-1;i++)
  {
    if(stu2[i].score<stu2[i+1].score)
    {
      tmp=stu2[i];
      stu2[i]=stu2[i+1];
      stu2[i+1]=tmp;
    }
  }
}
 
FILE* ReadOut(int num,stu stu2[])
{
  FILE *fp;
  int i=0;
  //读取文件内容
  fp=fopen("./Info.dat","rb");
  if(fp==0)
  {
    printf("file error\n");
    exit(1);
  }
  rewind(fp);
  fread(&stu2[i],sizeof(stu),1,fp);
  while(!feof(fp))
  {
    i++;
    fread(&stu2[i],sizeof(stu),1,fp);
  }
  num=i;
  Sort(num,stu2);
  for(i=0;i<num;i++)
    printf("%s %s %d %f\n",stu2[i].id,stu2[i].name,stu2[i].age,stu2[i].score);
  fclose(fp);
  return fp;
}
 
int main()
{
  //初始化
  FILE *fp;
  stu stu1[N]={};
  stu stu2[N];
  int num=0,numofstu;
 
  printf("num of students?");
  scanf("%d",&numofstu);
 
  fp=CreateFile(stu1,numofstu);
  
 
  
  //读取
  fp=ReadOut(num,stu2);
 
  //关闭文件
  //fclose(fp);
  printf("操作完成\n已关闭文件\n");
 
  system("pause");
  return 0;
}


目录
相关文章
|
SQL Java 关系型数据库
用户档案PDF报表1
用户档案PDF报表
85 1
|
前端开发 关系型数据库 MySQL
用户档案PDF报表2
用户档案PDF报表
87 0
如何快速核对未到场的人数名字EXCEL
如何快速核对未到场的人数名字EXCEL
7-27 通讯录的录入与显示 (10 分)
7-27 通讯录的录入与显示 (10 分)
443 0
方法:怎样把大量批量号码导入联系人到手机通讯录?
第一步:我们手里有一个excel表格,里面有铭字和号码,这是常见的格式,当然只有号码也可以。你把它们复制好,然后在电脑上打开软件:金芝号码提取导入助手,把刚才复制好的东西粘贴进来第二步:点它下方的按钮“转成通讯录”,你会得到一个通讯录格式的文件,然后你从电脑上把这个文件发给你的手机,在手机上打开它,就能把大量号码导入到通讯录成为联系人。第三步:怎么把文件从电脑上发给手机,这很简单啊,登录你的电脑某信或者某扣,发给你的手机某信或者某扣就ok了,很常见的方式啊。
方法:怎样把大量批量号码导入联系人到手机通讯录?
方法:在线vcf手机号码通讯录批量导入
第一步:在线的话,需要你在电脑上,打开电脑软件《金芝号码提取导入助手》,然后把你的通讯录电脑excel表格打开,把里面的姓铭和号码分别复制出来,选择软件的第三个功能“导入通讯录”,接着你把复制好的铭字粘贴进去第一个方框,把复制好的号码粘贴进去第二个方框。第二步:点软件上这个功能模块的按钮“生成通讯录”,就能在线得到一个vcf文件,你再把这个文件保存到电脑上。第三步:当然还差最后一步,就是把这个vcf文件发送给你的手机(常见的传输方式就是通过电脑嶶xin或电脑Q,直接发给你的手机嶶xin或者手机q),你在手机上打开这个vcf格式的文件,就可以一键批量在线把号码批量导入通讯录了。
方法:在线vcf手机号码通讯录批量导入
方法:用什么软件可以把号码批量导入通讯录?
第1步:在电脑上打开软件,金芝号码提取导入助手,然后你把你的表格里的人铭和号码分别复制粘贴到软件上,点通讯录转换,就会得到一个文件。第2步:你从电脑上把这个文件发给你的手机,手机上打开文件,就可以完成用软件把号码批量导入通讯录。第3步:怎么发?电脑徽xin电脑Q,发给你的手机徽xin手机Q就可以了,简单的常见的发送文件方法。我操作过,就是这几个步骤。
方法:用什么软件可以把号码批量导入通讯录?
方法:如何把excel表格联系人导入手机通讯录?
第1步:准备材料,你的excel表格材料和电脑软件(金芝号码提取导入助手)。 第2步:开始操作,把你的excel打开,复制里面的常用联系人(人铭和号码),分别粘贴进入软件上。点按钮“通讯录转换”,出来一个文件,保存到电脑桌面。 第3步:最后工作,你再登录电脑某信或者电脑Q,发送给你的手机某信或者手机Q,在手机上打开这个文件,就可以批量把联系人导入手机通讯录。
方法:如何把excel表格联系人导入手机通讯录?
|
存储 Android开发
方式:把excel表格里的电话号码联系人导入到手机通讯录
怎么把excel表格里的电话号码联系人导入到手机通讯录?这里我演示一个网上常见的工具软件,金芝号码提取导入助手,来看看他是如何快速简单的完成这个事情的。此外,它也可以导入安卓手机的,比如小米华为等,不只是苹果手机可以。
1415 0
方式:把excel表格里的电话号码联系人导入到手机通讯录
|
存储 Android开发
方法:如何批量把excel表格联系人号码导入华为手机通讯录
看着电脑上的excel表格里上千个员工,很是头大,我是华为手机,如何批量把excel表格联系人号码导入华为手机通讯录?开始的时候信心满满的想着一个个自己手打铭字和输入一个个数字,一天存几百个,几天就搞定了,但是开始存了几十个就手指都累了而且容易出错,想想这大量重复枯燥的工作量都怀疑人生。于是上网找了很多的办法,折腾了大半天,终于发现有人介绍了一个网络上常见简单便捷操作的软件工具,金芝号码提取导入助手。在电脑上安好了软件,简单操作了三步,不到三分钟,就把excel表格里面的几千个联系人快速批量存入了手机通讯录。我下面做个教程指导。
2230 0
方法:如何批量把excel表格联系人号码导入华为手机通讯录