资源简介
首先,逐行读取指定文件中的数据,并进行解析后保存在顺序表中。其中,文件中每行数据格式为“学号,姓名,年龄”,比如“SA10225048,[yyw1] 张三,24”。
(提示:采用顺序表结构时,顺序表中每个表元素包含三类信息:学号,姓名,和年龄;采用单链表结构时,单链表中每个结点的数据域包含三类信息:学号,姓名,和年龄。)
再,根据键盘输入进行相关操作(查找,删除和插入)。比如,若键盘输入为“P3”,则表示打印出第3项的信息(注意:采用顺序表结构时,第3项数据对应下标为2的表元素;采用单链表结构时,第3项数据对应链表中第3个结点的信息;);若键盘输入为“D3”,则表示删除第3个表元素;若键盘输入为“I3,SA10225038,张四,24”,则表示在第3项前插入一个学生的信息(SA10225038,张四,24)。
代码片段和文件信息
// Test1.cpp: 定义控制台应用程序的入口点。
#include “string.h“
#include
#include
struct student
{
char id[12];
char name[10];
int age;
};
int main()
{
FILE *fw = fopen(“Lab1test.DAT“ “r“);
int len = 0;
student *list = (student*)malloc(sizeof(student)*10);
char buffer[1000];
// 从文件中读入一行数据
if (fw == NULL)
{
fprintf(stderr “Cannot open/find the file!“);
exit(EXIT_FAILURE);
}
while (!feof(fw))
{
if (fgets(buffer 1000 fw) == NULL)
break;
buffer[strlen(buffer) - 1] = ‘\0‘;
char *result = NULL*ptr;
student aStu;
ptr = buffer;
result = strtok(ptr ““);
strncpy(aStu.id result strlen(result) + 1);
ptr = NULL;
result = strtok(ptr ““);
strncpy(aStu.name result strlen(result) + 1);
ptr = NULL;
result = strtok(ptr “\0“);
aStu.age = atoi(result);
len++;
if(len%10==0)
{
realloc(list sizeof(student)*(len/10+1)*10);
}
list[len - 1] = aStu;
//printf(“%s\n“ list[len - 1].id);
}
printf(“打印全部:\n“);
for (int i = 0; i < len; i++) {
printf(“第%d项:学号%s姓名%s年龄%d\n“ i + 1 list[i].id list[i].name list[i].age);
}
printf(“数据读取完毕,请输入命令,输入q退出:\n“);
// 对顺序表操作
char command[200];
gets_s(command);
while (strcmp(command “q“)) {
相关资源
- s盒的C语言实现,S盒.cpp文件
- C语言实现的文字加密与解密小程序(
- 多边形有效边表填充算法
- 声纹识别算法验证程序openVP.zip
- 万有引力算法c程序
- 算法精解 的源代码
- C语言仿真的aloha算法
- 银行家算法源程序包含C语言+C++两种代
- 数据结构C语言版_迪杰斯特拉算法
- PBIL算法源代码C++
- 每输入i0=
- ICP算法源代码拿走不谢
- 多边形填充的扫描线c++算法
- c++实现决策树分类算法(内附测试数
- Retinex算法,C++,opencv
- 门限秘密分享算法C实现
- 基于DSP2812的SVPWM算法C语言编程
- QM算法进行布尔代数化简
- 操作系统抢占式短进程优先调度算法
- hmacSha256Test.rar
- CohenSutherland裁剪算法和中点分割裁剪
- 机器人学强化训练,适用动态避障,
- 公交线路最短路径查询
- 无优先级运算问题C语言
- DWA算法验证(matlab)
- 排序算法的实现与比较
- 几种常用的滤波算法C语言filter.c
- 画线算法C++的实现-鼠标交互
- 数据结构和算法案例-欢乐五子棋 C+
- mpu9250九轴算法-纯c语言
评论
共有 条评论