主题:急~~各位好心帮帮忙啊~课程设计程序要以文件形式保存不会做啊
nimi929
[专家分:0] 发布于 2006-07-08 23:02:00
[em18]这个学期开的课程设计 就没听懂过 好不容易考完试 还要搞课程设计 真的想死啊 而且同时有三门要搞 时间又急
请帮我改一下,10号要交的.急死了,还有两门课程设计要交.搞得焦头烂额的,请各位大虾帮帮忙,感激不尽.
设计一个简单学生信息管理系统
要求
1.学生基本信息包括:学号,姓名,性别,出生日期,家庭住址,宿舍号,宿舍电话等;
2.学生信息以文件方式保存;
3.具有建立,打开文件,增加,删除,修改,查询,打印,浏览功能;
建立:建立学生管理文件(刚建立的文件是打开的);
打开:打开学生管理文件;
增加:新增一名学生,并按学号顺序插入到学生管理文件中;
删除:从学生管理文件中删除指定(按姓名)学生的信息;
修改:修改指定(按姓名)学生的信息;
查询:查询符合条件的(单条件与多条件)的学生;
浏览:全屏幕显示学生管理库中的信息;
打印:以简单表格形式打印(分页打印)学生管理库中的信息;
学生对象不很多,文件中的信息一次读入内存,所有操作不必经过内外存交换;
课程设计报告主题内容包括:
需求分析
在该部分中叙述每一个模块的功能要求
概要设计
在此说明每一个部分的算法设计说明(可以是描述算法的流程图),每一个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。
详细设计
各个算法实现的源程序,对每一个题目要有相应的源程序(可以是一组源程序,每一个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写,要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
调试分析
测试数据,测试输出的结果,时间复杂度分析,和每一个模块设计调试和调试时存在问题的思考(问题是哪些,问题是如何解决),算法的改进设想。
3、课程设计报告可以包括:
课程设计过程的收获、遇到的问题、解决问题的方法和手段,对解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容
回复列表 (共3个回复)
沙发
nimi929 [专家分:0] 发布于 2006-07-08 23:04:00
已经写好的部分
#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;
}
}
}
板凳
nimi929 [专家分:0] 发布于 2006-07-08 23:05:00
/*******************/
/***************************/
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 楼
我是谁谁 [专家分:0] 发布于 2006-07-11 14:15:00
#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]
我来回复