回 帖 发 新 帖 刷新版面

主题:急~~各位好心帮帮忙啊~课程设计程序要以文件形式保存不会做啊

[em18]这个学期开的课程设计 就没听懂过 好不容易考完试 还要搞课程设计 真的想死啊 而且同时有三门要搞 时间又急 
请帮我改一下,10号要交的.急死了,还有两门课程设计要交.搞得焦头烂额的,请各位大虾帮帮忙,感激不尽.

设计一个简单学生信息管理系统

要求
1.学生基本信息包括:学号,姓名,性别,出生日期,家庭住址,宿舍号,宿舍电话等;
2.学生信息以文件方式保存;
3.具有建立,打开文件,增加,删除,修改,查询,打印,浏览功能;
建立:建立学生管理文件(刚建立的文件是打开的);
打开:打开学生管理文件;
增加:新增一名学生,并按学号顺序插入到学生管理文件中;
删除:从学生管理文件中删除指定(按姓名)学生的信息;
修改:修改指定(按姓名)学生的信息;
查询:查询符合条件的(单条件与多条件)的学生;
浏览:全屏幕显示学生管理库中的信息;
打印:以简单表格形式打印(分页打印)学生管理库中的信息;
 学生对象不很多,文件中的信息一次读入内存,所有操作不必经过内外存交换;

课程设计报告主题内容包括:
需求分析
在该部分中叙述每一个模块的功能要求
概要设计
在此说明每一个部分的算法设计说明(可以是描述算法的流程图),每一个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。
详细设计
各个算法实现的源程序,对每一个题目要有相应的源程序(可以是一组源程序,每一个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写,要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
调试分析
测试数据,测试输出的结果,时间复杂度分析,和每一个模块设计调试和调试时存在问题的思考(问题是哪些,问题是如何解决),算法的改进设想。
3、课程设计报告可以包括:
课程设计过程的收获、遇到的问题、解决问题的方法和手段,对解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容

回复列表 (共3个回复)

沙发

已经写好的部分

#define NULL 0
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "malloc.h"
int SIZE=0;
static FILE *fp;
struct DataType{
  char num[3];
  char name[9];
  char sex[3];
  char birthday[10];
  char homeaddr[31];
  char dormpNO[13];
  char dormphone[13];
}Stu[100];
int menu_select();
void Create();
void Insert();
void Find();
/**************************/
/**************************/
void main()
{
  for( ; ; ){
switch(menu_select( ) )
{
case 1:
      printf("**********************************\n");
      printf("*      create      *\n");
      printf("**********************************\n");
      Create( );
      break;
case 2:
      printf("**********************************\n");
      printf("*       open       *\n");
      printf("**********************************\n");
      Find();
      break;
case 3:
      printf("**********************************\n");
      printf("*       add        *\n");
      printf("**********************************\n");
      printf("\n");
      printf("************************************* \n");
     Insert();
      break;
case 5:
      printf("**********************************\n");
      printf("*       modif      *\n");
      printf("**********************************\n");
      break;

case 4:
    printf("***********************************\n");
    printf("*         delete      *\n");
    printf("***********************************\n");
        break;
case 6:
    break;
case 7:
    printf("************************************\n");
    printf("*         output      *\n");
    printf("************************************\n");
        break;
 case 8:
    printf("***********************************\n");
    printf("*         scanf       *\n");
    printf("***********************************\n");

    break;
 case 0:
    printf("***********************************\n");
    printf("       *   goodbye!!!    *\n");
    printf("***********************************\n");
         return;
        }
     }
}

板凳

/*******************/
/***************************/
int menu_select(  )
{
  int sn;
  printf(" management  system      \n");
  printf("===================\n");
  printf("    1.create \n");
  printf("    2.open \n");
  printf("    3.add \n");
  printf("    4.delete \n");
  printf("    5.modif \n");
  printf("    6.search \n");
  printf("    7.output \n");
  printf("    8.scan \n");
  printf("    0.exit \n");
  printf("==========================\n");
  printf("  select 0-8:");
  for( ; ; )
   {
     scanf("%d",&sn);
    if (sn<0||sn>8)
      printf("input error,again 0-8: ");
      else
         break;
     }
       return sn;
}
/**************************/
/**************************/
void Create()
{int flag=0;
fp=fopen("stu_data","wb+");
while (flag==0)
  { printf("Num[3]   Name[9]  Sex[3]  Birthday[10]  Homeaddr[31] DormpNO.[13]  Dormphone[13]   \n");
    printf("================================================================================\n");
    scanf("%s",Stu[SIZE].num);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].name);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].sex);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].birthday);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].homeaddr);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].dormpNO);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].dormphone);
    printf("------------------\n");
    fwrite(&Stu[SIZE],sizeof(struct DataType),1,fp);
  SIZE++;
  printf("end?(1/0):\n");
  scanf("%d",&flag);
  }
