| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:看看这个学生管理系统怎么错了
取消只看楼主 加入收藏
bino1989
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-11-1
收藏
 问题点数:0 回复次数:1 
看看这个学生管理系统怎么错了

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void jiemian();
void get();
void menu();
void show();
void sort();
int find1();
int find2();
void del1();


struct student
{
int num;
char name[20];
double cj[3];
double avge;
}stu[50];
int i=0;
/***********************************************************************************************
*
*主函数 系统的开始
*
*/
int main(void)
{
menu();
}

/*
*
*主菜单 显示/确认选项
*
*/

void menu()
{
int x;
int y;
do
{
system("cls");
jiemian();
printf("\n\t\t\t\t1::输入的学员信息.");
printf("\n\t\t\t\t2::显示学员的信息.");
printf("\n\t\t\t\t3::排序学员的信息(按平均成绩).");
printf("\n\t\t\t\t4::查询的学员信息.");
printf("\n\t\t\t\t5::删除的学员信息.");
printf("\n\t\t\t\t6::退出.");
printf("\n\n\n\t\t请选择需要操作的选项:");
scanf("%d",&x);
switch(x)
{
case 1:{
get();
break;
}

case 2:
{
show();
printf("\n\n\n\t\t\t\t请回车继续~");
fflush(stdin);
getchar();
break;
}

case 3:{
sort();
printf("\n\n\n\t\t排序完毕,请回车继续~");
fflush(stdin);
getchar();
break;
}
case 4:{
system("cls");
jiemian();

printf("\n\n\t\t\t请选择查找方式:");
printf("\n\t\t\t\t1::按学号");
printf("\n\t\t\t\t2::按姓名");
printf("\n\n\t\t\t请选择:");
scanf("%d",&y);
if(y==1)
find1();
else
find2();
printf("\n\n\t\t查找完毕,请回车继续~");
fflush(stdin);
getchar();
break;
}
case 5:{
del1();
break;
}
case 6:{
printf("\n\n\t\t\t\t谢谢使用!请按回车退出");
fflush(stdin);
getchar();
}exit(0);
}
}while(1);

}

/*
*
*界面显示 管理系统的界面
*
*/
void jiemian()
{
printf("\n\t\t\t★★★★★★★★★★★★★★★★★★★★★★★★★");
printf("\n\t\t\t★★ ★★");
printf("\n\t\t\t★★ 学员信息管理系统 ★★");
printf("\n\t\t\t★★ ★★");
printf("\n\t\t\t★★★★★★★★★★★★★★★★★★★★★★★★★");
}

/*
*
*选项1,输入学员的信息
*
*/
void get()
{
int j;
char c;
double sum=0;
system("cls");
jiemian();
printf("\n\t\t\t请输入学员信息:\n");

while(i<50)
{
sum=0;
printf("\n\t\t\t请输入第%d个学员的学号:",i+1);
fflush(stdin);
scanf("%d",&stu[i].num);
printf("\t\t\t请输入第%d个学员的姓名:",i+1);
fflush(stdin);
gets(stu[i].name);
for(j=0;j<3;j++)
{

printf("\n\t\t\t请输入学员的第%d科成绩:",j+1);
scanf("%lf",&stu[i].cj[j]);
sum=sum+stu[i].cj[j];
}
stu[i].avge=sum/3;
i++;
printf("\n\t\t\t还需要输入更多的信息吗~ Y/N");
fflush(stdin);
c=getchar();
if(c=='n'||c=='N')
break;
}

}

/*
*
*选项2,显示输入学员的信息
*
*/
void show()
{
int j;
system("cls");
jiemian();

printf("\n\n\t\t\t该班信息如下:");
printf("\n\t学号\t姓 名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for(j=0;j<i;j++)
{
printf("\n\t%-4d\t%-5s\t%-5.2lf\t%-5.2lf\t%-5.2lf\t%-5.2lf",stu[j].num,stu[j].name,stu[j].cj[0],stu[j].cj[1],stu[j].cj[2],stu[j].avge);
}

}

/*
*
*选项3,按平均成绩排序
*
*/
void sort()
{
int n, j;
struct student temp;
for(n=0;n<i;n++)
{
for(j=n+1;j<i;j++)
{
if(stu[n].avge<stu[j].avge)
{
temp=stu[n];
stu[n]=stu[j];
stu[j]=temp;

}
}
}
}


/*
*
*选项4,查询学员信息,(按学号)
*
*/
int find1()
{
int j,k;
printf("\n\n\n\t\t\t请输入学员的学号:");
scanf("%d",&k);
for(j=0;j<i;j++)
{
if(k==stu[j].num)
{
printf("\n\t学号\t姓 名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
printf("\n\t%-4d\t%-5s\t%-5.2lf\t%-5.2lf\t%-5.2lf\t%-5.2lf",stu[j].num,stu[j].name,stu[j].cj[0],stu[j].cj[1],stu[j].cj[2],stu[j].avge);
return j;
break;
}
}
if(j==i)
{
printf("\n\n\t\t\t对不起,你要查找的对象不存在~");
}
}


/*
*
*选项4,查询学员信息,(按姓名)
*
*/
int find2()
{
int j;
char a[20];
printf("\n\n\n\t\t\t请输入学员的姓名:");
fflush(stdin);
gets(a);
for(j=0;j<i;j++)
{
if(strcmp(stu[j].name,a)==0)
{
printf("\n\t学号\t姓 名\t成绩1\t成绩2\t成绩3\t平均成绩\n");
printf("\n\t%-4d\t%-5s\t%-5.2lf\t%-5.2lf\t%-5.2lf\t%-5.2lf",stu[j].num,stu[j].name,stu[j].cj[0],stu[j].cj[1],stu[j].cj[2],stu[j].avge);
return j;
break;
}
}
if(j==i)
{
printf("\n\n\t\t\t对不起,你要查找的对象不存在~");
}
}


/*
*
*选项5,删除学员信息
*
*/
void del1()
{
int x,y;
system("cls");
jiemian();
do
{
printf("\n\n\n\t\t\t需要用什么方式查找并删除?");
printf("\n\t\t\t\t1::按学号");
printf("\n\t\t\t\t2::按姓名");
printf("\n\t\t\t\t2::取消");
printf("\n\n\t\t\t请选择:");
scanf("%d",&x);
if(x==1)
y=find1();
else if(x==2)
y=find2();
else if(x==3)
{
break;
}
}

还没有做完~~
但编译时总是出现 :fatal error c1004:unexpected end of file found
不知道那里错了~~~
希望各位多多指教~~
谢谢各位了~~~

搜索更多相关主题的帖子: 系统 学生 管理 
2007-11-10 09:14
bino1989
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-11-1
收藏
得分:0 

额~~~谢谢~~
错误已经找到了~~
原来 do while的while没有写~~
粗心呀~~~
谢谢大哥~~

2007-11-10 18:05
快速回复:看看这个学生管理系统怎么错了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027953 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved