#include"head.h" void fsave(pstudent head, int* num) { FILE* fp; fp = fopen("幼儿园.txt", "w"); fprintf(fp, "%d\n", *num); fputs("编号\t\t姓名\t\t性别\t\t年龄\t\t班级\t\t缴费日期\t\t缴费年限\n", fp); while (head != NULL) { fprintf(fp, "%ld\t\t", head->id); fprintf(fp, "%s\t\t", head->name); fprintf(fp, "%s\t\t", head->gender); fprintf(fp, "%d岁\t\t", head->age); fprintf(fp, "%s\t\t", head->clas); fprintf(fp, "%d-%d-%d\t\t", head->date[0], head->date[1], head->date[2]); fprintf(fp, "%d-%d-%d\t\t\n", head->time[0], head->time[1], head->time[2]); head = head->next; } fclose(fp); } int fnread(pstudent* head, int* num)//读取信息 { char s[15] = { 0 }; int i = 0; pstudent middle; FILE* fp; fp = fopen("幼儿园.txt", "r"); fscanf(fp, "%d", num); i = 7; while (i--) fscanf(fp, "%s", s); i = *num; while (i--) { middle = (pstudent)malloc(sizeof(student)); if (middle == NULL) { printf("内存分配失败\n"); return 0; } else { middle->next = NULL; fscanf(fp, "%ld", &middle->id); fscanf(fp, "%s", middle->name); fscanf(fp, "%s", middle->gender); fscanf(fp, "%d岁", &middle->age); fscanf(fp, "%s", middle->clas); fscanf(fp, "%d-%d-%d", &middle->date[0], &middle->date[1], &middle->date[2]); fscanf(fp, "%d-%d-%d", &middle->time[0], &middle->time[1], &middle->time[2]); middle->next = *head; *head = middle; } } fclose(fp); return 1; }

时间: 2024-04-06 10:30:33 浏览: 20
这是一段 C 语言代码,实现了幼儿园学生信息的保存和读取功能。函数 fsave(pstudent head, int* num) 将链表中的学生信息保存到文件 "幼儿园.txt" 中。函数 fnread(pstudent* head, int* num) 从文件 "幼儿园.txt" 中读取学生信息并存储到链表中,同时返回读取的学生数量。 具体实现: 函数 fsave(pstudent head, int* num) : 1. 打开文件 "幼儿园.txt" 并以写入的方式打开。 2. 先将学生数量 *num 写入文件中。 3. 将学生信息依次写入文件中,每个学生信息占一行。每行的信息包括:学生编号、姓名、性别、年龄、班级、缴费日期、缴费年限。 4. 关闭文件。 函数 fnread(pstudent* head, int* num) : 1. 打开文件 "幼儿园.txt" 并以读取的方式打开。 2. 先读取学生数量 *num。 3. 跳过表头的一行信息。 4. 依次读取每个学生的信息,并将其存储到一个新的结构体 middle 中。 5. 将新的结构体 middle 加入到链表的头部。 6. 重复步骤 4 和 5 直到读取完所有的学生信息。 7. 关闭文件。 8. 返回读取的学生数量。
相关问题

分析这段代码 try: ifable = driver.find_element(By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/div/div/div[2]/button').is_enabled() if ifable == True: driver.find_element(By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/div/div/div[2]/button').click() fsave = open('F:\pythonfiles\li\程序自动筛选出的电子监管码.txt', mode='a') fsave.write(条码 + '\n') fsave.close() except NoSuchElementException: print("正常")

这段代码使用了 `try-except` 语句块,用于捕获可能发生的异常。在 `try` 语句块中,首先通过 `driver.find_element()` 方法查找一个 xpath 为 `/html/body/div[3]/div/div[2]/div/div[2]/div/div/div[2]/button` 的按钮元素,并使用 `is_enabled()` 方法检查该元素是否可点击。如果该元素可点击,则点击该按钮,并将 `条码` 写入名为 `F:\pythonfiles\li\程序自动筛选出的电子监管码.txt` 的文件中。如果该元素不可点击,则不进行任何操作,直接跳到 `except` 语句块,输出字符串 "正常"。其中,`NoSuchElementException` 是 `selenium` 库中的一个异常类,表示在当前页面中找不到指定的元素。

'Document' object has no attribute 'fsave'

根据提供的引用内容,错误信息"'Document' object has no attribute 'fsave'"表明在使用Python的某个'Document'对象时,出现了'fsave'属性不存在的错误。根据提供的信息,无法准确判断问题的具体原因。可能是在代码中使用了一个未定义的属性名称或调用了一个不存在的方法。解决这个问题的方法通常是检查代码,确保正确地使用了'Document'对象,并确认是否存在正确的属性和方法。如果需要更多帮助,请提供更多关于代码的详细信息。

相关推荐

最新推荐

recommend-type

grpcio-1.45.0-cp37-cp37m-musllinux_1_1_x86_64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

AVee基础教程.pdf

AVee基础教程
recommend-type

mysql语句大全及用法

mysql语句大全及用法
recommend-type

cryptography-42.0.1-cp37-abi3-musllinux_1_1_aarch64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

debugpy-1.4.0-cp38-cp38-manylinux1_x86_64.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

get() { return this.photoState },

这是一个 JavaScript 中的方法定义,它定义了一个名为 `get` 的方法。这个方法没有参数,它返回了 `this.photoState`。在这个方法中,`this` 是指当前对象,而 `photoState` 是该对象的一个属性。通常情况下,`get` 方法用于获取对象的属性值,并且可以在获取属性值之前进行一些逻辑操作。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。