c语言程序设计多个文件,c语言如何单文件变多文件(2个文件),求大神帮忙!!...

[C] 纯文本查看 复制代码#pragma once

#include

#include

#include

struct node

{

int num;

char name[15];

int c;

node *next;

};

node *create()

{

struct node * head, *p, *q;

int number;

char sname[15];

int sc;

head = (node *)malloc(sizeof(node));

if (head == NULL)

{

printf("创建失败!!");

}

else

{

printf("请输入学号,姓名,成绩\n");

scanf("%d", &number);

scanf("%s", &sname);

scanf("%d", &sc);

head->num = number;

head->c = sc;

strcpy(head->name, sname);

head->next = NULL;

p = head;

while (1)

{

q = (node *)malloc(sizeof(node));

printf("请输入学号,姓名,成绩(输入0时结束)\n");

scanf("%d", &number);

if (number == 0)

{

break;

}

scanf("%s", &sname);

scanf("%d", &sc);

q->num = number;

q->c = sc;

strcpy(q->name, sname);

q->next = NULL;

p->next = q;

p = q;

}

return head;

}

}

node *jiaru(node *head)

{

node *p, *q;

int number;

char sname[15];

int sc;

p = head;

while (p->next != NULL)

{

p = p->next;

}

while (1)

{

q = (node *)malloc(sizeof(node));

printf("请输入学号,姓名,成绩(输入0时结束)\n");

scanf("%d", &number);

if (number == 0)

{

break;

}

scanf("%s", &sname);

scanf("%d", &sc);

q->num = number;

q->c = sc;

strcpy(q->name, sname);

q->next = NULL;

p->next = q;

p = q;

}

return head;

}

node * delete_i(node *head)

{

node *b, *p;

p = head;

int i;

char c;

printf("请输入要删除学生学号:");

scanf("%d", &i);

while (1)

{

if (p == NULL)

{

return head;

}

if (p->num == i)

{

printf("确认删除y/n:");

scanf("%s", &c);

if (c == 'y')

{

if (p == head)

{

head = p->next;

free(p);

printf("删除成功!\n");

return head;

}

else

{

b->next = p->next;

free(p);

printf("删除成功!\n");

return head;

}

}

else

printf("退出删除!\n");

}

b = p;

p = p->next;

}

printf("删除出错!\n");

return head;

}

int query_i(node * head)

{

struct node * p;

int i;

p = head;

printf("请输入你要查找的学号:");

scanf("%d", &i);

while (p != NULL)

{

if (p->num == i)

{

printf(" 学号 姓名 成绩\n");

printf("------------------\n");

printf(" %d | %s | %d\n", p->num, p->name, p->c);

printf("------------------\n");

return 1;

}

p = p->next;

}

printf("没有找到!!!\n");

return 0;

}

int install_i(node * head)

{

struct node *p, *n;

p = head;

n = (node *)malloc(sizeof(node));

int number, inno, j = 1;

char sname[15]; ;

int sc;

printf("请输入学号,姓名,成绩\n");

scanf("%d", &number);

scanf("%s", &sname);

scanf("%d", &sc);

n->num = number;

n->c = sc;

strcpy(n->name, sname);

n->next = NULL;

printf("请输入要插入到第几位学生后面:");

scanf("%d", &inno);

while (p != NULL&&j < inno)

{

p = p->next;

j++;

}

if (j == inno)

{

n->next = p->next;

p->next = n;

return 1;

}

printf("没有找到该学生!!\n");

return 0;

}

int xiugai_i(node *head)

{

node *p;

p = head;

char sname[15];

int sgs, syy, sc, number;

if (p == NULL)

{

printf("无学生信息\n");

}

else

{

printf("请输入你需要修改的学生学号:\n");

scanf("%d", &number);

while (p != NULL)

{

if (p->num == number)

{

printf("请修改该生学号:\n");

scanf("%d", &number);

p->num = number;

printf("请修改该生姓名:\n");

scanf("%s", &sname);

strcpy(p->name, sname);

printf("请修改成绩:\n");

scanf("%d", &sc);

p->c = sc;

return 1;

}

p = p->next;

}

printf("无该学生信息!!!\n");

}

}

void shuchu(node * head)

{

struct node *p;

p = head;

printf(" 学号 姓名 成绩\n");

while (p != NULL)

{

printf("------------------\n");

printf(" %d | %s | %d\n", p->num, p->name, p->c);

p = p->next;

}

printf("------------------\n");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值