|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要做一个学生信息管理系统,要求信息用文件存储,然后可以修改,查看。
可是我运行结果无法显示文件呜呜呜。能不能帮帮孩子。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 1000 //最大学生人数
int n=0,i,x=1; //全局变量
//声明函数
void menu();
void save();
void input();
void insert();
void del();
void modify();
void browse();
void enquiry();
//结构体
struct student
{
char stunum[15];
char name[10];
int age;
char sex[6];
int byear;
int bmonth;
int bday;
char place[100];
char phnum[11];
char email[15];
}stu[N];
//主函数
main()
{
while(x)
menu();
system("pause");
return 0;
}
//系统菜单
void menu()
{
int num;
printf("*******************************************\n");
printf("**************学生信息管理系统*************\n");
printf("*********如果是第一次进入系统请按0*********\n");
printf("******************系统功能*****************\n");
printf("******1.插入学生信息***2.删除学生信息******\n");
printf("******3.修改学生信息***4.浏览学生信息******\n");
printf("******5.查询学生信息***6.退出信息系统******\n");
printf("********************^^^********************\n");
printf("---------请选择需要的功能前的序号: --------\n");
scanf("%d",&num);
switch(num)
{
case 0:input();break;
case 1:insert();break;
case 2:del();break;
case 3:modify();break;
case 4:browse();break;
case 5:enquiry();break;
case 6:x=0;printf("即将退出系统!\n");break;
default:printf("请选择需要的功能序号!\n");
}
}
//文件保存学生信息
void save()
{
FILE *fp;
if((fp=fopen("d:\\student.txt","w"))==NULL)
{ printf("File open error!\n");
exit(0);
}
for(i=0;i<n;i++)
fprintf(fp,"学号:%s 姓名:%s 年龄:%d 性别:%s 出生日期:%d-%d-%d 地址:%s 电话:%s E-mail:%s",stu[i].stunum,stu[i].name,stu[i].age,stu[i].sex,stu[i].byear,stu[i].bmonth,stu[i].bday,stu[i].place,stu[i].phnum,stu[i].email);
if(fclose(fp))
{ printf("Can not close the file!\n");
exit(0);
}
printf("保存成功!\n");
system("pause");
}
//录入学生信息
void input()
{
printf("请输入学生总数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入学号:\n");
scanf("%s",stu[i].stunum);
printf("请输入学生姓名:\n");
scanf("%s",stu[i].name);
printf("请输入学生年龄:\n");
scanf("%d",&stu[i].age);
printf("请输入学生性别:\n");
scanf("%s",stu[i].sex);
printf("请输入学生出生日期(年-月-日):\n");
scanf("%d-%d-%d",&stu[i].byear,&stu[i].bmonth,&stu[i].bday);
printf("请输入学生地址:\n");
scanf("%s",stu[i].place);
printf("请输入学生电话:\n");
scanf("%s",stu[i].phnum);
printf("请输入学生E-mail:\n");
scanf("%s",stu[i].email);
}
printf("录入完成!\n");
menu();
system("pause");
}
//插入学生信息
void insert()
{
int y=1,t=0;
while(y)
{
printf("请输入学号:\n");
scanf("%s",stu[i].stunum);
printf("请输入学生姓名:\n");
scanf("%s",stu[i].name);
printf("请输入学生年龄:\n");
scanf("%d",&stu[i].age);
printf("请输入学生性别:\n");
scanf("%s",stu[i].sex);
printf("请输入学生出生日期(年-月-日):\n");
scanf("%d-%d-%d",&stu[i].byear,&stu[i].bmonth,&stu[i].bday);
printf("请输入学生地址:\n");
scanf("%s",stu[i].place);
printf("请输入学生电话:\n");
scanf("%s",stu[i].phnum);
printf("请输入学生E-mail:\n");
scanf("%s",stu[i].email);
printf("是否继续添加?(是请输入1,不是请输入0)\n");
scanf("%d",&t);
y=t;
n++;
}
printf("插入完毕!");
save();
menu();
system("pause");
}
//删除学生信息
void del()
{
int j,k,t=0,f;
char s[15];
printf("请输入要删除的学生的学号:\n");
scanf("%s",s);
for(j=0;j<n;j++)
{
if(strcmp(stu[j].stunum,s)==0)
{
t=1;
for(k=j;k<n-1;k++)
stu[k]=stu[k+1];
}
}
if(t==0)
printf("该学号不存在!");
else if(t==1)
{
printf("删除成功!\n");
n--;
}
printf("是否继续删除(是按1,否按0)");
scanf("%d",&f);
if(f==0)
{
save();
menu();
}
else if(f==1)
{
del();
}
system("pause");
}
//修改学生信息
void modify()
{
int i,num,t,year,month,day,f;
char s[15],s1[10],s2[6],s3[100],s4[11],s5[15];
printf("请输入要修改的学生的学号:\n");
scanf("%s",s);
for(i=0;i<n;i++)
{
if(strcmp(stu[i].stunum,s)==0)
{
num=i;
printf("1.修改姓名\n");
printf("2.修改年龄\n");
printf("3.修改性别\n");
printf("4.修改出生日期\n");
printf("5.修改地址\n");
printf("6.修改电话\n");
printf("7.修改E-mail\n");
printf("8.退出本菜单\n");
}
while(1)
{
printf("请选择编号\n");
scanf("%d",&t);
switch(t)
{
case 1:
printf("请输入新的姓名:\n");
scanf("%s",s1);
strcpy(stu[num].name,s1);
break;
case 2:
printf("请输入新的年龄:\n");
scanf("%d", stu[num].age);
break;
case 3:
printf("请输入新的性别:\n");
scanf("%s", s2);
strcpy(stu[num].sex,s2);
break;
case 4:
printf("请输入新的出生日期:\n");
scanf("%d-%d-%d", &year,&month,&day);
stu[num].byear=year;stu[num].bmonth=month;stu[num].bday=day;
break;
case 5:
printf("请输入新的地址:\n");
scanf("%s", s3);
strcpy(stu[num].place,s3);
break;
case 6:
printf("请输入新的电话:\n");
scanf("%s", s4);
strcpy(stu[num].phnum,s4);
break;
case 7:
printf("请输入新的E-mail:\n");
scanf("%s", s5);
strcpy(stu[num].email,s5);
break;
case 8: return;
default:printf("请在1-8之间选择\n");
}
}
}
printf("是否继续修改(是按1,否按0)");
scanf("%d",&f);
if(f==0)
{
save();
menu();
}
else if(f==1)
{
modify();
}
system("pause");
}
//浏览学生信息
void browse()
{
int i,j;
//按学号排序
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(strcmp(stu[j].stunum,stu[j+1].stunum)>0)
{
stu[n+1]=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stu[n+1];
}
}
save();
//打开文件
FILE *fp;
if((fp=fopen("d:/student.txt","r"))==NULL)
{
printf("File open error!\n");
exit(0);
}
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
}
//查询学生信息
void enquiry()
{
int i,f;
char s[15];
printf("请输入要查询的学号:\n");
scanf("%s",&s);
for(i=0;i<n;i++)
{
if(strcmp(stu[i].stunum,s)==0)
{
FILE *fp;
if((fp=fopen("d:\\student.txt","w"))==NULL)
{
printf("File open error!\n");
exit(0);
}
fprintf(fp,"学号:%s 姓名:%s 电话:%s E-mail:%s",stu[i].stunum,stu[i].name,stu[i].phnum,stu[i].email);
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
}
}
printf("是否继续查询(是按1,否按0)");
scanf("%d",&f);
if(f==0)
{
menu();
}
else if(f==1)
{
enquiry();
}
system("pause");
}
呃呃,你的课题这么难
|
|