#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
//#include <conio.h> //屏幕操作函数
#define MAX 50
//#define NULL 0
struct user
{
charuser_Name[6];
charuser_Pass[6];
}stu[1] = { "admin", "admin" };//初始化用户名和对应密码 voidprint_Passwd(void)
{
int i = 0;//当前账号标记
int flag1 = 0;//登录成功标记
int flag = 0;//密码正确标记
char p[6];//临时用户名
char s[6];//临时密码
char num = 0;//密码次数
char temp;//登录后改密码
printf("请输入登录名:\n");
scanf("%s", p);
if (strcmp(stu[i].user_Name, p) == 0)
{
flag = 1;
}
if (1 == flag)
{
printf("请输入密码:\n");
scanf("%s", s);
}
else
{
printf("没有此用户:\n");
exit(0);
}
while (strcmp(stu[i].user_Pass, s) != 0)
{
printf("密码错误!\n");
printf("请重新输入密码:\n");
scanf("%s", s);
}
printf("登录成功!\n");
printf("注:你是管理员!\n");
}
typedefstruct node1{
int school; //院系编号
int record; //项目成绩
struct node1 *next; //链域
}Schools;
typedefstruct {
int item; //项目编号
Schools *firstschool; //链域指向链表中第一个结点 }ITEM;
typedefstruct {
int z; //项目总数
ITEM a[MAX];
}ALLitems;
typedefstruct node2 {
int item; //该院系获奖的项目
int record; //项目成绩
struct node2 *next; //链域
}Items;
typedefstruct {
int school; //院系编号
int score; //院系总分
int boys; //男团体总分
int girls; //女团体总分
Items *firstitem; //链域指向链表中第一个获奖项目的结点 }SCHNode;
typedefstruct {
int n; // 院系总数
SCHNodeb[MAX];
}ALLNode;
ALLitems *g1;
ALLNode *g2;
void funct1(ALLitems *g1, ALLNode *g2)
{
Schools *p1;
Items *p2;
int i = 1, j, k, m, w, h, x; p1 = (Schools *)malloc(sizeof(Schools)); p2 = (Items *)malloc(sizeof(Items)); if (!p1 || !p2) exit(1);
printf("\n ******输入各个项目信息 ****** \n\n");
printf(" 输入男子项目总数m:");
scanf("%d", &m);
if (m < 0 || m>20)
{
printf(" 输入有误,m是20以内的整数,请重新输入:");
scanf("%d", &m);
}
printf(" 输入女子项目总数w:"); scanf("%d", &w); if (w < 0 || w>20) { printf(" 输入有误,w是20以内的整数,请重新输入:"); scanf("%d", &w); } printf(" 输入参加运动会的院系总数n:"); scanf("%d", &g2->n); if (g2->n < 0 || g2->n>20) {
printf(" 输入有误,n是20以内的整数,请重新输入:");
scanf("%d", &g2->n);
}
g1->z = m + w;
printf(" 则项目编号为男子1-%d,女子%d-%d", m, m + 1, g1->z);
printf("\n\n ****记录运动会成绩****");
printf("\n\n (输入0标志结束)\n");
printf("\t项目1:50米、项目2:100米、项目3:200米、项目4:400米、项目5:1500米、
\n");
printf("\t项目6:跳高、项目7:跳远、项目8:标枪、项目9:铅球、项目10:铁饼\n");
for (k = 1; k <= g1->z; k++)
{
g1->a[k].item = k;
g1->a[k].firstschool = NULL;
}
for (k = 1; k <= g2->n; k++)
{
g2->b[k].school = k;
g2->b[k].firstitem = 0;
g2->b[k].score = 0; g2->b[k].boys = 0; g2->b[k].girls = 0; } g2->b[0].score = 0; g2->b[0].boys = 0; g2->b[0].girls = 0; while (i != 0) { printf("\n 项目:"); scanf("%d", &i); if (i != 0) { printf(" 请输入前三名:\n"); h = 3; do{
printf(" 第%d名:院系(院系编号为数字)", h);
scanf("%d", &x);
p1 = (Schools *)malloc(sizeof(Schools));
p1->school = x;
p2 = (Items *)malloc(sizeof(Items));
p2->item = i;
if (h == 3) p2->record = p1->record = 2;
if (h == 2) p2->record = p1->record = 5;
if (h == 1) p2->record = p1->record = 10;
p1->next = g1->a[i].firstschool;
g1->a[i].firstschool = p1;
p2->next = g2->b[x].firstitem;
g2->b[x].firstitem = p2;
g2->b[x].score = g2->b[x].score + p2->record; // 累计总分
if (i <= m) g2->b[x].boys = g2->b[x].boys + p2->record; // 累计男团体总分 else g2->b[x].girls = g2->b[x].girls + p2->record; // 累计女团体总分 h--;
} while (x != 0 && h != 0);
}
}
}
void save()
{
FILE *fp1, *fp2;
fp1 = (FILE *)malloc(sizeof(FILE));
fp2 = (FILE *)malloc(sizeof(FILE));
if ((fp1 = fopen("sports1", "wb")) == NULL)
} { printf("cannot open file.\n"); return; } if (fwrite(g1, sizeof(ALLitems), 1, fp1) != 1) printf("file write error.\n"); fclose(fp1); if ((fp2 = fopen("sports2", "wb")) == NULL) { printf("cannot open file.\n"); return; } if (fwrite(g2, sizeof(ALLNode), 1, fp2) != 1) printf("file write error.\n"); fclose(fp2);
void funct2(ALLNode *g2) // 输出各院系总分
{
int k;
printf("\n\n ****** 输出各院系总分 ******\n"); printf(" 院系编号\t 总分 \n"); for (k = 1; k <= g2->n; k++)
printf(" %d\t\t\t %d\n", k, g2->b[k].score); printf("\n");
system("pause");
printf(" 按任意键返回主菜单......"); getchar();
}
void funct3(ALLNode *g2) // 按院系编号排序输出 {
int k;
Items *p2;
p2 = (Items *)malloc(sizeof(Items));
printf("\n\n ****** 按院系编号排序输出 ******\n"); printf(" 院系编号\t\t\t获奖情况 \n"); scanf("%d", &k);
for (k = 1; k <= g2->n; k++)
{
printf("\t\t\t%d\t", k);
p2 = g2->b[k].firstitem;
while (p2 != NULL)
{
printf("\t\t项目%d:得%d分 ", p2->item, p2->record);
}
p2 = p2->next; } printf("\n"); } printf("\n"); system("pause"); printf("按任意键返回主菜单......"); getchar();
void funct4(ALLNode *g2) // 按院系总分排序输出 {
int i, j, k;
Items *p2;
printf("\n\n ****** 按院系总分排序输出 ******\n"); printf(" 院系编号\t\t总分 \n"); scanf("%d", &k); //printf("输入要查询的项目编号:"); for (i = 2; i <= g2->n; i++) { printf("%d\t", k); p2 = g2->b[k].firstitem; while (p2 != NULL) { printf("%d \t\t%d\n", g2->b[k].school, g2->b[k].score); p2 = p2->next; } printf("\n"); g2->b[0].score = g2->b[i].score; g2->b[0].boys = g2->b[i].boys; g2->b[0].girls = g2->b[i].girls; g2->b[0].school = g2->b[i].school; j = i - 1; while (g2->b[0].score<g2->b[j].score&&j>0) { g2->b[j + 1].score = g2->b[j].score; g2->b[j + 1].boys = g2->b[j].boys; g2->b[j + 1].girls = g2->b[j].girls; g2->b[j + 1].school = g2->b[j].school; j--; } g2->b[j + 1].score = g2->b[0].score; g2->b[j + 1].boys = g2->b[0].boys;
} g2->b[j + 1].girls = g2->b[0].girls; g2->b[j + 1].school = g2->b[0].school; } for (k = 1; k <= g2->n; k++) printf("%d \t\t%d\n", g2->b[k].school, g2->b[k].score); system("pause"); printf("按任意键返回主菜单......"); getchar();
void funct5(ALLNode *g2) // 按男团体总分排序输出 {
int i, j, k;
Items *p2;
p2 = (Items *)malloc(sizeof(Items));
printf("\n\n ****** 按男团体总分排序输出 ******\n"); printf("院系编号\t\t男团体总分 \n"); scanf("%d", &k); //printf("输入要查询的院系编号:"); for (i = 2; i <= g2->n; i++) { printf("%d\t", k); p2 = g2->b[k].firstitem; while (p2 != NULL) { printf("%d\t\t %d\n", g2->b[k].school, g2->b[k].boys); p2 = p2->next; } printf("\n"); g2->b[0].score = g2->b[i].score; g2->b[0].boys = g2->b[i].boys; g2->b[0].girls = g2->b[i].girls; g2->b[0].school = g2->b[i].school; j = i - 1; while (g2->b[0].boys<g2->b[j].boys&&j>0) { g2->b[j + 1].score = g2->b[j].score; g2->b[j + 1].boys = g2->b[j].boys; g2->b[j + 1].girls = g2->b[j].girls; g2->b[j + 1].school = g2->b[j].school; j--; } g2->b[j + 1].score = g2->b[0].score; g2->b[j + 1].boys = g2->b[0].boys; g2->b[j + 1].girls = g2->b[0].girls;
}
g2->b[j + 1].school = g2->b[0].school; } for (k = 1; k <= g2->n; k++) printf("%d\t\t %d\n", g2->b[k].school, g2->b[k].boys); system("pause"); // 暂停等待 printf("按任意键返回主菜单......"); getchar();
void funct6(ALLNode *g2) // 按女团体总分排序输出 {
int i, j, k;
Items *p2;
p2 = (Items *)malloc(sizeof(Items));
printf("\n\n ****** 按女团体总分排序输出 ******\n"); printf("院系编号\t\t女团体总分 \n"); scanf("%d", &k); // printf("输入要查询的项目编号:"); for (i = 2; i <= g2->n; i++) { printf("%d\t", k); p2 = g2->b[k].firstitem; while (p2 != NULL) { printf("%d\t\t %d\n", g2->b[k].school, g2->b[k].girls); p2 = p2->next; } printf("\n"); g2->b[0].score = g2->b[i].score; g2->b[0].boys = g2->b[i].boys; g2->b[0].girls = g2->b[i].girls; g2->b[0].school = g2->b[i].school; j = i - 1; while (g2->b[0].girls<g2->b[j].girls&&j>0) { g2->b[j + 1].score = g2->b[j].score; g2->b[j + 1].boys = g2->b[j].boys; g2->b[j + 1].girls = g2->b[j].girls; g2->b[j + 1].school = g2->b[j].school; j--; } g2->b[j + 1].score = g2->b[0].score;
}
} g2->b[j + 1].boys = g2->b[0].boys; g2->b[j + 1].girls = g2->b[0].girls; g2->b[j + 1].school = g2->b[0].school; for (k = 1; k <= g2->n; k++) printf("%d\t\t %d\n", g2->b[k].school, g2->b[k].girls); system("pause"); printf("按任意键返回主菜单......"); getchar();
void funct7(ALLNode *g2) //按院系编号查询院系某个项目情况
{
int i, j;
Items *p2;
printf("\n ****** 按院系编号查询院系某个项目情况 ******\n"); printf(" 输入要查询的院系编号:");
scanf("%d", &i);
printf("\t项目1:50米、项目2:100米、项目3:200米、项目4:400米、项目5:1500米、\n");
printf("\t项目6:跳高、项目7:跳远、项目8:标枪、项目9:铅球、项目10:铁饼\n"); printf(" 输入要查询的项目编号:");
scanf("%d", &j);
p2 = g2->b[i].firstitem;
while (p2 != NULL)
{
if (p2->item == j)
printf(" 院系编号:%d\t项目%d:得%d分\n", i, p2->item, p2->record);
p2 = p2->next;
}
printf("\n");
system("pause");
printf(" 按任意键返回主菜单......");
getchar();
}
void funct8(ALLitems *g1) // 按项目编号查询取得名次的院系
{
int i;
Schools *p1;
printf("\n*** 按项目编号查询取得名次的院系 ***\n");
printf("输入要查询的项目编号:");
scanf("%d", &i);
printf("项目编号\t\t\t取得名次的院系\n");
printf("%d\t", i);
p1 = g1->a[i].firstschool;
while (p1 != NULL)
{
printf(" 学校%d:得%d分 ", p1->school, p1->record);
p1 = p1->next;
}
printf("\n\n");
system("pause");
printf("按任意键返回主菜单......");
getchar();
}
void main()
{
int temp;
printf("******欢迎进入南京邮电大学通达学院运动积分系统******\n"); printf("******学号:14210320 姓名:刘锐******\n"); printf("管理员请按1,普通用户请按2\n");
scanf("%d", &temp);
if (1 == temp)
{
int t;
voidprint_Passwd(void);
while (1)
{
print_Passwd();
break;
}
g2 = (ALLNode*)malloc(sizeof(ALLNode));
g1 = (ALLitems*)malloc(sizeof(ALLitems));
if (!g2 || !g1)
exit(1);
//textcolor(WHITE);
//textbackground(BLUE);
//clrscr();
system("cls");
for (;;)
{
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t\t 运动会分数统计系统 \n"); printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t\t* 1.输入各个项目成绩并存储文件 *\t \n"); printf("\t\t* 2.统计各院系总分 *\t \n"); printf("\t\t* 3.按院系编号排序输出 *\t \n"); printf("\t\t* 4.按院系总分排序输出 *\t \n"); printf("\t\t* 5.按男团体总分排序输出 *\t \n"); printf("\t\t* 6.按女团体总分排序输出 *\t \n"); printf("\t\t* 7.按院系编号查询院系某个项目情况 *\t \n"); printf("\t\t* 8.按项目编号查询取得名次的院系 *\n"); printf("\t\t* 0.退出 *\n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n"); printf("\t\t printf("\t\t
printf("\t\t printf("\t\t 请选择(0-8):");
loop1:scanf("%d", &t);
system("cls");
switch (t)
{
case 1:funct1(g1, g2); save(); break;
case 2:funct2(g2); break;
case 3:funct3(g2); break;
case 4:funct4(g2); break;
case 5:funct5(g2); break;
case 6:funct6(g2); break;
case 7:funct7(g2); break;
case 8:funct8(g1); break;
case 0:exit(0);
default:{ printf("输入有误,请重新选择:");
goto loop1; }
}//clrscr();
system("cls");
}
}
else
{
int u;
g2 = (ALLNode*)malloc(sizeof(ALLNode));
g1 = (ALLitems*)malloc(sizeof(ALLitems));
if (!g2 || !g1)
exit(1);
//textcolor(WHITE);
//textbackground(BLUE); \n"); \n"); \n");
//clrscr(); system("cls"); for (;;) { printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t\t 运动会分数统计系统 \n");
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n"); printf("\t\t* 1.统计各院系总分 *\t \n"); printf("\t\t* 2.按院系编号排序输出 *\t \n"); printf("\t\t* 3.按院系总分排序输出 printf("\t\t* 4.按院系编号查询学校某个项目情况 printf("\t\t* 5.按项目编号查询取得名次的院系 printf("\t\t* 0.退出
printf("\t\t* * * * * * * * * * * * * * * * * * * * * * *\n"); printf("\t\t printf("\t\t printf("\t\t printf("\t\t 请选择(0-5):"); loop2:scanf("%d", &u); system("cls"); switch (u) { case 1:funct2(g2); break; case 2:funct3(g2); break; case 3:funct4(g2); break; case 4:funct7(g2); break; case 5:funct8(g1); break; case 0:exit(0); default:{ printf("输入有误,请重新选择:"); goto loop2; } }//clrscr(); system("cls"); } } }
*\t \n"); *\t \n"); *\n"); *\n"); \n"); \n"); \n");
十一月的跑道,彩旗飘飘;十一月的中南民族大学工商学院,激情洋溢。体育场上锣鼓声声、呐喊连连,中南民族大学工商学院第五届运动会在这样…
20xx年度中文系运动会在3月x日成功举办。由于系老师的大力支持和同学们的踊跃参与、共同努力下此次运动会开得激烈、有序、活泼,达到…
陕西国际商贸学院第六届田径运动会总结成教学院团总支学生会体育部20xx年x月x日陕西西国际商贸学院第六届田径运动会总结在这个春暖花…
偶里民族小学20xx年冬季运动会工作总结偶里民族小学20xx年冬季运动会在月日成功举办。在全体老师的大力支持和同学们的踊跃参与、共…
甘冲小学小学生冬季运动会总结本次运动会是和着北京奥运成功的脚步,带着“新北京、新奥运”的奥林匹克精神,以“团结、合作、拼搏、竞争”…
正宁县湫头乡明德小学20xx-20xx学年度经典诵读活动总结中华经典诗文是我国民族文化的精髓,也是中华文化艺术宝库中的一颗灿烂的明…
在认真学习贯彻落实国家电网公司关于治理小金库工作精神和本着《长春电建公司“小金库”专项治理工作的实施方案》的治理重点是20xx年以…
xxxx系学生分会生活部五月份工作总结时光荏苒,转眼间一个月时间就这样结束了,材料系生活部的干事在各自的岗位上一直努力的工作着我们…
××市20xx年“领导挂点、部门包村、干部帮户”活动工作总结根据《中共xx省委办公厅xx省人民政府办公厅关于开展“领导挂点、部门包…
工作总结南坪民族中学张奎上岗一年,通过自己的辛勤努力和同事的帮助,业务能力显著增强,教学效果明显,各项工作圆满完成。在学校的英明领…