#include<stdio.h>#include<stdlib.h>#include"student.h"SI* create(){SI*head=NULL;SI*p1;SI*p2;head=p1=(SI*)malloc(sizeof(SI));if(head==NULL)return head;printf("输入学号;0代表结束输入");scanf("%d",&(p1->number));if(p1->number==0){free(p1);return (head);}else {printf("依次输入 姓名,分数,出生年月日(格式为xx年xx月xx日),年龄,地址,电话号码,电子邮件地址");scanf("%s%f%s%d%s%f%s",p1->name,&(p1->score),p1->birth,&(p1->age),p1->address,&(p1->phonenum),p1->E_mail);printf("输入性别,1代表男,0代表女");scanf("%d",&(p1->sex));};while(1){p2=p1;p1=(SI*)malloc(sizeof(SI));if(p1=NULL){printf("申请失败");p2->next=NULL;return head;}printf("输入学号,0代表结束输入");scanf("%d",&(p1->number));if(p1->number==0){free(p1);p2->next=NULL;return head;};printf("依次输入 姓名,分数,出生年月日(格式为xx年xx月xx日),年龄,地址,电话号码,电子邮件地址");scanf("%s%f%s%d%s%f%s",p1->name,&(p1->score),p1->birth,&(p1->age),p1->address,&(p1->phonenum),p1->E_mail);printf("输入性别,1代表男,0代表女");scanf("%d",&(p1->sex));p2->next=p1;}}//创建链表的函数结束。 int makefile(char name[20]){FILE*fp;SI*t;fp=fopen(name,"wb+");if(fp==NULL){printf("无法打开文件,");exit(0);}t=create;if(t==NULL){printf("链表为空,请再次选择,输入信息");return 0;}do{fwrite(t,sizeof(SI),1,fp);t=t->next;}while((t->next)!=NULL);return 0;} void prin(char *name) {printf("0");} void correct() {printf("0");}上面是函数定义文件。#include<stdio.h>#include"student.body.c"void main(){int n;char name[20]="student.dat";while(1){ printf("1代表将信息录入文件;2代表输出学生信息;3代表修改成绩等;4代表结束"); scanf("%d,&n"); switch(n) { case 1:makefile(name);continue; case 2:prin(name);continue; case 3:correct();continue; case 4:exit(0); };}}上面是main函数所在文件#include<stdio.h>#include<stdlib.h>struct student_information{float score,phonenum;int number;char name[16],address[20],E_mail[20],birth[18];struct student_information* next;short int age;enum{female,male}sex;};typedef struct student_information SI;SI *create();int makefile(char name[20]);void prin(char name[20]);void correct();上面是函数声明文件。
目前暂无任何回答
- 0 回答
- 0 关注
- 1355 浏览
添加回答
举报
0/150
提交
取消