📄 manager.cpp
字号:
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include "manager.h"
stu *head;
int main(int argc, char* argv[])
{
stu *pr,*pr2;
head=NULL;
int c;//用来得到Menu的返回值
int coursenumber,i,sum,num,score[COURSENUMBER]={0};
//coursenumber 由来得到AddCourse函数的返回值即:共有多少科。i是用来循环累加的。
FILE *fp;
char subject[COURSENUMBER][15],name[20],pathname[30];
//subject用来得到学科的名称,最多三十科,可通过改变COURSENUMBER宏来改变。
printf("Please input the subjects:\n");
coursenumber=AddCourse(subject);
while(1)
{
c=menu();
switch(c)
{
case 1://显示学生的信息
DispStudent(head,coursenumber,subject);
break;
case 2://写入学生的信息
printf("Please input the student's ID and name\n");
scanf("%d%s",&num,name);
printf("Plesae input the student's score!\n");
for(i=0;i<coursenumber;i++)
{
printf("%s ",subject[i]);
}
printf("\n");
for(i=0;i<coursenumber;i++)
scanf("%d",&score[i]);
sum=0;
for(i=0;i<coursenumber;i++)
{
sum=sum+score[i];
}
if(head==NULL)
{
head=CreateStudent(num,name,score,sum,coursenumber);
pr=head;
}
else
{
head=AddStudent(head,num,name,score,sum,coursenumber);
}
break;
case 3://删除一个学生的信息
printf("please enter which student you want to delete[Enter ID]\n");
scanf("%d",&num);
head=DelStudent(head,num);
break;
case 4://查找一个学生的信息
printf("Please enter the student's ID and to search it\n");
scanf("%d",&num);
pr2=SearchStudent(head,num);
if(pr2!=NULL)
PrintStudent(pr2,subject,coursenumber);
break;
case 5://修改一个学生的信息
printf("Please input the ID\n");
scanf("%d",&num);
ChangeStudent(head,num,subject,coursenumber);
break;
case 6://删除所有学生的信息。
head=DelAllStudent(head);
break;
case 7://保存成绩
printf("Please input the pathname:\n");
scanf("%s",pathname);
fp=fopen(pathname,"a+");
if(fp==NULL)
{
printf("Can't open it");
getch();
break;
}
SaveFile(fp,head,coursenumber,subject);
fclose(fp);
break;
case 8:
exit(0);
}
}
}
//添加课程,参数学科数组,返回有多少学科.
int AddCourse(char subject[][15])
{
int i=0;
int coursenumber;
char c;
printf("press 'q' to quit,press any key to continue\n");
c=getch();
if(c=='q')
exit(0);
else
{
printf("Please input the subject\n");
for(i=0;;i++)
{
coursenumber=i+1;
scanf("%s",subject[i]);
scanf("%c",&c);
if(c=='\n')
break;
}
}
return coursenumber;
}
//菜单,返回选择的菜单项
int menu()
{
int c;
while(1)
{
printf("press '1' to display the score\n");//要判断是否存在着学生
printf("press '2' to create and add students' information\n");
printf("press '3' to delete students' information \n");//要判断是否存在着学生
printf("press '4' to Search a students's information\n");//要判断是否存在着学生
printf("press '5' to Chang a studnets' information\n");//要判断是否存在着学生
printf("press '6' to delete all students' information\n");//要判断是否存在着学生
printf("press '7' to save the table\n");
printf("press '8' to exit\n");
scanf("%d",&c);
if(c==1 || c==2 || c==3 || c==4 || c==5 || c==6 || c==7 || c==8)
{
return c;
}
else
{
printf("Wrong!Plesase input again!\n");
continue;
}
}
}
//打印某个学生的成绩
void PrintStudent(stu *pr2,char subject[][15],int coursenumber)
{
int i;
for(i=0;i<coursenumber;i++)
{
printf(" %s ",subject[i]);
}
printf("%s",str);
printf("\n");
for(i=0;i<coursenumber;i++)
printf("%6d",pr2->score[i]);
printf("%6d%8.2f%15d%20s",pr2->sum,pr2->average,pr2->num,pr2->name);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -