[求助]班级成绩管理系统
求源程序根据内容,利用函数,指针,for,do while,swith等语句编写就可以了!谢谢啦!《C语言课程设计》报告
一、课程设计题目: 班级成绩管理系统
二、系统功能
以选择菜单形式实现学生信息的添加、删除、修改、显示和查找操作。
三、系统需求
1.学生成绩登记:通过结构体struct student来保存学号,姓名,性别,课程成绩等相关信息。录入考试日期、学号、姓名等信息。
2. 学生信息删除:输入要删除学生信息的学号,?若找到则先显示此学生的全部信息,再进行删除操作;?若找不到则输出查找失败的信息。
3. 学生信息修改:输入要修改学生的学号,?若找到则先显示此学生的全部信息,再进行修改操作;?若找不到则输出查找失败的信息。
4. 学生信息查询:?可以根据学号和姓名等查找方式,查找学生并显示此学生的全部信息;若找不到则输出查找失败的信息。
5.退出系统。
四、课程设计要求
根据题目功能要求,设计出系统显示菜单,数据存储方式,主要功能函数,并画出程序流程图,编写源程序代码。
1.模块程序化设计 画出主要功能模块图
2.界面设计
3.程序流程图
4.锯齿型书写格式
5.上机调试通过
五、源程序
六、实验调试过程及运行结果
七、总结(遇到的主要困难和解决方法等)
我编的,不过只有1 2 5功能,谁帮我把它编辑完,急,感激!
#include <stdio.h>
#include <string.h>
#define N 10
#define M 3
typedef struct student
{
char num[10];
char name[10];
int score[M];
float ave;
}STU;
STU stu[N];
int n;
o_input(int i,int n)
{
int j,w1;
do
{
w1=0;
printf("\n学号:");
scanf("%s",&stu[i].num);
for(j=0;stu[i].num[j]!='\0';j++);
if(stu[i].num[j]<'0'||stu[i].num[j]>'9');
{
w1=1;
break;
}
if(w1!=1);
}
while(w1==1);
}
input(int i)
{
int j;
o_input(i,i);
printf("姓名:");
scanf("%s",&stu[i].name);
for(j=0;j<M;j++)
{
printf("成绩%d:",j+1);
scanf("%d",&stu[i].score[j]);
}
}
enter()
{
int i=0;
printf("输入多少名学生的信息:",N);
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d名学生的成绩:",i+1);
input(i);
}
}
printf_one(int i)
{
int j;
printf("%11s %-17s",stu[i].num,stu[i].name);
for(j=0;j<M;j++)
printf("%9d",stu[i].score[j]);
}
del()
{
struct student s;
int i,k,c,w0=1;
do
{
k=-1;
do
{
printf("请输入你要删除的学号:\n");
scanf("%s",s.num);
for(i=0;i<n;i++)
if(strcmp(s.num,stu[i].num)==0)
{
k=i;
s=stu[i];
}
}while(k==-1);
printf("\n");
printf_one(k);
printf("你确定吗?\n\t1.确定 2.取消[]\b\b");
scanf("%d",&c);
if(c==1)
{
stu[k].ave=0;
printf("成功!\n\t1.继续 2.返回菜单\t[]\b\b");
scanf("%d",&w0);
}
if(c==3)
w0=0;
if(w0!=1&&c!=3);
//save(n);
}while(w0==1);
}
order()
{
int i,j,k;
struct student s;
//n=load();
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(stu[j].ave>stu[k].ave)
k=j;
s=stu[i];
stu[i]=stu[k];
stu[k]=s;
}
//save(n);
printf("\n\n");
}
menu()
{
int n;
do
{
printf(" ★班级成绩管理系统★\n");
printf("************************************menu****************************************\n");
printf(" 1.学生成绩登记\n");
printf(" 2.学生信息删除\n");
printf(" 3.学生信息修改\n");
printf(" 4.学生信息查询\n");
printf(" 5.退出系统\n");
printf("********************************************************************************\n");
printf(" 请输入你要选择的功能:");
scanf("%d",&n);
switch(n)
{case 1:
enter();
break;
case 2:
del();
break;
case 3:
printf("学生信息修改\n");
break;
case 4:
printf("学生信息查询\n");
break;
case 5:
printf("退出系统\n");
default:
printf("请输入1至5进行查询!\n");
break;
}
}while(n!=5);
}
main()
{
menu();
}
[[it] 本帖最后由 shuangzijian 于 2008-7-2 10:07 编辑 [/it]]
[[it] 本帖最后由 shuangzijian 于 2008-7-2 10:38 编辑 [/it]]