![]() |
#2
yangfrancis2016-05-22 17:50
|

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define M 50
typedef struct
{
char name[5];
int floor[20];
char no[20];
char grade[4];
}DORMITORIES;
int menu_select();
int enter(DORMITORIES t[]);
void list(DORMITORIES t[],int n);
void search(DORMITORIES t[],int n);
void save(DORMITORIES t[],int n);
int load(DORMITORIES t[]);
void display(DORMITORIES t[],int n);
void print(DORMITORIES temp);
int find_no(DORMITORIES t[],int n,char *s);
void modify(DORMITORIES t[],int n);
#include"stufun.h"
int menu_select()
{
char s[80];
int c;
printf("********************主菜单********************\n");
printf(" 0.输入寝室记录\n");
printf(" 1.浏览寝室记录\n");
printf(" 2.按寝室编号查找\n");
printf(" 3.插入寝室记录\n");
printf(" 4.按寝室序号浏览\n");
printf(" 5.按寝室编号排序\n");
printf(" 6.程序退出\n");
printf("*********************************************\n");
do
{
printf("\n 输入您的菜单选项标号(0-6):");
scanf("%s",s);
c=atoi(s);
getchar();
}while(c<0||c>6);
return c;
}
int enter(DORMITORIES t[])
{
int i,n;
system("cls");
printf("\n 请输入寝室记录条数:\n");
scanf("%d",&n);
printf("请输入寝室记录:\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
for (i=0;i<n;i++)
{
scanf("%s",t[i].name);
scanf("%d",&t[i].floor);
scanf("%s",t[i].no);
scanf("%s",t[i].grade);
}
getchar();
return n;
}
void list(DORMITORIES t[],int n)
{
int i;
system("cls");
printf("\n********************寝室卫生清单********************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
for (i=0;i<n;i++)
{
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
if((i+1)%10==0&&n%10>0)
{
printf("-------------\n");
printf("每页显示10寝室记录,按回车键向后翻页...\n");
getchar();
system("cls");
printf("\n********************寝室卫生清单********************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
}
}
printf("-------------\n");
}
void search (DORMITORIES t[],int n)
{
char s[20];
int i;
system("cls");
printf("请输入查找的寝室编号:\n");
scanf("%s",s);
getchar();
i=find_no(t,n,s);
if(i>n-1)
printf("没有寝室编号为%s的学生!\n",s);
else
print(t[i]);}
void save(DORMITORIES t[],int n)
{
int i;
FILE*fp;
if (fp=fopen("C:\users\administrator.3257FMIDIIPAJDY\desktop","wb"))==NULL)
{
printf("无法打开寝室卫生记录文件!\n");
exit(1);
}
printf("\n正在保存中\n");
fprintf(fp,"%d",n);
fprintf(fp,"\r\n");
for(i=0;i<n;i++)
{
fprintf(fp,"%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
fprintf(fp,"\r\n");
}
fclose(fp);
printf("********保存成功********\n");
}
int load(DORMITORIES t[])
{
int i,n;
FILE *fp;
if (fp=fopen("C:\users\administrator.3257FMIDIIPAJDY\desktop","wb"))==NULL)
{
printf("无法打开寝室卫生记录文件!\n");
exit(1);
}
fscanf(fp,"%d",&n);
for(i=0;i++)
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
fclose(fp);
printf("已经成功加载寝室卫生记录文件到内存!\n");
return n;
}
void display(DORMITARY t[],int n)
{
int id;
printf("请输入序号:\n");
scanf("%d",&id);
getchar();
if(id>=0&&id<n)
{
printf(t[id]);
printf("\r\n");
}
else
printf("序号为%d的寝室不存在!\n",id);
}
void print(DORMITORIES temp)
{
printf('\n************************************************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
printf("-------------\n");
}
int find_no(DORMITORIESt[],int n,char *no)
{
int i;
for (i=0;i<n;i++)
{
if(strcmp(no,t[i].no)==0)
return i;
}return i;
}
int find_name(DORMITORIES t[],int n,char *name)
{
int i;
for (i=0;i<n;i++)
{
if(strcmp(s,t[i].name==0)
return i;
}
return i;}
}
void modify(DORMITORIES t[],int n)
{
char no[20];
int ch=0;
int i;
printf("请输入要修改的寝室编号:\n");
scanf("%s",no);
getchar();
i=find_no(t,n,no);
if(i==n)
printf("没有找到寝室编号为%s的寝室!\n",no);
else
{
printf("寝室编号为%s的寝室修改前:\n",no);
print(t[i]);
printf("请输入修改后寝室记录:\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
scanf("%s",t[i].name);
scanf("%d",&t[i].floor);
scanf("%s",t[i].no);
scanf("%s",t[i].grade);
getchar();
printf("寝室编号为%s的寝室修改后:\n",no);
print(t[i]);
}
}
#include<stufun.c>
void main()
{
DORMITORIES stu[M];
int length;
for(;;)
{
system("cls");
switch(menu_select())
{
case 0:length=enter(stu);break;
case 1:list(stu,length);break;
case 2:search(stu,length);break;
case 3:modify(stu,length);break;
case 4:save(stu,length);break;
case 5:display(stu,length);break;
case 6:sort(stu,length);break;
case 7:exit(0);
}
printf("请按回车键返回主菜单...\n");
getchar();
}
return ;
}
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define M 50
typedef struct
{
char name[5];
int floor[20];
char no[20];
char grade[4];
}DORMITORIES;
int menu_select();
int enter(DORMITORIES t[]);
void list(DORMITORIES t[],int n);
void search(DORMITORIES t[],int n);
void save(DORMITORIES t[],int n);
int load(DORMITORIES t[]);
void display(DORMITORIES t[],int n);
void print(DORMITORIES temp);
int find_no(DORMITORIES t[],int n,char *s);
void modify(DORMITORIES t[],int n);
#include"stufun.h"
int menu_select()
{
char s[80];
int c;
printf("********************主菜单********************\n");
printf(" 0.输入寝室记录\n");
printf(" 1.浏览寝室记录\n");
printf(" 2.按寝室编号查找\n");
printf(" 3.插入寝室记录\n");
printf(" 4.按寝室序号浏览\n");
printf(" 5.按寝室编号排序\n");
printf(" 6.程序退出\n");
printf("*********************************************\n");
do
{
printf("\n 输入您的菜单选项标号(0-6):");
scanf("%s",s);
c=atoi(s);
getchar();
}while(c<0||c>6);
return c;
}
int enter(DORMITORIES t[])
{
int i,n;
system("cls");
printf("\n 请输入寝室记录条数:\n");
scanf("%d",&n);
printf("请输入寝室记录:\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
for (i=0;i<n;i++)
{
scanf("%s",t[i].name);
scanf("%d",&t[i].floor);
scanf("%s",t[i].no);
scanf("%s",t[i].grade);
}
getchar();
return n;
}
void list(DORMITORIES t[],int n)
{
int i;
system("cls");
printf("\n********************寝室卫生清单********************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
for (i=0;i<n;i++)
{
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
if((i+1)%10==0&&n%10>0)
{
printf("-------------\n");
printf("每页显示10寝室记录,按回车键向后翻页...\n");
getchar();
system("cls");
printf("\n********************寝室卫生清单********************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
}
}
printf("-------------\n");
}
void search (DORMITORIES t[],int n)
{
char s[20];
int i;
system("cls");
printf("请输入查找的寝室编号:\n");
scanf("%s",s);
getchar();
i=find_no(t,n,s);
if(i>n-1)
printf("没有寝室编号为%s的学生!\n",s);
else
print(t[i]);}
void save(DORMITORIES t[],int n)
{
int i;
FILE*fp;
if (fp=fopen("C:\users\administrator.3257FMIDIIPAJDY\desktop","wb"))==NULL)
{
printf("无法打开寝室卫生记录文件!\n");
exit(1);
}
printf("\n正在保存中\n");
fprintf(fp,"%d",n);
fprintf(fp,"\r\n");
for(i=0;i<n;i++)
{
fprintf(fp,"%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
fprintf(fp,"\r\n");
}
fclose(fp);
printf("********保存成功********\n");
}
int load(DORMITORIES t[])
{
int i,n;
FILE *fp;
if (fp=fopen("C:\users\administrator.3257FMIDIIPAJDY\desktop","wb"))==NULL)
{
printf("无法打开寝室卫生记录文件!\n");
exit(1);
}
fscanf(fp,"%d",&n);
for(i=0;i++)
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
fclose(fp);
printf("已经成功加载寝室卫生记录文件到内存!\n");
return n;
}
void display(DORMITARY t[],int n)
{
int id;
printf("请输入序号:\n");
scanf("%d",&id);
getchar();
if(id>=0&&id<n)
{
printf(t[id]);
printf("\r\n");
}
else
printf("序号为%d的寝室不存在!\n",id);
}
void print(DORMITORIES temp)
{
printf('\n************************************************\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
printf("%-20s%-20d%-10s%-10s\n",t[i].name,t[i].floor,t[i].no,t[i].grade);
printf("-------------\n");
}
int find_no(DORMITORIESt[],int n,char *no)
{
int i;
for (i=0;i<n;i++)
{
if(strcmp(no,t[i].no)==0)
return i;
}return i;
}
int find_name(DORMITORIES t[],int n,char *name)
{
int i;
for (i=0;i<n;i++)
{
if(strcmp(s,t[i].name==0)
return i;
}
return i;}
}
void modify(DORMITORIES t[],int n)
{
char no[20];
int ch=0;
int i;
printf("请输入要修改的寝室编号:\n");
scanf("%s",no);
getchar();
i=find_no(t,n,no);
if(i==n)
printf("没有找到寝室编号为%s的寝室!\n",no);
else
{
printf("寝室编号为%s的寝室修改前:\n",no);
print(t[i]);
printf("请输入修改后寝室记录:\n");
printf("学院 楼栋 寝室编号 等级\n");
printf("-------------\n");
scanf("%s",t[i].name);
scanf("%d",&t[i].floor);
scanf("%s",t[i].no);
scanf("%s",t[i].grade);
getchar();
printf("寝室编号为%s的寝室修改后:\n",no);
print(t[i]);
}
}
#include<stufun.c>
void main()
{
DORMITORIES stu[M];
int length;
for(;;)
{
system("cls");
switch(menu_select())
{
case 0:length=enter(stu);break;
case 1:list(stu,length);break;
case 2:search(stu,length);break;
case 3:modify(stu,length);break;
case 4:save(stu,length);break;
case 5:display(stu,length);break;
case 6:sort(stu,length);break;
case 7:exit(0);
}
printf("请按回车键返回主菜单...\n");
getchar();
}
return ;
}
错误信息为
F:\vc++6.0\MyProjects\5\5.cpp(23) : fatal error C1083: Cannot open include file: 'stufun.h': No such file or directory
这个该怎么解决? 完全不会