「已注销」 2021-12-15 20:52 采纳率: 0%
浏览 20

刚学几天c语言,学生成绩管理系统还没做完,求指正


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <conio.h>


typedef struct student{
    int num;       //学号
    char name[10];   //名字
    float score;      //成绩

}student;
student stu[25];

void mima();
void menu();
void in();
void show();
void ain();
void modify();


int main()
{

    int n;
    scanf("%d", &n);
    int xz,yes;
    mima();

    if(xz==yes)
        {
             menu();
        }
    return 0;
}





void menu()
{
      system("cls");//清贫函数
      system("color 3f");/*
  system是一个函数,它是包含在stdlib.h文件中的 ;
  在system函数中,第一个“数”即C指的是背景的颜色;第二个“数”即F指的是字体的颜色
1#f分别代表的颜色如下:

 0 = 黑色      8 = 灰色   1 = 蓝色      9 = 淡蓝色   2 = 绿色      A = 淡绿色   3 = 湖蓝色    B = 淡浅绿色   4 = 红色
  C = 淡红色   5 = 紫色      D = 淡紫色   6 = 黄色      E = 淡黄色   7 = 白色      F = 亮白色

*/

printf("\t                         ★★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n");
printf("                                      ★           有朋自远方来,不亦乐乎!       ★\n");
printf("                     ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ \n");
printf("                       ★  ################################################################  ★\n");
printf("                       ★  #               Welcome To 学生成绩管理系统                    #  ★\n");
printf("                       ★  ################################################################  ★\n");
printf("                       ★  ################################################################  ★\n");
printf("                       ★  # ***********************************************************  #  ★ \n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # *         1.录入学生信息   *      2.浏览学生信息          *  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # ***********************************************************  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # *         3.学生信息查询   *      4.学生信息修改          *  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # ***********************************************************  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # *         5.学生信息删除   *      6.学生成绩排序          *  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # ***********************************************************  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # *         7.修改原始密码   *      0.退出管理系统          *  #  ★\n");
printf("                       ★  # *                          *                              *  #  ★\n");
printf("                       ★  # ***********************************************************  #  ★\n");
printf("                       ★  #      制作者:Mr.li 专业:计算机2102 学号:2103050232            #  ★\n");
printf("                       ★  #       ******************************************             #  ★\n");
printf("                       ★  #   欢迎使用计算机2102的学生成绩管理系统,祝您使用愉快!         #  ★\n");
printf("                       ★  ################################################################  ★\n");
printf("                     ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("                                        请选择您要操作的序号(0#7):");
}

void in()
{

    int i;
    for (i = 0; i < 3; i++)
    {
        printf("请输入第%d个学号:\n", i + 1);
        scanf("%d", &stu[i].num);
        printf("请输入第%d个姓名:\n", i + 1);
        scanf("%s", &stu[i].name);
        printf("请输入第%d个成绩:\n", i + 1);
        scanf("%f", &stu[i].score);


    }
}


void show()
{

    int i;
    int num;

    printf("\n\n\n\n");
    printf("                                             显示学生基本信息:\n");


    for (i = 0; i < 3; i++)
    {

        printf("                                             %d  %s  %.2f \n", stu[i].num, stu[i].name,  stu[i].score);
    }

 system ("pause");

}


void mima()
{
 int i = 0;
 int n;
    char password[10] = { 0 };
    for (i = 0; i < 3; i++)
    {
        printf("#******身份识别完毕******#\n\n");
        ain();
        printf("请问是否进入系统(yes)\n)");
        printf("请输入密码:");
        scanf("%s", password);
        if (strcmp("123456", password) == 0)
        {
            printf("登录成功\n");
                    while (n)
    {
        switch (n)
        {
        case 1:in(),ain();
            break;
        case 2:show();
            break;
            case 3:query();
            break;
            case 4:modify();
            break;
            case 5:del();
            break;

        deflault:
            break;

        }
        getchar();
        menu();
        scanf("%d", &n);
    }
        }
        else
        {
            printf("密码错误\n");
        }
    }
    if (3 == i)
    {
        printf("三次密码错误,退出登录\n");
    }

}

void query()
{
    int i;
    int num;
     printf("根据学号查询某一个学生的信息\n");
    printf("请输入学生学号\n");
    scanf("%d", &num);
    printf("显示查询的学生基本信息:\n");
    printf("学号·姓名·成绩  \n");
    for (i = 0; i < 3; i++)
    {
        if (num == stu[i].num)
        {
            printf("%d %s %.2f \n", stu[i].num, stu[i].name,stu[i].score);
            break;
        }
    }
     system ("pause");
}


void ain()
{
    printf("\nOutput recorded data: ");

    for (int i = 0; i <= 100; ++i)
    {
        // -------------- 打印进度条 --------------
        printf("[");
        int currentIndex = i / Step;
        for (int j = 0; j < IconMaxNum; ++j)
        {
            if (j < currentIndex)
            {
                printf("%c", ProgressIcon); // 打印进度条标志
            }
            else
            {
                printf(" "); // 未达进度则打印空格
            }
        }

        printf("] ");
        // ----------------------------------------

        // -------- 打印数字进度 ----------
        printf("%3d%%", i);
        fflush(stdout);
        // -------------------------------


        usleep(PrintInterval);

        for (int j = 0; j < strlen(LastStr); ++j)
        {
            printf("\b"); // 回删字符,让数字和进度条原地变化
        }

        fflush(stdout);
    }

    printf("\n\n");


}

void modify()
{
    int i, num;




    printf("输入修改学生的学号:\n");
    scanf("%d", &num);
    for (i = 0; i < 3; i++)
    {
        if(num == stu[i].num)
        {
            printf("输入学生的学号·姓名·成绩:\n");
            scanf(" %d %s %f \n", &stu[i].num, &stu[i].name,&stu[i].score);
            break;
        }

    }

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


    for (i = 0; i < 3; i++)
    {
        printf("%d %s %.2f \n", stu[i].num, stu[i].name, stu[i].score);
    }

 system ("pause");

}

void del()
{
    int num;
    int i;
    char name[10];


    printf("输入删除学生的学号:\n");
    scanf_s("%d", &num);
    for (i = 0; i < 3; i++) {
        if (num == stu[i].num) {
            stu[i].num = 0;
            memset(stu[i].name, "0", sizeof(stu[i].name));
            stu[i].score = 0;
            printf("00000000\n");
            break;

        }
    }
    printf("显示删除后的学生基本学生信息");
    printf("学号·姓名·成绩  \n");


    for (i = 0; i < 3; i++)
    {
        if(stu[i].num!=0)
        {
            printf_s("%d %s %.2f \n", stu[i].num, stu[i].name, stu[i].score);
            break;
        }
    }
    char ch;
    printf("是否删除所有显示基本信息?");
    printf("yes/no");
    scanf("%c", &ch);
    if (ch == 'yes')
    {
        memset(stu[i].name, "0", sizeof(stu[i].name));
        stu[i].score = 0;

        printf("显示删除后的学生基本学生信息");
        printf("学号·姓名·成绩  \n");


        for (i = 0; i < 3; i++)
        {

            printf("%d %s %.2f \n", stu[i].num, stu[i].name, stu[i].score);

        }


    }
    else
    {
        scanf("%c", &ch);
        if (ch == 'no');
    }
 system ("pause");

}





  • 写回答

1条回答 默认 最新

  • 关注

    请问存在什么问题呢?把你的问题描述一下。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月15日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境