1条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-06-26 10:49关注
先定义一个结构体数组,然后赋值进去。
录入及保存参考:
/*成绩输入*/ void input() { int i = 0; //学生人数初始化// char c; FILE * fp; //定义一个文件指针fp// count(); //实时检测总数n// fp = fopen("students.txt", "at+"); //以"追加"方式打开students文本文件 do { printf("请输入学生的个人信息:\n"); printf("\n请输入第%d学生的信息:\n", n + 1); printf("请输入学生的学号:"); scanf("%d", &student[i].num); printf("请输入学生的姓名:"); scanf("%s", student[i].name); printf("请输入学生的语文成绩:"); scanf("%d", &student[i].chinese); printf("请输入学生的数学成绩:"); scanf("%d", &student[i].math); printf("请输入学生的英语成绩:"); scanf("%d", &student[i].english); student[i].sum = student[i].chinese + student[i].math + student[i].english; student[i].ave = student[i].sum / 3; fwrite( & student[i], sizeof(struct students), 1, fp); //以方式将其写入students文本文件 i++; n++; printf("\n\n\t\t\t\t是否继续输入(Y/N):"); getchar(); //提示是否继续,从键盘获得一个字符 scanf("%c", &c); } while ( c == 'y' || c == 'Y'); fclose(fp); } /*成绩输出*/ void output() { int i; char c; FILE * fp; //定义一个文件指针fp fp = fopen("students.txt", "rt"); //以"读取的" 方式打开students文本文件 system("cls"); //清屏// getchar(); printf("|#学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\t#|\n"); do { for (i = 0; i < n; i++) { fread(&student[i], sizeof(struct students), 1, fp); printf(" %d ", student[i].num); printf(" %s ", student[i].name); printf(" %d ", student[i].chinese); printf(" %d ", student[i].math); printf(" %d ", student[i].english); printf(" %d ", student[i].sum); printf(" %d \n", student[i].ave); } printf("\n\n\t\t\t\t是否继续其它操作(Y/N):"); //提示是否继续 scanf("%c", &c); c = getchar(); } while ( c == 'y' || c == 'Y'); fclose(fp); //关闭文件// }
解决 无用评论 打赏 举报
悬赏问题
- ¥20 qt4代码实现二进制文件读取显示,以及显示的内容进行搜索
- ¥15 Labview获取LK-G3001数据
- ¥15 我知道什么是混合树,但是怎么写代码啊
- ¥50 开发板linux系统安装dpkg,apt函数库 有偿
- ¥15 浏览器时间循环 交互事件和延时事件的 优先级与执行问题
- ¥15 GD模块安装出错,libgd无法正常安装
- ¥20 求有缘人帮我把笛卡尔坐标系转换为经纬度 有偿
- ¥15 vue2中使用计算属性
- ¥50 远程桌面打开Mastercam、没有许可证、物理机打开正常
- ¥15 ubuntu安装gdal后java读取tif文件报错