文件\学生信息录入

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

编译器: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报表
87 1
|
前端开发 关系型数据库 MySQL
用户档案PDF报表2
用户档案PDF报表
87 0
|
数据库
点餐系统新增excel菜品数据批量导入功能
点餐系统新增excel菜品数据批量导入功能
186 0
如何快速核对未到场的人数名字EXCEL
如何快速核对未到场的人数名字EXCEL
7-27 通讯录的录入与显示 (10 分)
7-27 通讯录的录入与显示 (10 分)
444 0
方法:在线vcf手机号码通讯录批量导入
第一步:在线的话,需要你在电脑上,打开电脑软件《金芝号码提取导入助手》,然后把你的通讯录电脑excel表格打开,把里面的姓铭和号码分别复制出来,选择软件的第三个功能“导入通讯录”,接着你把复制好的铭字粘贴进去第一个方框,把复制好的号码粘贴进去第二个方框。第二步:点软件上这个功能模块的按钮“生成通讯录”,就能在线得到一个vcf文件,你再把这个文件保存到电脑上。第三步:当然还差最后一步,就是把这个vcf文件发送给你的手机(常见的传输方式就是通过电脑嶶xin或电脑Q,直接发给你的手机嶶xin或者手机q),你在手机上打开这个vcf格式的文件,就可以一键批量在线把号码批量导入通讯录了。
方法:在线vcf手机号码通讯录批量导入
方法:用什么软件可以把号码批量导入通讯录?
第1步:在电脑上打开软件,金芝号码提取导入助手,然后你把你的表格里的人铭和号码分别复制粘贴到软件上,点通讯录转换,就会得到一个文件。第2步:你从电脑上把这个文件发给你的手机,手机上打开文件,就可以完成用软件把号码批量导入通讯录。第3步:怎么发?电脑徽xin电脑Q,发给你的手机徽xin手机Q就可以了,简单的常见的发送文件方法。我操作过,就是这几个步骤。
方法:用什么软件可以把号码批量导入通讯录?
解答:有没有把手机号码批量导入通讯录软件?
第(一)步:有的,你在电脑上打开软件,金芝号码提取导入助手,然后把你准备好的号码和姓铭分别复制粘贴到软件上,点下方的按键“转换成通讯录”,那么就可以在电脑上得到一个通讯录文件。 第(二)步:你再把这个文件发给你手机,在手机上打开文件,就可以实现:号码导入通讯录的软件。 第(三)步:一个简单的细节问题,怎么把电脑上的文件发送给手机,这不是什么难事啊。打开你的电脑徽xin或电脑q,把它发给你的手机徽xin或者手机q就行了,小菜一碟。
解答:有没有把手机号码批量导入通讯录软件?
方法:怎样把大量批量号码导入联系人到手机通讯录?
第一步:我们手里有一个excel表格,里面有铭字和号码,这是常见的格式,当然只有号码也可以。你把它们复制好,然后在电脑上打开软件:金芝号码提取导入助手,把刚才复制好的东西粘贴进来第二步:点它下方的按钮“转成通讯录”,你会得到一个通讯录格式的文件,然后你从电脑上把这个文件发给你的手机,在手机上打开它,就能把大量号码导入到通讯录成为联系人。第三步:怎么把文件从电脑上发给手机,这很简单啊,登录你的电脑某信或者某扣,发给你的手机某信或者某扣就ok了,很常见的方式啊。
方法:怎样把大量批量号码导入联系人到手机通讯录?