1、定义结构体类型student,要求其中包括学号,姓名,年龄,性别,电话,系别,成绩等信息。
#include<stdio.h> struct student{ char sno[10]; char sname[20]; int age; }; int main() { student s1={ "160809317", "liujiaxing", 19 }; printf("%s %s %d",s1.sno,s1.sname,s1.age); return 0; }
#include<stdio.h> struct student { char sno[10]; char sname[20]; int age; char tel[11]; int score; }; int main() { student class3[31]; int i; for(i=0;i<31;i++) scanf("%s%s%d%s%d",class3[i].sno,class3[i].sname,&class3[i].age,class3[i].tel,&class3[i].score); for(i=0;i<31;i++) printf("%s %s %d %s %d ",class3[i].sno,class3[i].sname,class3[i].age,class3[i].tel,class3[i].score); return 0; }
2、用fscanf和fprintf语句实现将input.txt文件中存储的学生信息复制到output.txt文件中。
#include<stdio.h> struct student { char sno[10]; char sname[20]; int age; }; int main() { student class3[31]; FILE *fp=fopen("d:\input.txt","r"); fscanf(fp,"%s%s%d",class3[0].sno,class3[0].sname,&class3[0].age); fclose(fp); fp=fopen("d:\output.txt","w"); printf("%s %s %d",class3[0].sno,class3[0].sname,class3[0].age); fclose(fp); return 0; }
3、实现课上讲解的”学生管理系统“中第一个菜单“”添加学生信息“”模块的功能,即当用户选择“添加学生信息”菜单时,提示用户输入学生的学号、姓名、年龄等信息,并将输入的信息添加到student.txt文件中。
#include<stdio.h> #include<stdlib.h> struct student { char sno[10]; char sname[20]; int age; }; void addStudent() { student class3; int ch; FILE *fp=fopen("g:\student.txt","a+"); printf("学号:"); scanf("%s",class3.sno); printf("姓名:"); scanf("%s",class3.sname); printf("年龄:"); scanf("%d",&class3.age); printf("%s %s %d ",class3.sno,class3.sname,class3.age); printf("信息添加成功,是否继续添加学生信息(Y/N)"); scanf("%s",&ch); do { printf("学号:"); scanf("%s",class3.sno); printf("姓名:"); scanf("%s",class3.sname); printf("年龄:"); scanf("%d",&class3.age); printf("%s %s %d ",class3.sno,class3.sname,class3.age); printf("信息添加成功,是否继续添加学生信息(Y/N)"); scanf("%s",&ch); }while(ch=='y' || ch=='Y'); int main() { int a; printf("学生信息管理系统 "); printf("1.添加学生信息 "); printf("请选择: "); scanf("%d",&a); if(a==1) addStudent(); return 0; }
这次作业老师在课上讲了不少,所以一般难,但是也看了好多其他同学的作业和老师上课讲的,我不明白其他同学的作业printf前面还要加一个f,括号里面为什么还要加上fp,最后一道题总是有两个错误我也没有找出来。