c语言课程设计宿舍管理系统,我写的老有错误,请大神帮忙修改一下,好的加分

2024-11-19 12:34:37
推荐回答(1个)
回答1:

#include
#include
#define MaxSize 6
struct student_info
{ char name[8];
int sum;
char intime;
char outime;
int number;
int studentroom;
}StudentList[MaxSize];
int Insert(int*a);
void Update(int);//这少了个分号
void Delete(int*a);
int main()
{int i;
int count=0;
do
{printf("\n");
printf("1.插入(Insert)\n");
printf("2.修改(Update)\n");
printf("3.删除(Delete)\n");
printf("4.退出(Eixt)\n");
scanf("%d",&i);
switch(i)
{case 1:Insert(&count);break;
case 2:Update(count);break;
case 3:Delete(&count);break;
case 4:break;
default:printf("输入错误,请重新输入!");break;}
}
while(i!=6);
return 0;
}
int Insert(int*count)
{
int i,in_number;
if(*count==MaxSize)
{printf("空间已满!");
return 0;}
printf("请输入编号:");
scanf("%d",&in_number);
for(i=0;i<*count;i++)
if(StudentList[i].number==in_number)
{printf("已经有相同的编号:"); //这的分号是中文符号
return 0;}//return没有返回值
StudentList[i].number=in_number;//应该是.number你打成了,number
printf("请输入学生姓名:");
scanf("%s",StudentList[i].name);//看到这我觉得你的程序是copy的吧,以前是个Guest。。。。。
printf("请输入学号:");
scanf("%d",StudentList[i].number);//
printf("请输入房间号:");
scanf("%d",StudentList[i].studentroom);
printf("请输入入住日期:");
scanf("%s",StudentList[i].intime);
printf("请输入离开日期:");
scanf("%s",StudentList[i].outime); //这里outime打错了!
(*count)++;
return 0;
}
void Search(int count)
{int i,number,flag=1;
printf("请输入要查询的编号:");
scanf("%d",&number);
for(i=0;i if(StudentList[i].number==number)
{printf("姓名:%s",StudentList[i].name);
printf("学号:%d",StudentList[i].number);
printf("房间号:%d",StudentList[i].studentroom);
printf("入住日期:%s",StudentList[i].intime);
printf("离开日期:%s",StudentList[i].outime);
flag=0;}
else
printf("没有查询到!");}//这里少了个分号
void Update(int count)
{ int i,number,flag=1;
printf("请输入要修改数据的编号:");
scanf("%d",&number);
for(i=0;i,count&&flag;i++)
if(StudentList[i].number==number)
{printf("请输入学生姓名:");
scanf("%s",StudentList[i].name);
printf("请输入学号:");
scanf("%d",StudentList[i].number);
printf("请输入房间号:");
scanf("%d",StudentList[i].studentroom);
printf("请输入入住日期:");
scanf("%s",StudentList[i].intime);
printf("请输入离开日期:");
scanf("%s",StudentList[i].outime);
flag=0;
}
else
printf("未查询到可供修改数据!");
}
void Delete(int*count)
{int i,j,number,flag=1;
printf("请输入要删除数据编号:");
scanf("%d",&number);
for(i=0;i<*count&&flag;i++)
{
if(StudentList[i].number==number) {
for(j=i;j<*count-1;j++)
StudentList[j]=StudentList[j+1];
flag=0;
(*count)--;
}
else
printf("没有查询到可删除数据!");
}
}
编译是没有问题了,但是你的程序还缺少东西,比如事先存储好的数据等,自己再改改吧,这个东西不难,最好自己写,你懂得。。。。