既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
C语言期末大作业15个(附源码)成绩管理系统、图书馆管理系统、学生打卡系统、超市信息管理系统、学生考勤系统、职工信息管理系统源码、歌曲信息管理系统、超市收款系统等等
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN sizeof(struct Student)
struct Student
{
int clas;
int num;
char name[20];
char cou[20];
int score;
struct Student \*next;
};
struct Student \*creat(void)
{
struct Student \*head;
struct Student \*p1,\*p2;
int n=0;
printf("班级 学号 姓名 课程 得分(输入0 0 0 0 0结束):\n");
p1=p2=(struct Student\*)malloc(LEN);
scanf("%d%d%s%s%d",&p1->clas,&p1->num,p1->name,p1->cou,&p1->score);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Student\*)malloc(LEN);
scanf("%d%d%s%s%d",&p1->clas,&p1->num,p1->name,p1->cou,&p1->score);
}
p2->next=NULL;
return(head);
}
void shuchu(struct Student \*pt)
{
printf("\n");
printf("班级 学号 姓名 课程 得分:\n");
while (pt!=NULL)
{
printf("%-5d%-5d%-5s%-5s%-5d\n",pt->clas,pt->num,pt->name,pt->cou,pt->score);
pt=pt->next;
}
printf("\n");
}
void add(struct Student \*pt)
{
struct Student \*p1,\*p2,\*head;
head=pt;
printf("请输出你要添加的学生信息:\n");
while(pt->next!=NULL)
{
pt=pt->next;
}
p1=p2=pt;
printf("班级 学号 姓名 课程 得分(输入0 0 0 0 0结束):\n");
do
{
p1=(struct Student\*)malloc(LEN);
scanf("%d%d%s%s%d",&p1->clas,&p1->num,p1->name,p1->cou,&p1->score);
p2->next=p1;
p2=p1;
}while(p1->num!=0);
p2->next=NULL;
shuchu(head);
}
void del(struct Student \*pt)
{
int n;
printf("请输入你要删除的学生的学号:\n");
scanf("%d",&n);
if(n==pt->num)
{
pt->next=pt->next->next;
printf("已删除学生信息\n");
}
while(n!=(pt->next)->num)
{
pt=pt->next;
}
pt->next=pt->next->next;
printf("已删除学生信息\n");
printf("\n");
}
void order(struct Student \*pt)
{
struct Student \*first,\*t,\*p,\*q;
first=pt->next;
pt->next=NULL;
while(first!=NULL)
{
for(t=first,q=pt;((q!=NULL)&&(q->score<t->score));p=q,q=q->next);
first = first->next;
if(q==pt)
pt=t;
else
p->next=t;
t->next=q;
}
shuchu(pt);
}
void max(struct Student \*pt)
{
struct Student \*max;
max=pt;
while(pt->next!=NULL)
{
if((max->score)<(pt->next->score))
{
max=pt->next;
}
pt=pt->next;
}
printf("\n");
printf("班级 学号 姓名 课程 得分:\n");
printf("%-5d%-5d%-5s%-5s%-5d\n",max->clas,max->num,max->name,max->cou,max->score);
printf("\n");
}
void min(struct Student \*pt)
{
struct Student \*min;
min=pt;
while(pt->next!=NULL)
{
if((min->score)>(pt->next->score))
{
min=pt->next;
}
pt=pt->next;
}
printf("\n");
printf("班级 学号 姓名 课程 得分:\n");
printf("%-5d%-5d%-5s%-5s%-5d\n",min->clas,min->num,min->name,min->cou,min->score);
printf("\n");
}
void aver(struct Student \*pt)
{
int n=0;
float aver,sum=0.0;
while(pt!=NULL)
{
sum+=pt->score;
n++;
pt=pt->next;
}
aver=(float)sum/n;
printf("\n");
printf("平均分:%f\n",aver);
printf("\n");
}
void jigelv(struct Student \*pt)
{
int n=0;
float jigelv=0.0,s=0.0;
while(pt!=NULL)
{
if((pt->score)>=60)
{
n++;
}
s++;
pt=pt->next;
}
jigelv=n/s\*100;
printf("\n");
printf("及格率:百分之%f",jigelv);
printf("\n");
}
void search(struct Student \*pt)
{
void num(struct Student \*pt);
void name(struct Student \*pt);
void cou(struct Student \*pt);
int n;
printf("\n");
printf("请输入你要查询学生的 1 学号 2 姓名 3 课程名:\n");
scanf("%d",&n);
switch(n)
{
case 1:num(pt);break;
case 2:name(pt);break;
case 3:cou(pt);break;
default:printf("error!\n");
}
}
void num(struct Student \*pt)
{
int n;
printf("\n");
printf("请输入你要查询学生的学号:\n");
scanf("%d",&n);
while(pt->num!=n)
{
pt=pt->next;
}
printf("班级 学号 姓名 课程 得分:\n");
printf("\n");
printf("%-5d%-5d%-5s%-5s%-5d\n",pt->clas,pt->num,pt->name,pt->cou,pt->score);
}
void name(struct Student \*pt)
{
char name[20];
scanf("%s",name);
printf("\n");
printf("请输入你要查询学生的姓名:\n");
while(strcmp(pt->name,name)!=0)
{
pt=pt->next;
}
printf("班级 学号 姓名 课程 得分:\n");
printf("\n");
printf("%-5d%-5d%-5s%-5s%-5d\n",pt->clas,pt->num,pt->name,pt->cou,pt->score);
}
void cou(struct Student \*pt)
{
char cou[20];
scanf("%s",cou);
printf("\n");
printf("请输入你要查询学生的课程名:\n");
while(strcmp(pt->cou,cou)!=0)
{
pt=pt->next;
}
printf("班级 学号 姓名 课程 得分:\n");
printf("\n");
printf("%-5d%-5d%-5s%-5s%-5d\n",pt->clas,pt->num,pt->name,pt->cou,pt->score);
}
void save(struct Student \*pt)
{
FILE \*fp;
if((fp=fopen("D:\\student information.txt","w"))==NULL)
{
printf("can't open file!\n");
exit(0);
}
while(pt!=NULL)
{
if(fwrite(pt,sizeof(struct Student),1,fp)!=1)
printf("file write error\n");
pt=pt->next;
}
printf("存储完成\n");
fclose(fp);
}
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/431bf3ca5658ef014fedb3f025af9def.png)
![img](https://img-blog.csdnimg.cn/img_convert/6aadd9df4eb8b453904f6e03aed53be7.png)
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
...(img-EzT32VLz-1715866881500)]
[外链图片转存中...(img-HWDLyUxC-1715866881500)]
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**