2024年最新C语言-学生成绩管理系统_学生成绩管理系统c语言代码,2024年最新字节跳动高级前端面试题

最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

// 系统主函数入口
int main(){

int flag = 1;
int choice;

Squeue \*Q;
Q = (Squeue\*)calloc(20,sizeof(Squeue));
InitQueue(Q);

load(Q);    //完成数据的预读取

while (flag) {

    display();

    printf("\t请在0-9之间做出选择:");

    fflush(stdin);          //清除输入设备的缓冲
    scanf("%d", &choice);

    switch (choice)
    {
        case 1:
             system("cls");
             insert(Q);
             break;

        case 2:
             system("cls");
             show(Q);
             break;

        case 3:
             system("cls");
             sort(Q);
             break;

        case 4:
             system("cls");
             modify(Q);
             break;

        case 5:
             system("cls");
             find(Q);
             break;     

        case 6:
            save(Q);
            shutdown();

        default:
             system("cls");
             continue;              
    }

}
return 0;

}

// 主页面展示函数
void display() {
printf(“\t************学 生 管 理 系 统**********\n”);
printf(“\t1.录入学生信息\n”);
printf(“\t2.显示学生信息\n”);
printf(“\t3.学生成绩排序\n”);
printf(“\t4.编辑学生信息\n”);
printf(“\t5.查询学生成绩\n”);
printf(“\t6.退出\n”);
printf(“\t************学 生 管 理 系 统**********\n”);
}

// 插入学生信息函数
void insert(Squeue *Q) {
int i = 0;
char ch;
do
{
struct student s;
printf(“\n”);
printf(“\t正在录入第%d个学生的信息”, i + 1);

     printf("\n");
     printf("\t输入学生学号:");
     scanf("%d", &s.id);
     fflush(stdin);

     printf("\n");
     printf("\t输入学生姓名:");
     fflush(stdin);
     gets(s.name);

     printf("\n");
     printf("\t输入学生性别:");
     fflush(stdin);
     gets(s.sex);

     printf("\n");
     printf("\t输入学生成绩1:");
     scanf("%lf", &s.score1);
     fflush(stdin);

     printf("\n");
     printf("\t输入学生成绩2:");
     fflush(stdin);
     scanf("%lf", &s.score2);

     printf("\n");
     printf("\t输入学生成绩3:");
     fflush(stdin);
     scanf("%lf", &s.score3);

     printf("\n");

     EnQueue(Q,s);
     i++;

     printf("\t是否继续输入?(Y/N)");
     fflush(stdin);
     ch = getch();
     system("cls");

}while(ch != ‘n’ && ch != ‘N’);
system(“cls”);
}

// 学生信息显示示函数
void show(Squeue *Q) {
int i;
char choice;
do{
printf(“\n”);
printf(“\t班级学生信息列表\n”);

  	printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
  	for(i = Q->front; i < Q->rear; i++){
        if(Q->data[i].id == 0) {  // 解决删除时候最后元素异常显示问题
            continue;
        }  
        printf("\t%d\t%s\t%s\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n", Q->data[i].id, Q->data[i].name, Q->data[i].sex, Q->data[i].score1, Q->data[i].score2, Q->data[i].score3, Q->data[i].ave);
    }

  	printf("\t\t\t按任意键返回主菜单\a");
  	fflush(stdin);

  	choice = getch();

}while(!choice);
system("cls");

}

// 文件保存函数
void save(Squeue *Q) {
FILE *fp;
int i;

if((fp = fopen("D://Student.txt", "w")) == NULL)
{
    printf("\n保存失败!");
    shutdown();
}

for(i = Q->front; i < Q->rear; i++)
 {
    if(Q->data[i].id == 0) {  // 解决删除时候最后元素异常显示问题
        continue;
    }  
    fprintf(fp, "%d %s %s %lf %lf %lf %lf\t", Q->data[i].id, Q->data[i].name, Q->data[i].sex, Q->data[i].score1, Q->data[i].score2, Q->data[i].score3, Q->data[i].ave);
    //fwrite(&Q->data[i], sizeof(struct student), 1, fp);
 }

 fclose(fp);
 printf("学生信息已自动保存!\n");

}

// 文件加载函数
void load(Squeue *Q) {
FILE *fp;
int i;

if((fp = fopen("D://Student.txt", "r")) == NULL)        // 需要提前准备好文件
{
   printf("找不到文件!\n");
   shutdown();
}

fseek(fp, 0, SEEK\_SET);

for(i = Q->front; i < MAXSIZE && !feof(fp); i++)
{
    fscanf(fp, "%d %s %s %lf %lf %lf %lf\t", &Q->data[i].id, Q->data[i].name, Q->data[i].sex, &Q->data[i].score1, &Q->data[i].score2, &Q->data[i].score3, &Q->data[i].ave);
    //fread(&Q->data[i], sizeof(struct student), 1, fp);
    Q->rear++;          // 解决文件读取异常情况,指针未后移
}

fclose(fp);

}

