用C语言设计1、创建“成绩.txt”文档,并输入学生的姓名和成绩 2、从键盘输入学生姓名,返回该学生成绩 3、如果输入的名字在文档中不存在,提示输入错
时间: 2024-03-07 16:50:06 浏览: 74
C语言课程设计-学生成绩管理系统C语言源码+项目说明.zip
5星 · 资源好评率100%
以下是一个实现上述功能的简单程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
char name[20];
int score;
};
int main() {
struct Student students[MAX_STUDENTS];
int num_students = 0;
// 创建并打开文件
FILE *fp = fopen("成绩.txt", "w");
if (fp == NULL) {
printf("文件创建失败!\n");
return -1;
}
// 输入学生信息到文件中
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的姓名和成绩:", i+1);
scanf("%s %d", students[i].name, &students[i].score);
fprintf(fp, "%s %d\n", students[i].name, students[i].score);
num_students++;
}
fclose(fp);
// 从文件中查找学生信息
char name[20];
printf("请输入要查找的学生姓名:");
scanf("%s", name);
fp = fopen("成绩.txt", "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return -1;
}
int found = 0;
while (!feof(fp)) {
char line[50];
fgets(line, 50, fp);
// 如果该行为空行,则跳过
if (strlen(line) == 0) {
continue;
}
char *token = strtok(line, " ");
if (strcmp(token, name) == 0) {
printf("学生 %s 的成绩是 %s", name, strtok(NULL, " "));
found = 1;
break;
}
}
if (!found) {
printf("没有找到该学生的信息!\n");
}
fclose(fp);
return 0;
}
```
程序首先创建了一个名为“成绩.txt”的文本文件,并向其中输入了三个学生的姓名和成绩。然后程序从键盘输入要查找的学生姓名,并在文件中查找对应的学生信息。如果找到了该学生的信息,则输出其成绩;否则提示输入错误。
在文件操作方面,程序使用了 `fopen()` 函数来打开文件,并使用 `fprintf()` 函数将学生信息写入文件中。在查找学生信息时,程序使用了 `fgets()` 函数逐行读取文件内容,并使用 `strtok()` 函数将每行信息中的姓名和成绩分别提取出来。
阅读全文