C语言的学生管理系统Demo(录入信息/信息查询/信息导出为文件)

C语言的学生管理系统

  • 学生的信息包括
    • 姓名
    • 性别
    • 年龄
    • 籍贯
    • 学号
    • 班级
    • 院系
  • 使用结构体数组存储学生的信息
  • 实现学生信息的录入
  • 实现学生信息的查询
  • 实现学生信息的导出
  • 其他功能请自行拓展,emmm

录入信息

主要代码

 // 录入函数 
 void entering()
 {
    int i;
    for (i = 0; i < N; ++i)
    { 
        printf("\n\n---------录入学生 %d 的信息---------\n\n", i + 1);
        inputStr(S[i].name, "姓名"); 
        inputStr(S[i].gender, "性别"); 
        inputNum(&(S[i].age), "年龄"); 
        inputStr(S[i].place, "籍贯"); 
        inputStr(S[i].number, "学号"); 
        inputStr(S[i].clazz, "班级"); 
        inputStr(S[i].department, "院系"); 
    }
 } 

信息查询

主要代码

 // 查询函数 
 void query()
 {
    int i;
    char number[10];
    printf("\n\n输入需要查询的学号:");
    scanf("%s", number);
    for (i = 0; i < N; ++i)
    {
        if (strcmp(number, S[i].number) == 0)
        {
            printf("\n--------学生信息--------\n"); 
            outputStr(S[i].name, "姓名"); 
            outputStr(S[i].gender, "性别"); 
            outputNum((S[i].age), "年龄"); 
            outputStr(S[i].place, "籍贯"); 
            outputStr(S[i].number, "学号"); 
            outputStr(S[i].clazz, "班级"); 
            outputStr(S[i].department, "院系"); 
            printf("\n------------------------\n"); 
            break;
        }
    }
    if (i == N)
    {
        printf("\n未查找到该学生的信息\n");
    }
    printf("按任意键继续...");
    getchar(); 
    getchar(); 
 }

导出信息

主要代码

 // 导出函数
 void export()
 {
    FILE *f;
    int i;
    f = fopen("export.txt", "w");
    printf("\n-------------------------\n导出中,请等待...\n");
    for (i = 0; i < N; ++i)
    {
        fprintf(f, "\n--------学生信息 %d--------\n", i + 1); 
        exportStr(f, S[i].name, "姓名"); 
        exportStr(f, S[i].gender, "性别"); 
        exportNum(f, (S[i].age), "年龄"); 
        exportStr(f, S[i].place, "籍贯"); 
        exportStr(f, S[i].number, "学号"); 
        exportStr(f, S[i].clazz, "班级"); 
        exportStr(f, S[i].department, "院系"); 
        fprintf(f, "\n---------------------------\n"); 
    } 
    fclose(f);
    printf("\n学生信息已导出为“export.txt”\n-------------------------\n按任意键继续...");
    getchar(); 
 }

