求解如何使用工程。
期末了,老师要求的程序我已经写好了,但为了帮一个同学不挂科,只好组一个小组。老师要求小组的程序要使用工程来分。但没有教过,想请问各位大大,怎么创建工程和把程序分开来。程序如下,求指点:#include<stdio.h>
#include<string.h> /*关于字符数组的函数定义的头文件,下面用到strcmp*/
#define N 1000 //学生人数//
void shuru(struct Student s[]);
void chaxun(struct Student s[]);
void paixu(struct Student s[]);
void shanchu(struct Student s[]);
void zengjia();
void menuStu();
struct Student//定义一个结构体//
{
int Number;//定义学号//
char name[20];//定义姓名//
char sex;//定义性别//
float yingyu;
float yuwen;
float c_yuyan;
float Photoshop;
int age;//定义年龄//
float aver;//平均分//
float sum;//总分//
};
struct Student s[N];
int n;
void main()//主函数//
{
menuStu();
}
//定义一个输入函数
void shuru(struct Student s[])//输入//
{
int j;//j表示输入的元素//
int sum=0;//注意初始化//
printf("请输入你要输入的人数:");
scanf("%d",&n);
printf("请输入学生的基本信息 :\n");
for(j=1;j<=n;j++)//循环体,若输入的学生人数>1,则循环输入学生信息,直到输入完所有学生信息为止//
{
s[j].sum=0;
printf("学号 :");
scanf("%d",&s[j].Number);
printf("姓名 :");
scanf("%s",s[j].name);
printf("性别 :");
scanf(" %c",&s[j].sex);
printf("请输入第 %d 个学生的[英语]成绩:\n",j);
scanf("%f",&s[j].yingyu);
printf("请输入第 %d 个学生的[语文]成绩:\n",j);
scanf("%f",&s[j].yuwen);
printf("请输入第 %d 个学生的[c语言]成绩:\n",j);
scanf("%f",&s[j].c_yuyan);
printf("请输入第 %d 个学生的[Photoshop]成绩:\n",j);
scanf("%f",&s[j].Photoshop);
s[j].sum=s[j].yingyu+s[j].yuwen+s[j].c_yuyan+s[j].Photoshop;
s[j].aver=s[j].sum/4;
printf("年龄 : ");
scanf("%d",&s[j].age);
}
}
void xiugai(struct Student s[])//修改//
{
int i,j,s1,item,flag;
if(n==0)
{
printf("没有可修改信息!请先输入学生信息!\n");
return;
}
printf("请输入要修改的学生的学号:");
scanf("%d",&s1);
printf("以下为您所要修改的学生的原信息:\n");
printf("==========================================================================\n");
printf("学号\t姓名\t性别\t年龄\t英语\t语文\tc语言 Photoshop 平均数\t总分\n");
printf("==========================================================================\n");
for(i=1;i<=n;i++)
{
if(s[i].Number==s1)
{
printf("%d\t",s[i].Number);
printf("%s\t",s[i].name);
printf("%c\t",s[i].sex);
printf("%d\t",s[i].age);
printf("%.1f\t",s[i].yingyu);
printf("%.1f\t",s[i].yuwen);
printf("%.1f\t",s[i].c_yuyan);
printf("%.1f\t",s[i].Photoshop);
printf("%.1f\t",s[i].aver);
printf("%.1f\t",s[i].sum);
printf("================================================================\n");
printf("------------------\n");
printf("1.修改学号\n");
printf("2.修改姓名\n");
printf("3.修改性别\n");
printf("4.修改成绩\n");
printf("5.修改年龄\n");
printf("6.退出本菜单\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",&item);
switch(item)
{
case 1:
flag=1;
while(flag)
{
flag=0;
printf("请输入新的学号:");
scanf("%d",&s[i].Number);
for(j=i-1;j>=0;j--)
{
if(s[i].Number==s[j].Number)
{
printf("已有该学号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
}
}
}
break;
case 2:
printf("请输入新的姓名:");
scanf("%s",&s[i].name);
break;
case 3:
printf("请输入新的性别:");
scanf(" %s",&s[i].sex);
break;
case 4:
s[i].sum=0;
printf("请输入第 %d 个学生的[英语]成绩:\n",i);
scanf("%f",&s[i].yingyu);
printf("请输入第 %d 个学生的[语文]成绩:\n",i);
scanf("%f",&s[i].yuwen);
printf("请输入第 %d 个学生的[c语言]成绩:\n",i);
scanf("%f",&s[i].c_yuyan);
printf("请输入第 %d 个学生的[Photoshop]成绩:\n",i);
scanf("%f",&s[i].Photoshop);
s[i].sum=s[i].yingyu+s[i].yuwen+s[i].c_yuyan+s[i].Photoshop;
s[i].aver=s[i].sum/4;
break;
case 5:
printf("请输入新的年龄:");
scanf("%d",&s[i].age);
break;
case 6:return;
default:printf("请在1-6之间选择\n");
}
}
}
}
}
void zengjia(struct Student s[])//增加//
{
int i=N,j,flag,m;//flag=1表示有重复学号,0表示无重复学号,m表示增加的人数
printf("请输入待增加的学生数:\n");
scanf("%d",&m);
do
{
flag=1;
while(flag)
{
flag=0;
printf("请输入第 %d 个学生的学号:\n",i+1);
scanf("%s",s[i].Number);
for(j=0;j<i;j++)
if(strcmp(s[i].Number,s[j].Number)==0)
{
printf("已有该学号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
}
}
printf("请输入第 %d 个学生的姓名:\n",i+1);
scanf("%s",s[i].name);
printf("请输入第 %d 个学生的年龄:\n",i+1);
scanf("%d",&s[i].age);
printf("请输入第 %d 个学生的性别:\n",i+1);
scanf("%s",s[i].sex);
m--;
}while(m==0);
printf("录入完毕!\n\n");
}
void shanchu(struct Student s[])//删除//
{
int b,ch,i,j;
printf("请输入要删除学生信息的学号:");
scanf("%d",&b);
printf("该学生的信息是:\n");
for(i=1;i<=n;i++)
{
if(b==s[i].Number)
{
printf("%d\t",s[i].Number);
printf("%s\t",s[i].name);
printf("%s\t",s[i].sex);
printf("%d\t",s[i].age);
printf("%.1f\t",s[i].yingyu);
printf("%.1f\t",s[i].yuwen);
printf("%.1f\t",s[i].c_yuyan);
printf("%.1f\t",s[i].Photoshop);
printf("%.1f\t",s[i].aver);
printf("%.1f\t",s[i].sum);
printf("确认是否要删除(1为是,0为否):");
scanf("%d",&ch);
if(ch==1)
{
for(j=i;j<n;j++)
{
s[j]=s[j+1];
}
printf("删除成功!\n");
}
}
}
n=n-1;
}
void chaxun(struct Student s[])
{
int i,j;
printf("* * * * * * * * *学生的基本信息是* * * * * * * * *\n");
printf("======================================================================\n");
printf("学号\t姓名\t性别\t年龄\t语文\t数学\t英语\tc语言\t平均数\t总分\n");
for(j=0;j<n;j++)
{
printf("%d\t",s[j].Number);
printf("%s\t",s[j].name);
printf("%c\t",s[j].sex);
printf("%d\t",s[j].age);
printf("%.1f\t",s[i].yingyu);
printf("%.1f\t",s[i].yuwen);
printf("%.1f\t",s[i].c_yuyan);
printf("%.1f\t",s[i].Photoshop);
printf("%.1f\t",s[j].sum);
printf("%.1f\n",s[j].aver);
printf("\n");
}
printf("======================================================================\n");
}
//定义一个排序函数
void paixu(struct Student s[])
{
int i,j;//i表示循环轮次,j表示循环体中的元素//
struct Student temp;
for(i=1;i<=n-1;i++)
{
for(j=0;j<=n-2;j++)
{
if(s[j].sum<s[j+1].sum)//如果j<j+1,那么两者交换//
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
}
//操作界面//
void menuStu()
{
int n;
printf("================欢迎光临==================");
printf("\n请选择:\n");
printf("\t\t\t*************************************\n");
printf("\t\t\t* 操作菜单 *\n");
printf("\t\t\t* *\n");
printf("\t\t\t* 1.输入学生信息 *\n");
printf("\t\t\t* 2.修改学生信息 *\n");
printf("\t\t\t* 3.增加学生信息 *\n");
printf("\t\t\t* 4.按删除学生信息 *\n");
printf("\t\t\t* 5.按学号从低到高排序 *\n");
printf("\t\t\t* 6. 查 询 *\n");
printf("\t\t\t* 7. 保 存 *\n");
printf("\t\t\t*-----------------------------------*\n");
printf("\t\t\t* 8.退出系统 *\n");
printf("\t\t\t*-----------------------------------*\n");
printf("\t\t\t* 请输入1-8任意一个数字 *\n");
printf("\t\t\t*-----------------------------------*\n");
printf("请选择菜单编号:");
scanf("%d",&n);
while(n!=-1)
{
switch(n)
{
case 1:shuru(s,N);break;
case 2:xiugai(s,n);break;
case 3:zengjia();break;
case 4:shanchu(s);break;
case 5:paixu(s,N);break;
case 6:chaxun(s,N);break;
case 7:break;
case 8:break;
default:printf("输入错误!\n");break;
}
printf("请选择\n");
printf("1.输入\t2.修改\t3.增加\t4.删除\t5.排序\t6.查询\t7.退出\n");
scanf("%d",&n);
}
}
求各位大大指点迷津~~~~