返回列表 回复 发帖

学生信息管理系统程序,高手帮忙!!

内容:学生信息管理系统程序
一班有20名学生,每个学生的信息包括:姓名、学号、身份证号,生日、地址等信息,编写程序实现如下功能:
(1) 录入每名学生的基本信息,并保存到文件中。
(2) 可以通过姓名查询学生信息。
(3) 可以修改学生信息。
(4) 可以删除学生信息。
(5) 可以列出所有学生信息。
(6) 可以保存所有学生信息。
(7) 可以将磁盘上学生信息进行加载。
2. 要求:
(1) 编制一主函数来实现功能菜单的显示和各功能函数的调用;
(2) 实训各步骤的相关文档齐全、清晰。
(3) 在所有数据输入处理之前提供必要的提示。
(4) 实训完成方式:以实训报告的形式提交实训内容(书面:A4文稿)。
实训报告包含整个开发过程的全部相关文档:实训任务、功能介绍(包括系统功能模块图、系统功能模块描述)、主要技术、实现方法、参考书、实训心得等。

三、课程设计方法及步骤
1. 系统结构设计:设计系统的各个功能模块,定义函数名,每个函数仅实现一个功能。
(1) 主函数:显示功能菜单,调用功能模块
(2)、录入每名学生的基本信息函数:int insert(); /* 该函数添加新的学生信息 */  (3)、通过姓名查询学生信息函数:int query();
(4)、修改学生信息函数:int update();
(5)、删除学生信息函数:int delete();
(6)、列出所有学生信息函数:int list();
(7)、保存所有学生信息函数:int save();
(8)、将磁盘上学生信息进行加载函数:int load();

2. 数据结构设计:设计程序中用到的结构体、结构体数组、变量、指针变量的名称和类型。

3. 程序调试:
(1) 调试各模块
(2) 整个程序联调

4. 输入数据测试系统
要求写出测试的数据(测试用例)以及程序运行的结果。
下面是我写的代码,高手帮我改下..谢啦
#include <stdio.h>
#include <string.h>
#define N 100
int insert();
int query();
int update();
int delete();
int list();
int save();
int load();

struct STUDENT
{char name[10];
  int xuehao;
  int shengfenzheng;
  int shengri;
  char dizhi[50];
  
};
void menu(void)
{   
        printf("1. 学生信息输入\n");
        printf("2. 学生信息查询\n");
        printf("3. 学生信息修改\n");
        printf("4. 学生信息删除\n");
        printf("5.列出所有学生信息\n");
        printf("6.保存学生信息\n");
        printf("7.加载学生信息\n");
        printf("请输入你想执行的步骤:");
        
        getchar();
     }
main()
      {   int a,choose,i;
        printf("请输入学生人数");
         scanf("%d",&a);
         struct STUDENT stu[N];
        m4: menu();
        getchar();
        switch(choose)
        {case '1':insert();break;
         case '2':query();break;
         case '3':update;break;
         case '4':delete;break;
         case '5':list;break;
         case '6':save;break;
         case '7':load
int insert()
        {   for(i=0;i<a;i++)
           {printf("请输入第%d个学生的信息:\n",i+1);
           printf("请输入学生姓名:");  
           scanf("%s", stu[i].name);
           printf("请输入学生学号:");
           scanf("%d", &stu[i].xuehao);
           printf("请输入学生身份证:");
           scanf("%d", &stu[i].shengfenzheng);
           printf("请输入学生生日:");
           scanf("%d-%d-%d", &stu[i].shengri);
           printf("请输入学生地址:");
           scanf("%s", stu[i].dizhi);
           
         
         
         
            goto m4;
            getchar();
           break;}
    int query()
       {  int b;
         printf("请输入你想查询的学生学号:");
         scanf("%d",&b);
         for(i=0;i<a;i++)
         if(b==stu[i]xuehao)
         {printf("学生姓名:\n",stu[i].name);
         printf("学生学号:\n",stu[i].xuehao);
         printf("学生身份证:\n",stu[i].shengfenzheng);
         printf("学生生日:\n",stu[i].shengri);
         printf("学生地址:\n",stu[i].dizhi);
         }
         goto m4;
         break;}
   
         int update()
         {
         int c;
         char p;
         printf("请输入你想修改的学生学号:");
         scanf("%d",&c);
         for(i=0;i<a;i++)
         if(c==stu[i]xuehao)
         printf("please choice the error:");
           printf("1. 姓名\n");
           printf("2. 学号\n");
           printf("3. 身份证\n");
           printf("4. 生日\n");
           printf("5. 地址\n");
         
           printf("Please enter your choice:");
           p=getchar();
           switch(p)
           {
            case '1':
                     printf("please enter the new one:");
                     scanf("%d",stu[c].name);
                     break;
            case '2':
                     printf("please enter the new one:");
                     scanf("%d", &stu[c].xuehao);
                     break;
            case '3':
                     printf("please enter the new one:");
                     scanf("%d", &stu[c].shengfenzheng);
                     break;
            
            case '4':
                     printf("please enter the new one:");
                     scanf("%d", &stu[c].shengri);
                     break;

            case '5':
               
                     printf("please enter the new one:");
                     scanf("%d", &stu[c].dizhi);
                     break;
            default:
                    printf("Input error!");
           }
           
           
           
           goto m4;
           break;}
         
               int delete()
               {
                int d;
        
         printf("请输入你想删除的学生学号:");
         scanf("%d",&d);
        
         for(i=0;i<a;i++)
           {
            if(d==stu[i].xuehao)
            {
             for(i=0;i<a-1;i++)
             {
              stu[i]=stu[i+1];
             }
            goto m1;
            }      
           }
        m1: for(i=0;i<a-1;i++)
           {
            printf("NO. : %d  Name : %s  xuehao : %d  shengfenzheng: %d shengri : %d  dizh : %d  ",i+1, stu[i].name, stu[i].xuehao, stu[i].shengfenzheng, stu[i].shengri, stu[i].dizhi);
           goto m4;
           break;}
         
                int list();
                {
                for(i=0;i<a;i++)
               { printf("学生姓名:\n",stu[i].name);
         printf("学生学号:\n",stu[i].xuehao);
         printf("学生身份证:\n",stu[i].shengfenzheng);
         printf("学生生日:\n",stu[i].shengri);
         printf("学生地址:\n",stu[i].dizhi);
                                            }}

     int save()
     {
     FILE *fp=NULL;
     fp=fopen("d:\\f8_1.txt","w");
     if(fp==NULL)
     {printf("open error!!");
     getch();
     }
     else
for(i=0;i<a;i++)
   { {     scanf("%s", stu[i].name);
           
           scanf("%d", &stu[i].xuehao);
         
           scanf("%d", &stu[i].shengfenzheng);
           
           scanf("%d", &stu[i].shengri);
         
           scanf("%s", stu[i].dizhi);
           }
           fprintf(fp,"%s %d %d %d %s ",stu[i].name,stu[i].xuehao,stu[i].shengfenzheng,stu[i].shengri,stu[i].dizhi);
           }
           fclose(fp);
          goto m4;
         
           break;}
         
              int load()
              {  
                FILE *fp=NULL;
                fp=fopen("d:\\f8_1.txt","r");
     if(fp==NULL)
     {printf("open error!!");
     getch();
     }
   for(i=0;i<a;i++)
     fscanf(fp,"%s %d %d %d %s ",stu[i].name,stu[i].xuehao,stu[i].shengfenzheng,stu[i].shengri,stu[i].dizhi);
     fclose(fp);
     }}
返回列表