全部代码

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

 struct student
 {
    char name[10];
    char gender[10];
    int age;
    char place[10];
    char number[10];
    char clazz[10];
    char department[10];
 }stu, * s;

 #define N 3

 // 学生数组 
 struct student S[N]; 

 // 输入字符串
 void inputStr(char * c, char * tips);
 // 输入数字
 void inputNum(int * n, char * tips); 
 // 录入函数 
 void entering();
 // 查询函数 
 void query();
 // 导出函数
 void export();
 // 输出字符串 
 void  outputStr(char * c, char * tips);
 // 输出数字 
 void  outputNum(int n, char * tips);
 // 写出字符串信息
 void  exportStr(FILE * f, char * c, char * tips);
 // 输出数字信息 
 void  exportNum(FILE * f, int n, char * tips); 


 int main() 
 {
    int op; // 操作方式 
    int loop = 1; // 是否循环
    while (loop)
    {
        system("cls");
        printf("\n============= 学生管理系统 =============\n"); 
        printf("\n0:退出系统 \t1:录入信息 \t2:查询信息 \t3:导出信息\n");
        printf("\n请输入你的选择:");
        scanf("%d", &op);
        getchar();
        switch(op)
        {
            case 0: // 退出 
                loop = 0;
                break;
            case 1: // 录入信息 
                entering();
                break;
            case 2: // 查询
                query();
                break;
            case 3: // 导出 
                export();
                break;
            default: break; 
        }
        printf("\n感谢使用本系统,系统已退出\n");
    }
 }

  // 输入字符串
 void inputStr(char * c, char * tips)
 {  
    printf("请输入%s:", tips);
    gets(c);
 }
 // 输入数字
 void inputNum(int * n, char * tips)
 {
    printf("请输入%s:", tips);
    scanf("%d", n);
    getchar();
 } 
 // 录入函数 
 void entering()
 {
    int i;
    for (i = 0; i < N; ++i)
    { 
        printf("\n\n---------录入学生 %d 的信息---------\n\n", i + 1);
        inputStr(S[i].name, "姓名"); 
        inputStr(S[i].gender, "性别"); 
        inputNum(&(S[i].age), "年龄"); 
        inputStr(S[i].place, "籍贯"); 
        inputStr(S[i].number, "学号"); 
        inputStr(S[i].clazz, "班级"); 
        inputStr(S[i].department, "院系"); 
    }
 } 

 // 输出字符串信息
 void  outputStr(char * c, char * tips)
 {
    printf("%s: %s\n", tips, c);
 }

 // 输出数字信息 
 void  outputNum(int n, char * tips)
 {
    printf("%s: %d\n", tips, n);
 } 

 // 写出字符串信息
 void  exportStr(FILE * f, char * c, char * tips)
 {
    fprintf(f, "%s: %s\n", tips, c);
 }

 // 输出数字信息 
 void  exportNum(FILE * f, int n, char * tips)
 {
    fprintf(f, "%s: %d\n", tips, n);
 } 



 // 查询函数 
 void query()
 {
    int i;
    char number[10];
    printf("\n\n输入需要查询的学号:");
    scanf("%s", number);
    for (i = 0; i < N; ++i)
    {
        if (strcmp(number, S[i].number) == 0)
        {
            printf("\n--------学生信息--------\n"); 
            outputStr(S[i].name, "姓名"); 
            outputStr(S[i].gender, "性别"); 
            outputNum((S[i].age), "年龄"); 
            outputStr(S[i].place, "籍贯"); 
            outputStr(S[i].number, "学号"); 
            outputStr(S[i].clazz, "班级"); 
            outputStr(S[i].department, "院系"); 
            printf("\n------------------------\n"); 
            break;
        }
    }
    if (i == N)
    {
        printf("\n未查找到该学生的信息\n");
    }
    printf("按任意键继续...");
    getchar(); 
    getchar(); 
 }
 // 导出函数
 void export()
 {
    FILE *f;
    int i;
    f = fopen("export.txt", "w");
    printf("\n-------------------------\n导出中,请等待...\n");
    for (i = 0; i < N; ++i)
    {
        fprintf(f, "\n--------学生信息 %d--------\n", i + 1); 
        exportStr(f, S[i].name, "姓名"); 
        exportStr(f, S[i].gender, "性别"); 
        exportNum(f, (S[i].age), "年龄"); 
        exportStr(f, S[i].place, "籍贯"); 
        exportStr(f, S[i].number, "学号"); 
        exportStr(f, S[i].clazz, "班级"); 
        exportStr(f, S[i].department, "院系"); 
        fprintf(f, "\n---------------------------\n"); 
    } 
    fclose(f);
    printf("\n学生信息已导出为“export.txt”\n-------------------------\n按任意键继续...");
    getchar(); 
 }

效果截图

录入
录入

查询
查询

导出
导出

  • 21
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
好的,实现录入学生信息的 C 语言程序可以参考以下代码: ```c #include <stdio.h> #include <string.h> #define SIZE 100 // 学生信息数组的最大容量 struct Student { char name[20]; // 学生姓名 int age; // 学生年龄 char gender[5]; // 学生性别 char id[10]; // 学生学号 }; int main() { struct Student students[SIZE]; // 学生信息数组 int count = 0; // 学生数量计数器 char choice; // 用户输入的选项 int i; // 循环计数器 while (1) { printf("请选择要执行的操作:\n"); printf("1. 录入新学生信息\n"); printf("2. 显示所有学生信息\n"); printf("3. 退出程序\n"); printf("请输入对应的数字:"); scanf(" %c", &choice); switch (choice) { case '1': if (count >= SIZE) { printf("学生信息数组已满,无法继续录入!\n"); } else { printf("请输入学生姓名:"); scanf("%s", students[count].name); printf("请输入学生年龄:"); scanf("%d", &students[count].age); printf("请输入学生性别:"); scanf("%s", students[count].gender); printf("请输入学生学号:"); scanf("%s", students[count].id); count++; printf("学生信息录入成功!\n"); } break; case '2': if (count == 0) { printf("当前没有任何学生信息!\n"); } else { printf("所有学生信息如下:\n"); printf("姓名\t年龄\t性别\t学号\n"); for (i = 0; i < count; i++) { printf("%s\t%d\t%s\t%s\n", students[i].name, students[i].age, students[i].gender, students[i].id); } } break; case '3': printf("感谢使用本程序!\n"); return 0; default: printf("无效的选项,请重新输入!\n"); } } return 0; } ``` 这个程序定义了一个 `Student` 结构体来存储每个学生的信息,并使用一个 `students` 数组来存储所有学生的信息程序提供了三个选项:录入新学生信息、显示所有学生信息和退出程序。用户可以按照提示输入相应的信息程序会将输入的信息存储到 `students` 数组中,并在需要时显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值