c语言编程:将3个学生的信息保存到文件stud.dat中,再从文件中读出显示在屏幕上

已有如下的结构体变量定义
struct student
{

}stu[3];

求大神帮助!谢谢了!

#include<stdio.h>
#define N 3
struct student { char name[20]; int num,age,sex; } stu[N];
void main() { FILE *fp; int i; struct student a[N]; char s[2][3]={"女","男"};
  printf("请顺序输入:学号 姓名 年龄 性别(用空格分隔,性别用0代表女生,1代表男生)\n");
  for ( i=0;i<n;i++ ) {
    printf("%d: ",i+1);
    scanf("%d %s %d %d",&stu[i].num,stu[i].name,&stu[i].age,&stu[i].sex);
  }
  if ( fp=fopen("stud.dat","wb+") ) {
    fwrite(stu,sizeof(struct student),N,fp);
    fclose(fp);
  } else printf("无法建立文件。\n");
  if ( fp=fopen("stud.dat","rb") ) {
    fread(a,sizeof(struct student),N,fp);
    fclose(fp);
  } else printf("无法打开文件读取。\n");
  printf("    学生信息\n学号   姓  名   年龄 性别\n");
  for ( i=0;i<n;i++ ) {
    printf("%04d %-10s %-4d  %s\n",a[i].num,a[i].name,a[i].age,s[a[i].sex]);
  }
}

追问

谢谢!我回去试试看

温馨提示:内容为网友见解,仅供参考
无其他回答

(2)若已有如下的结构体变量定义?
void WriteFile(){ ofstream f("stud. dat", ios::binary);f.write((char *)stu, sizeof(student) * 3);f.close();} void ReadFile(){ ifstream in("stud. dat", ios_base::in | ios_base::binary);in.read((char *)stu, sizeof(student) * 3);in.close();} ...

C语言在键盘上输入三个学生的信息(包含学号,姓名,三门课的成绩)并在...
{printf("学生%d的三门成绩分别为:\\t",i+1);for(j=0;j<3;j++){printf("%d\\t",score[j]);if(j==2)printf("\\n");}}printf("\\n");} printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。函数...

C语言学生成绩管理系统
2在主函数中输入学生学号,姓名,班级,三门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。 3定义保存文件函数save()和显示文件函数display() 展开  我来答 2个回答 #热议# 该不该让孩子很早学习人情世故?匿...

用C语言保存读取显示数据
void save(Student *head){ FILE *fp;fp = fopen("stud.dat","wb");if(fp == NULL)return ;while(head!= NULL){ fwrite(head,sizeof(Student),1,fp);printf("%d,%s,%d,%d,%d,%d,%d\\n",head->num,head->name,head->score[0],head->score[1],head->score[2],head->score[3...

c语言程序设计编程题目:请 :编写完成对学生相关信息的要求:1.定义一...
stu[j] = stud;} } } int main( ){ student stu[STU_NUM]; \/*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*\/ \/*输入这十个学生的相关信息*\/ for(int i = 0; i<STU_NUM; i++){ printf("请输入第%d个学生的学号:",i+1);scanf("%s",&stu[i].stu_id);pr...

C++。一向stud.dat中输入信息,二将stud.dat中的信息显示在屏幕上。程序...
简单的改法:string name; 改成 char name[10];复杂一点,参考"C++对象序列化"

...在D盘根目录下建立一个存放学生成绩的顺序文件“stud1.dat...
。。。说清楚用什么语言编

C语言中怎么显示文件的内容在屏幕上
1、首先第一步,你打开软件,第一行代码要写头文件,我们写的是#include<stdio.h>,在这个头文件里包含了我们要调用的函数。2、第二行就是main函数了,他是程序执行的入口,势必不可少的;int maihn (void),void可以省略。3、第三部,Main函数写完之后,一点还要再下面加大括号,漏加大括号是初学...

将10名学生的数据存在文件中,编写程序从文件读取数据,并将结果写入文件...
我这有两段代码,分别是读取和写入,你看看吧 \/\/读数 readFile.c#include<stdio.h>#include<stdlib.h>#define N 20struct stud{ int num;int sco1;int sco2;int sco3;}stu[N];void main(){ FILE *fp;double ave;int i=0,x;if((fp=fopen("STUDENT.DAT","r"))==NULL){ printf(...

C语言程序设计题目:学生信息管理系统设计
已经按你的要求改写并调试通过了。调试环境win-tc和Dev-c++.这是我在以前帮别人写的学生成绩管理系统的基础上改写的,学生信息用文件保存,从文件读入。同时为了简化起见,没有使用链表,容易理解。程序还具有很强的判断验错功能。对本题算法很简单,就是一个函数strcmp().其中student.dat内容如下,你...

相似回答