fclose(fp);
}
/******************************************/
/******************************************/
void Insert()
{fp=fopen("stu_data","ab");
printf("Num[3]   Name[9]  Sex[3]  Birthday[10]  Homeaddr[31] DormpNO.[13]  Dormphone[13]   \n");
    printf("================================================================================\n");
    scanf("%s",Stu[SIZE].num);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].name);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].sex);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].birthday);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].homeaddr);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].dormpNO);
    printf("------------------\n");
    scanf("%s",Stu[SIZE].dormphone);
    printf("------------------\n");
    fwrite(&Stu[SIZE],sizeof(struct DataType),1,fp);
    SIZE++;
    fclose(fp);
}
/******************************************/
/******************************************/
void Find()
{    char numx[3];
    char namex[9];
    int xz,i=0,flag=0;
    fp=fopen("stu_data","rb");
    printf("==================\n");
    printf("  1.num search    \n");
    printf("  2.name search    \n");
    printf("==================\n");
    printf(" select:      ");
    scanf("%d",&xz);
    if (xz==1)
     {
            printf("input num: ");
            scanf("%s",&numx);
            for(i=0;i<100;i++)
                {fseek(fp,sizeof(struct DataType),2);
                 fread(&Stu[i],sizeof(struct DataType),1,fp);
                  if(!strcmp(Stu[i].num,numx))printf("%s",Stu[i].name);
                }
    }
    if (xz==2)
     {
            printf("input name: ");
            scanf("%s",namex);
            for(i=0;(!feof(fp))&&(flag==0);i++)
                {fseek(fp,i*sizeof(struct DataType),0);
                 fread(&Stu[i],sizeof(struct DataType),1,fp);
                   if(!strcmp(Stu[i].name,namex)) flag=1;
                }
      }
    fclose(fp);
}

3 楼

#define NULL 0
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "malloc.h"
int SIZE=0;
static FILE *fp;
struct DataType{
  char num[3];
  char name[9];
  char sex[3];
  char birthday[10];
  char homeaddr[31];
  char dormpNO[13];
  char dormphone[13];
}Stu[100];
int menu_select();
void Create();
void Insert();
void Find();
/**************************/
/**************************/
void main()
{
  for( ; ; ){
switch(menu_select( ) )
{
case 1:
      printf("**********************************\n");
      printf("*      create      *\n");
      printf("**********************************\n");
      Create( );
      break;
case 2:
      printf("**********************************\n");
      printf("*       open       *\n");
      printf("**********************************\n");
      Find();
      break;
case 3:
      printf("**********************************\n");
      printf("*       add        *\n");
      printf("**********************************\n");
      printf("\n");
      printf("************************************* \n");
     Insert();
      break;
case 5:
      printf("**********************************\n");
      printf("*       modif      *\n");
      printf("**********************************\n");
      break;

case 4:
    printf("***********************************\n");
    printf("*         delete      *\n");
    printf("***********************************\n");
        break;
case 6:
    break;
case 7:
    printf("************************************\n");
    printf("*         output      *\n");
    printf("************************************\n");
        break;
 case 8:
    printf("***********************************\n");
    printf("*         scanf       *\n");
    printf("***********************************\n");

    break;
 case 0:
    printf("***********************************\n");
    printf("       *   goodbye!!!    *\n");
    printf("***********************************\n");
         return;
        }
     }
}

 

[em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册