// 主查询函数
void find(Squeue *Q){
int choice;
int flag = 1; // 设置标志位,结束循环
do{
printf(“\n”);
printf(“\t学生查询系统\n”);
printf(“\t1.按照学生学号查询\n”);
printf(“\t2.按照学生姓名查询\n”);
printf(“\t3.返回主菜单\n”);
printf(“\t请输入要选择的功能:”);
fflush(stdin);
scanf(“%d”, &choice);
switch(choice)
{
case 1:
system(“cls”);
findById(Q);
break;
case 2:
system(“cls”);
findByName(Q);
break;
case 3:
system(“cls”);
flag = 0;
break;
default:
system(“cls”);
find(Q);
break;
}
}while(flag);
system(“cls”);
}

// 通过学号查询学生
void findById(Squeue *Q){
int i;
int choice;
char as;
do{
printf(“\n”);
printf(“\t输入要查询的学生学号:\a”);
fflush(stdin);
scanf(“%d”, &choice);

    for(i = Q->front; i < Q->rear; i++) {
        if(choice == Q->data[i].id)
        {
            printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
            printf("\t%d\t%s\t%s\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n", Q->data[i].id, Q->data[i].name, Q->data[i].sex, Q->data[i].score1, Q->data[i].score2, Q->data[i].score3, Q->data[i].ave);
        }
    }

    printf("\t按任意键返回主菜单");
    fflush(stdin);
    as = getch();
 }while(!as);
system("cls");

}

// 通过姓名查询学生
void findByName(Squeue *Q){
int i;
char str[20],as;
do{
printf(“\n”);
printf(“\t输入要查询的学生姓名:”);
fflush(stdin);
gets(str);

    for(i = Q->front; i < Q->rear; i++) {
        if(!strcmp(Q->data[i].name,str))
        {
            printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
            printf("\t%d\t%s\t%s\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n", Q->data[i].id, Q->data[i].name, Q->data[i].sex, Q->data[i].score1, Q->data[i].score2, Q->data[i].score3, Q->data[i].ave);
        }
    }

    printf("\t按任意键返回主菜单");
    fflush(stdin);
    as=getch();
 }while(!as);
system("cls");

}

// 主修改函数(包括通过学号修改与删除函数)
void modify(Squeue *Q){
int choice;
int flag = 1; // 设置标志位,结束循环
do{
printf(“\n”);
printf(“\t学生修改系统\n”);
printf(“\t1.按照学号修改学生\n”);
printf(“\t2.按照学号删除学生\n”);
printf(“\t3.返回主菜单\n”);
printf(“\t请输入要选择的功能:”);
fflush(stdin);
scanf(“%d”, &choice);
switch(choice)
{
case 1:
system(“cls”);
modifyById(Q);
break;
case 2:
system(“cls”);
deleteById(Q);
break;
case 3:
system(“cls”);
flag = 0;
break;
default:
system(“cls”);
modify(Q);
break;
}
}while(flag);
system(“cls”);
}

// 通过Id修改学生信息
void modifyById(Squeue *Q){
int i;
int SearchId;

printf("\t输入要修改的学生学号:");
fflush(stdin);
scanf("%d", &SearchId);

for(i = Q->front; i < Q->rear; i++)
{
 	if(Q->data[i].id == SearchId){
        printf("\n");
        system("cls");
    	struct student stu;
    	printf("\t输入修改后学生信息\n");

    	Q->data[i].id = SearchId;

        printf("\t输入学生姓名:");
        fflush(stdin);
        gets(stu.name);
        strcpy(Q->data[i].name, stu.name);
        printf("\n");

    	printf("\t输入学生性别:");
    	fflush(stdin);
    	gets(stu.sex);
    	strcpy(Q->data[i].sex, stu.sex);
        printf("\n");

    	printf("\t输入学生成绩1:");
    	fflush(stdin);
    	scanf("%lf", &stu.score1);
    	Q->data[i].score1 = stu.score1;
        printf("\n");

    	printf("\t输入学生成绩2:");
    	fflush(stdin);
    	scanf("%lf", &stu.score2);
    	Q->data[i].score2 = stu.score2;
        printf("\n");

    	printf("\t输入学生成绩3:");
    	fflush(stdin);
    	scanf("%lf", &stu.score3);
    	Q->data[i].score3 = stu.score3;
        printf("\n");

		system("cls");
        printf("\t修改成功,系统自动跳转!\n");
        show(Q);
        break;
   	}
}
printf("\t删除失败!查无此人,系统自动跳转!");
modify(Q);

}

// 通过Id删除学生信息
void deleteById(Squeue *Q){
int num;
printf(“\t输入要删除学生的学号:”);
fflush(stdin);
scanf(“%u”,&num);

总结

根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

这里分享一些前端学习笔记:

  • html5 / css3 学习笔记

  • JavaScript 学习笔记

  • Vue 学习笔记

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值