91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-06-18
  • 語言: C/C++
  • 標簽: 算法??

資源簡介

首先,逐行讀取指定文件中的數(shù)據(jù),并進行解析后保存在順序表中。其中,文件中每行數(shù)據(jù)格式為“學號,姓名,年齡”,比如“SA10225048,[yyw1] 張三,24”。 (提示:采用順序表結構時,順序表中每個表元素包含三類信息:學號,姓名,和年齡;采用單鏈表結構時,單鏈表中每個結點的數(shù)據(jù)域包含三類信息:學號,姓名,和年齡。) 再,根據(jù)鍵盤輸入進行相關操作(查找,刪除和插入)。比如,若鍵盤輸入為“P3”,則表示打印出第3項的信息(注意:采用順序表結構時,第3項數(shù)據(jù)對應下標為2的表元素;采用單鏈表結構時,第3項數(shù)據(jù)對應鏈表中第3個結點的信息;);若鍵盤輸入為“D3”,則表示刪除第3個表元素;若鍵盤輸入為“I3,SA10225038,張四,24”,則表示在第3項前插入一個學生的信息(SA10225038,張四,24)。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include

typedef?struct?ListNode?{ //定義結構體
char?*id;
char?*name;
char?*age;
ListNode?*Next;????????//????指向下一個鏈表節(jié)點
}Node?*PNode;

void?readfile(PNode?L?int?*m){
PNode?p?q;
q?=?L;
int?i;
FILE?*fp;
char?buffer[30]; //buffer數(shù)組存放讀取文件的每一條信息
q?=?L;?//讀入第一條數(shù)據(jù)
if?((fp?=?fopen(“Lab1test.DAT“?“r“))?==?NULL) //?打開文件并且讓fp指向文件?
{
printf(“Can?not?open?file\n“);
}
while?(!feof(fp)){ //當文件未結束時執(zhí)行
p?=?(PNode)malloc(sizeof(Node));

if?(fgets(buffer?30?fp)?==?NULL)
break;
buffer[strlen(buffer)?-?1]?=?‘\0‘;
int?count?=?0;
for?(i?=?0;?buffer[i]?!=?‘‘;?i++){ //count記錄每個結點應該分配的大小
count++;
}

p->id?=?(char*)malloc(sizeof(char)*(count?+?1));
buffer[i++]?=?‘\0‘;
strcpy(p->id?buffer);

count?=?0;
for?(;?buffer[i]?!=?‘‘;?i++){
count++;
}
p->name?=?(char*)malloc(sizeof(char)*(count?+?1));
buffer[i++]?=?‘\0‘;
strcpy(p->name?&buffer[i?-?count?-?1]);
p->age?=?(char*)malloc(sizeof(char)*(count?+?1));
strcpy(p->age?&buffer[i]);

q->Next?=?p; //將p插入鏈表的末尾
q?=?q->Next; //q指針后移
(*m)++; //信息條數(shù)+1
}
q->Next?=?NULL;
}

void?PrintList(PNode?L){
PNode?p;
p?=?L->Next;
int?count?=?1;
//printf(“%-15s%-10s%-5s\n“?“學號“?“姓名“?“年齡“);
while?(p?!=?NULL){
printf(“第%d項:學號%s?姓名%s年齡%s\n“?countp->id?p->name?p->age);
count++;
p?=?p->Next;

}
}
void?DelNode(PNode?L?int?c){
PNode?p?q;
p?=?L;

for?(int?i?=?0;?i {
p?=?p->Next;
}
q?=?p->Next;
p->Next?=?p->Next->Next;
free(q);
PrintList(L);
}

void?InsertNode(PNode?L?int?c){
int?i?count=0;
PNode?p?q;
p?=?L;
char?a[30];

//printf(“請輸入插入信息:\n“);
scanf(“%s“?a);
q?

評論

共有 條評論