/*新一代学生成绩管理系统(C语言版) 
*开发者:凌锋LTS 
*项目完成日期:2017年5月31日
*代码行数:1280(行)
*原创作品,谢谢支持 
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<malloc.h>
#define LEN sizeof(SS)
#define FINPUT &p1->no,p1->name,p1->sex,&p1->age,&p1->score[0],&p1->score[1],&p1->score[2],&p1->sum
#define HEADTAIL "+-----------------------------------------------------------------------------+\n"
#define CHTITLE "|  学号    |   姓名     |  性别 |  年龄 |  数学   |   英语  |  C语言  |  总分 |\n"
#define ENTITLE "|  N0      |   Name     |  Sex  |  Age  |  Math   | English |   C     |  Sum  |\n"
#define TOOLONG "|----------+------------+-------+-------+---------+---------+---------+-------|\n"
#define FORMAT "| %-9d| %-11s|  %-5s|  %-5d|  %-7d|  %-7d|  %-7d|  %-5d|\n"


typedef struct student
{
int no;
char name[20];
char sex[4];
int age;
int score[3];
int sum;
struct student *next;
}SS;


void welcome();
void menu1();
void menu2();
void load_data();
void print();
void input();
void insert(SS *);
void delete_();
void search();
void modify();
void count();
void order();
void save();
void help();
void color();
void error();
void free_all();
void show(SS *);


SS *head = NULL;  //全局头指针,避免了传指针的麻烦,但似乎也是有缺点的 
int z = 1;      //全局语言控制变量 
int c = 1;      //全局屏幕颜色控制变量 
int total = 0;  //学生总数


int main()
{
int choice;
welcome();
load_data();
color();
z==1?menu1():menu2();
scanf("%d",&choice);
do
{
switch(choice)
{
case 1:input();break;
case 2:print();break;
case 3:delete_();break;
case 4:search();break;
case 5:modify();break;
case 6:count();break;
case 7:order();break;
case 8:save();break;
case 9:help();break;
case 0:exit(0);
default:error();getch();
}
z==1?menu1():menu2();
scanf("%d",&choice);
}while(choice != 0);
return 0;
}


void welcome()
{
printf("\n\n\n\n\n\n\n");
printf("\t\t  +--------------------------------------------+\n");
printf("\t\t  |                                            |\n");
printf("\t\t  |               Welcome to use               |\n");
printf("\t\t  |                                            |\n");
printf("\t\t  |   Students Score Administrate System V1.0  |\n");
printf("\t\t  |                                            |\n");
printf("\t\t  +--------------------------------------------+\n");
printf("\n\n\n\n\t\t\tPlease press any key to continue...\n\n\n");
getch();
}


void menu1()
{
system("cls");
printf("\n\n");
printf("\t\t       Students Score Administrate System V1.0\n\n");
printf("\t\t\t+-------------Mainmenu-------------+\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t|           [1] Input              |\n");
printf("\t\t\t|           [2] Display            |\n");
printf("\t\t\t|           [3] delete             |\n");
printf("\t\t\t|           [4] Search             |\n");
printf("\t\t\t|           [5] Modify             |\n");
printf("\t\t\t|           [6] Count              |\n");
printf("\t\t\t|           [7] Sort               |\n");
printf("\t\t\t|           [8] Save               |\n");
printf("\t\t\t|           [9] Settings           |\n");
printf("\t\t\t|           [0] Quit               |\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t+----------------------------------+\n");
printf("\n\t\t\tPlease input your choice(0-9):");
}


void menu2()
{
system("cls");
printf("\n\n");
printf("\t\t\t        学生成绩管理系统V1.0\n\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|         [8] 保存                 |\n");
printf("\t\t\t|         [9] 设置                 |\n");
printf("\t\t\t|         [0] 退出                 |\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t+----------------------------------+\n");
printf("\n\t 请输入你的选择(0-9):");
}


void error()
{
if(z==1)
printf("\n\t\t     Input error!\n\t\t     Please press any key to continue...\n");
else
printf("\n\t\t     输入错误!\n\t\t     请按任意键继续...\n");
}


void color()
{
switch(c)
{
case 1:system("color 07");break;
case 2:system("color 0a");break;
case 3:system("color 0f");break;
case 4:system("color f0");break;
case 5:system("color a0");break;
case 6:system("color b0");break;
case 7:system("color c0");break;
case 8:system("color d0");break;
case 9:system("color e0");break;
case 10:system("color 1f");break;
case 11:system("color 9f");break;
case 12:system("color ce");break;
default:system("color 07");break;
}
}


void load_data()
{
FILE *fp;
SS *p1,*p2;
fp = fopen("database.txt","r");
if(!fp)
{
if(z==1)
printf("\nCan not open the file!\nPlease press any key to mainmenu...");
else
printf("\n打开文件失败!\n请按任意键进入主菜单...");
getch();
return;
}
fscanf(fp,"%d\n%d\n%d\n",&z,&c,&total);
head = p1 = p2  = (SS *)malloc(LEN);
fscanf(fp,"%d\t%s\t\t%s\t%d\t%d\t%d\t%d\t%d\n",FINPUT);
while(!feof(fp))
{
p1 = (SS *)malloc(LEN);
fscanf(fp,"%d\t%s\t\t%s\t%d\t%d\t%d\t%d\t%d\n",FINPUT);
p2->next = p1;
p2 = p1;
}
p2->next = NULL;
fclose(fp);
}


void input1()
{
char ch;
SS *p;
do
{
system("cls");
printf("--------------------------Enter Student's Information-------------------------\n");
p = (SS *)malloc(LEN);
printf("------>NO:");
scanf("%d",&p->no);
printf("------>Name:");
scanf("%s",p->name);
printf("------>Sex:");
scanf("%s",p->sex);
printf("------>Age:");
scanf("%d",&p->age);
printf("------>Math:");
scanf("%d",&p->score[0]);
printf("------>Englisg:");
scanf("%d",&p->score[1]);
printf("------>C language:");
scanf("%d",&p->score[2]);
p->sum = p->score[0] + p->score[1] + p->score[2];
printf("\nThis student's information:\n");
printf(HEADTAIL);
printf(ENTITLE);
show(p);
printf(HEADTAIL);
insert(p);
printf("\nContinue to input?(Y/N):");
ch = getch();
}while(ch=='y'||ch=='Y');
printf("\nPlease press [Esc] to Mainmenu...\n");
do{
ch = getch();
}while(ch != 27);
}


void input()
{
char ch;
SS *p;
if(z==1)
{
input1();
return;
}
do
{
system("cls");
printf("---------------------------------输入学生成绩---------------------------------\n");
p = (SS*)malloc(LEN);
printf("------>学号:");
scanf("%d",&p->no);
printf("------>姓名:");
scanf("%s",p->name);
printf("------>性别:");
scanf("%s",p->sex);
printf("------>年龄:");
scanf("%d",&p->age);
printf("------>数学:");
scanf("%d",&p->score[0]);
printf("------>英语:");
scanf("%d",&p->score[1]);
printf("------>C语言:");
scanf("%d",&p->score[2]);
p->sum = p->score[0] + p->score[1] + p->score[2];
printf("\n这个学生的信息为:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p);
printf(HEADTAIL);
insert(p);
printf("\n还要继续输入吗?(Y/N):");
ch = getch();
}while(ch=='y'||ch=='Y');
printf("\n请按[Esc]键返回主菜单...\n");
do{
ch = getch();
}while(ch != 27);
}


void print()
{
SS *p;
char ch;
system("cls");
if(z==1)
printf("------------------------------Display Student Score-----------------------------\n");
else
printf("----------------------------------展示学生成绩----------------------------------\n");
if(head==NULL)
{

z==1?printf("no record!\nPlease press any key to Mainmenu...\n"):
printf("没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
printf(HEADTAIL);
z==1?printf(ENTITLE):printf(CHTITLE);
for(p = head; p!=NULL; p = p->next)
{
show(p);
}
printf(HEADTAIL);
z==1?printf("Total: %d\n",total):printf("学生总数:%d\n",total);
z==1?printf("Please press [Esc] return to Mainmenu...\n"):printf("请按[Esc]键返回主菜单...\n");
do{
ch = getch();
}while(ch != 27);
}


void show(SS *p)
{
printf(TOOLONG);
printf(FORMAT,p->no,p->name,p->sex,p->age,p->score[0],p->score[1],p->score[2],p->sum);
}


void insert(SS *stu)
{
SS *p0, *p1, *p2;
p1 = head;
p0 = stu;
if(head == NULL)
{
head = p0;
p0->next = NULL;
}
else
{
while ((p0->no  >  p1->no)&&(p1->next != NULL))
{
p2 = p1;
p1 = p1->next;
}
if(p0->no  <=  p1->no)
{
if(head == p1)
head = p0;
else
p2->next = p0;
p0->next = p1;
}
else
{
p1->next = p0;
p0->next = NULL;
}  
}
total++;
}


void delete_1()
{
int num;
char ch; 
SS *p1, *p2;
system("cls");
printf("-------------------------------------Delete-------------------------------------\n");
if(head == NULL)
{
printf("no record!\nPlease press any key to Mainmenu...\n");
getch();
return; 
}
printf("\nPlease input the No:");
scanf("%d",&num);
p1 = head;
while(p1->no != num && p1->next != NULL)
{
p2 = p1;
p1 = p1->next;
}
if(p1->no == num)
{
printf("\nThis student's information:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
printf("Are you sure to delete this information?(Y/N):");
if(ch == 'Y'||ch == 'y')
{
if(p1 == head)
head = p1->next;
else
p2->next = p1->next;
free(p1);
printf("\nDelete %d Successfully");
total--;
}
}
else
{
printf("Sorry!this student had been not recorded!\nPress any key return to Mainmenu...");
getch();
return;
}
printf("\nPlease press [Esc] to Mainmenu...\n");
do{
ch = getch();
}while(ch != 27);
}


void delete_()
{
int num;
char ch; 
SS *p1, *p2;
if(z==1)
{
delete_1();
return;
}
system("cls");
printf("----------------------------------删除学生成绩----------------------------------\n");
if(head==NULL)
{
printf("没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
printf("\n请输入学生学号:");
scanf("%d",&num);
p1 = head;
while(p1->no != num && p1->next != NULL)
{
p2 = p1;
p1 = p1->next;
}
if(p1->no == num)
{
printf("这个学生的信息为:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
printf("你确定要删除该学生的信息吗?(Y/N)");
ch = getch();
if(ch == 'Y'||ch == 'y')
{
if(p1==head)
head = p1->next;
else
p2->next = p1->next;
free(p1);
printf("\n删除 %d 成功",num);
total--;
}
}
else
{
printf("抱歉!没有此学生的记录!按任意键返回主菜单...\n");
getch();
return;
}
printf("\n按[Esc]退回主菜单...\n");
do{
ch = getch();
}while(ch != 27);
}


void search1()
{
int num;
char ch;
SS *p1;
system("cls");
printf("------------------------------Search Student Score------------------------------\n");
if(head==NULL)
{
printf("no record!\nPlease press any key to Mainmenu...\n");
getch();
return; 
}
do
{
system("cls");
printf("------------------------------Search Student Score------------------------------\n");
printf("\nInput No:");
scanf("%d",&num);
p1 = head;
while(p1->no != num && p1->next != NULL)
p1 = p1->next;
if(p1->no == num)
{
printf("\nThis student's information:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
}
else
printf("Sorry!can not found this student!\n");
printf("Please press any key to continue search.\nor press [Esc] return to Mainmenu:");
ch = getch();
}while(ch != 27);
}


void search()
{
int num;
char ch;
SS *p1;
if(z==1)
{
search1();
return;
}
system("cls");
printf("----------------------------------查找学生成绩----------------------------------\n");
if(head==NULL)
{
printf("没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
do
{
system("cls");
printf("----------------------------------查找学生成绩----------------------------------\n");
printf("\n请输入学生学号:");
scanf("%d",&num);
p1 = head;
while(p1->no != num && p1->next != NULL)
p1 = p1->next;
if(p1->no == num )
{
printf("这个学生的信息为:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
}
else
printf("抱歉!没有找到该学生!\n");
printf("请按任意键继续查找\n或按[Esc]退回主菜单:");
ch = getch();
}while(ch != 27);
}


int modify_do1(SS *p)
{
int ch;
printf("\t\t         Please choose item to change\n");
printf("\t\t     +----------------------------------+\n");    
printf("\t\t     |          [1] NO                  |\n");
printf("\t\t     |          [2] Name                |\n");
printf("\t\t     |          [3] Sex                 |\n");
printf("\t\t     |          [4] Age                 |\n");
printf("\t\t     |          [5] Math score          |\n");
printf("\t\t     |          [6] English score       |\n");
printf("\t\t     |          [7] C language score    |\n");
printf("\t\t     |          [0] Cancel              |\n");
printf("\t\t     +----------------------------------+\n");
printf("\nPlease input your choice:");
scanf("%d",&ch);
getchar();
switch(ch)
{
case 0:
return 0;
case 1:
printf("New No:");
scanf("%d",&p->no);
break;
case 2:
printf("New Name:");
scanf("%s",p->name);
break; 
case 3:
printf("New Sex:");
scanf("%s",p->sex);
break;
case 4:
printf("New Age:");
scanf("%d",&p->age);
break; 
case 5:
printf("New Math score:");
scanf("%d",&p->score[0]);
break; 
case 6:
printf("New English score:");
scanf("%d",&p->score[1]);
break;
case 7:
printf("New C language score:");
scanf("%d",&p->score[2]);
break;
default:
printf("Input error,please press any key return to Mainmenu...");
getch();
return 0; 
break;
}
printf("Modify successfully\n");
p->sum = p->score[0] + p->score[1] + p->score[2];
return 1;
}


int modify_do(SS *p)
{
int ch;
printf("\t\t         请选择您要修改的学生的项目\n");
printf("\t\t     +----------------------------------+\n");    
printf("\t\t     |           [1] 学号               |\n");
printf("\t\t     |           [2] 姓名               |\n");
printf("\t\t     |           [3] 性别               |\n");
printf("\t\t     |           [4] 年龄               |\n");
printf("\t\t     |           [5] 数学成绩           |\n");
printf("\t\t     |           [6] 英语成绩           |\n");
printf("\t\t     |           [7] C语言成绩          |\n");
printf("\t\t     |           [0] 取消               |\n");
printf("\t\t     +----------------------------------+\n");
printf("\n请输入您的选择:");
scanf("%d",&ch);
getchar();
switch(ch)
{
case 0:
return 0;
case 1:
printf("请输入新学号:");
scanf("%d",&p->no);
break;
case 2:
printf("请输入新姓名:");
scanf("%s",p->name);
break; 
case 3:
printf("请输入新性别:");
scanf("%s",p->sex);
break;
case 4:
printf("请输入新年龄:");
scanf("%d",&p->age);
break; 
case 5:
printf("请输入数学成绩:");
scanf("%d",&p->score[0]);
break; 
case 6:
printf("请输入英语成绩:");
scanf("%d",&p->score[1]);
break;
case 7:
printf("请输入C语言成绩:");
scanf("%d",&p->score[2]);
break;
default:
printf("输入有误,请按任意键后返回主菜单...");
getch();
return 0; 
break;
}
printf("修改成功\n");
p->sum = p->score[0] + p->score[1] + p->score[2];
return 1;
}


void modify1()
{
int num;
char ch; 
SS *p1, *p2;
system("cls");
printf("------------------------------Modify Student Score------------------------------\n");
if(head==NULL)
{
printf("no record!\nPlease press any key to Mainmenu...\n");
getch();
return; 
}
printf("Input No:");
scanf("%d",&num);
getch();
p1 = head;
while(p1->no != num && p1->next != NULL)
{
p2 = p1;
p1 = p1->next;
}
if(p1->no == num)
{
do
{
system("cls");
printf("------------------------------Modify Student Score------------------------------\n");
printf("\nThis student's information:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
if(!modify_do1(p1))
return;
else
printf("Press any key to continue to modify\nor press b[Esc] return to Mainmenu");
ch = getch();
}while(ch != 27);
}
else
{
printf("Sorry!this student had been not recorded!\nPlease press any key to Mainmenu...\n");
getch();
return; 
}
}


void modify()
{
int num;
char ch;
SS *p1, *p2;
if(z==1)
{
modify1();
return;
}
system("cls");
printf("----------------------------------修改学生成绩----------------------------------\n");
if(head==NULL)
{
printf("没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
printf("请输入学生学号:");
scanf("%d",&num);
p1 = head;
while(p1->no != num && p1->next != NULL)
{
p2 = p1;
p1 = p1->next;
}
if(p1->no == num)
{
do
{
system("cls");
printf("----------------------------------修改学生成绩----------------------------------\n");
printf("这个学生的信息为:\n");
printf(HEADTAIL);
printf(CHTITLE);
show(p1);
printf(HEADTAIL);
if(!modify_do(p1))
return;
else
printf("请按任意键继续修改\n或按[Esc]退回主菜单");
ch = getch();
}while(ch != 27);
}
else
{
printf("抱歉!没有此学生的记录!请按任意键返回主菜单...\n");
getch();
return; 
}
}


void count()
{
SS *p,*pma,*pen,*pcl,*pmax;
char ch;
float average;
int ma[5] = {0};
int en[5] = {0};
int cl[5] = {0};
int total_all = 0;
system("cls");
z==1?printf("-------------------------------Count Student Score------------------------------\n"):
printf("----------------------------------统计学生成绩----------------------------------\n");
if(head==NULL)
{
z==1?printf("no record!\nPlease press any key to Mainmenu...\n"):
printf("没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
pmax = pma = pen = pcl = p = head;
for(p = head; p!=NULL; p = p->next)
{

if(p->score[0] < 60) ma[0]++;
if(p->score[1] < 60) en[0]++;
if(p->score[2] < 60) cl[0]++;

if(p->score[0] >= 60 && p->score[0] < 70) ma[1]++;
if(p->score[1] >= 60 && p->score[1] < 70) en[1]++;
if(p->score[2] >= 60 && p->score[2] < 70) cl[1]++;

if(p->score[0] >= 70 && p->score[0] < 80) ma[2]++;
if(p->score[1] >= 70 && p->score[1] < 80) en[2]++;
if(p->score[2] >= 70 && p->score[2] < 80) cl[2]++;

if(p->score[0] >= 80 && p->score[0] < 90) ma[3]++;
if(p->score[1] >= 80 && p->score[1] < 90) en[3]++;
if(p->score[2] >= 80 && p->score[2] < 90) cl[3]++;

if(p->score[0] >= 90 && p->score[0] < 100) ma[4]++;
if(p->score[1] >= 90 && p->score[1] < 100) en[4]++;
if(p->score[2] >= 90 && p->score[2] < 100) cl[4]++;

if(p->score[0] >= pma->score[0]) pma = p;
if(p->score[1] >= pen->score[1]) pen = p;
if(p->score[2] >= pcl->score[2]) pcl = p;

if(p->sum > pmax->sum) pmax = p;
total_all += p->sum;
}
average = (float)total_all/total;
if(z==1)
{
printf("-------------------------------------------------------------------------------\n");
printf("Math          0 ~ 59:%5d (ren)\n",ma[0]);
printf("Math         60 ~ 69:%5d (ren)\n",ma[1]);
printf("Math         70 ~ 79:%5d (ren)\n",ma[2]);
printf("Math         80 ~ 89:%5d (ren)\n",ma[3]);
printf("Math        90 ~ 100:%5d (ren)\n",ma[4]);
printf("-------------------------------------------------------------------------------\n");
printf("English       0 ~ 59:%5d (ren)\n",en[0]);
printf("English      60 ~ 69:%5d (ren)\n",en[1]);
printf("English      70 ~ 79:%5d (ren)\n",en[2]);
printf("English      80 ~ 89:%5d (ren)\n",en[3]);
printf("English     90 ~ 100:%5d (ren)\n",en[4]);
printf("-------------------------------------------------------------------------------\n");
printf("C language    0 ~ 59:%5d (ren)\n",cl[0]);
printf("C language   60 ~ 69:%5d (ren)\n",cl[1]);
printf("C language   70 ~ 79:%5d (ren)\n",cl[2]);
printf("C language   80 ~ 89:%5d (ren)\n",cl[3]);
printf("C language  90 ~ 100:%5d (ren)\n",cl[4]);
printf("--------------------------------------------------------------------------------");
printf("The hightest student by Math       score : NO:%-8dscore :%-5d\n",pma->no,pma->score[0]);
printf("The hightest student by Englisg    score : NO:%-8dscore :%-5d\n",pen->no,pen->score[1]);
printf("The hightest student by C language score :NO:%-8dscore :%-5d\n",pcl->no,pcl->score[2]);
printf("The hightest student by total      score : NO:%-8dscore :%-5d\n",pmax->no,pmax->sum);
printf("-------------------------------------------------------------------------------\n");
printf("Student total :%5d(ren)\nAverage of all student :%.2f\n",total,average);
printf("-------------------------------------------------------------------------------\n");
printf("Please press [Esc] return");
}
else
{
printf("-------------------------------------------------------------------------------\n");
printf("数学     0 ~ 59:%5d (人)\n",ma[0]);
printf("数学    60 ~ 69:%5d (人)\n",ma[1]);
printf("数学    70 ~ 79:%5d (人)\n",ma[2]);
printf("数学    80 ~ 89:%5d (人)\n",ma[3]);
printf("数学   90 ~ 100:%5d (人)\n",ma[4]);
printf("-------------------------------------------------------------------------------\n");
printf("英语      0 ~ 59:%5d (人)\n",en[0]);
printf("英语     60 ~ 69:%5d (人)\n",en[1]);
printf("英语     70 ~ 79:%5d (人)\n",en[2]);
printf("英语     80 ~ 89:%5d (人)\n",en[3]);
printf("英语    90 ~ 100:%5d (人)\n",en[4]);
printf("-------------------------------------------------------------------------------\n");
printf("C 语言    0 ~ 59:%5d (人)\n",cl[0]);
printf("C 语言   60 ~ 69:%5d (人)\n",cl[1]);
printf("C 语言   70 ~ 79:%5d (人)\n",cl[2]);
printf("C 语言   80 ~ 89:%5d (人)\n",cl[3]);
printf("C 语言  90 ~ 100:%5d (人)\n",cl[4]);
printf("-------------------------------------------------------------------------------\n");
printf("数学  成绩最高分的学生 : 学号:%-8d成绩 :%-5d\n",pma->no,pma->score[0]);
printf("英语  成绩最高分的学生 : 学号:%-8d成绩 :%-5d\n",pen->no,pen->score[1]);
printf("C语言 成绩最高分的学生 : 学号:%-8d成绩 :%-5d\n",pcl->no,pcl->score[2]);
printf("总分  成绩最高分的学生 : 学号:%-8d成绩 :%-5d\n",pmax->no,pmax->sum);
printf("-------------------------------------------------------------------------------\n");
printf("学生总人数 :%-4d(人)\n全部学生的平均分 :%4.2f\n",total,average);
printf("-------------------------------------------------------------------------------\n");
printf("请按[Esc]键退出"); 
}
do{
ch = getch();
}while(ch != 27);
}


void swapint(int *p1,int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}


void swapchar(char p1[],char p2[])
{
char temp[20];
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);
}

int select_sort(int choice)
{
SS *p,*p1,*p2;
char ch;
char temp[20];
p1 = head;
while(p1 != NULL)
{
p2 = p1->next;
p = p1;
while(p2 != NULL)
{
switch(choice)
{
case 1:if(p->sum < p2->sum) p = p2;break;
case 2:if(p->sum > p2->sum) p = p2;break;
case 3:if(p->score[0] < p2->score[0]) p = p2;break;
case 4:if(p->score[0] > p2->score[0]) p = p2;break;
case 5:if(p->score[1] < p2->score[1]) p = p2;break;
case 6:if(p->score[1] > p2->score[1]) p = p2;break;
case 7:if(p->score[2] < p2->score[2]) p = p2;break;
case 8:if(p->score[2] > p2->score[2]) p = p2;break;
case 9:if(p->no > p2->no) p = p2;break;
default:
if(z==1)
printf("\t\t\tInput error,fail to sort !\n");
else
printf("\t\t\t输入有误,排序失败!\n");
printf("\t\t\t请按[Esc]键返回主菜单...\n");
do{
ch = getch();
}while(ch != 27);
return 0;
}
p2 = p2->next;
}
swapchar(p->name,p1->name);
swapchar(p->sex,p1->sex);
swapint(&p->no,&p1->no);
swapint(&p->age,&p1->age);
swapint(&p->score[0],&p1->score[0]);
swapint(&p->score[1],&p1->score[1]);
swapint(&p->score[2],&p1->score[2]);
swapint(&p->sum,&p1->sum);
p1 = p1->next;
}
return 1;
}


void order()
{
char ch;
int choice;
system("cls");
z==1?printf("-------------------------------Sort Student Score-------------------------------\n"):
printf("----------------------------------排序学生成绩----------------------------------\n");
if(head==NULL)
{
z==1?printf("\n\t\tno record!\nPlease press any key to Mainmenu...\n"):
printf("\t\t没有记录!\n请按任意键返回主菜单...\n");
getch();
return; 
}
if(z==1)
{
printf("\n\t\t\t\tPlease choose way of sorting\n\n");
printf("\t\t\t+----------------------------------+\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t|    [1] High to low by sum        |\n");
printf("\t\t\t|    [2] Low to high by sum        |\n");
printf("\t\t\t|    [3] High to low by Math       |\n");
printf("\t\t\t|    [4] Low to high by Math       |\n");
printf("\t\t\t|    [5] High to low by English    |\n");
printf("\t\t\t|    [6] Low to high by English    |\n");
printf("\t\t\t|    [7] High to low by C language |\n");
printf("\t\t\t|    [8] Low to high by C language |\n");
printf("\t\t\t|    [9] By No                     |\n");
printf("\t\t\t|    [0] Quit                      |\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t+----------------------------------+\n");
printf("\n\t 请输入你的选择(0-9):");
}
else
{
printf("\n\t\t\t\t请选择你要的排序方式\n\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] C语言成绩由高到低      |\n");
printf("\t\t\t|       [8] C语言成绩由低到高      |\n");
printf("\t\t\t|       [9] 学生学号               |\n");
printf("\t\t\t|       [0] 退出                   |\n");
printf("\t\t\t|                                  |\n");
printf("\t\t\t+----------------------------------+\n");
printf("\n\t 请输入你的选择(0-9):");
}
scanf("%d",&choice);
if(select_sort(choice))
print();
}


void save()
{
FILE *fp;
SS *p;
if(head==NULL)
{
z==1?printf("\n\t\t\tno record,can not save!\n\t\t\tPlease press any key to Mainmenu...\n"):
printf("\n\t\t\t没有记录,无需保存!\n\t\t\t请按任意键返回主菜单...\n");
getch();
return; 
}
fp = fopen("database.txt","w");
if(!fp)
{
if(z==1)
printf("\nCan not open the file!\nPlease press any key return to mainmenu...");
else
printf("\n打开文件失败!\n请按任意键返回主菜单...");
getch();
return;
}
fprintf(fp,"%d\n%d\n%d\n",z,c,total);
for(p = head; p != NULL; p = p->next)
{
fprintf(fp,"%d\t%s\t\t%s\t%d\t%d\t%d\t%d\t%d\n",p->no,p->name,p->sex,p->age,p->score[0],p->score[1],p->score[2],p->sum);
}
fclose(fp);
z==1?printf("\n\t\tSave successfully,press any key to continue\n"):
printf("\n\t\t\t数据保存成功,请按任意键继续\n");
getch();
}


void free_all()
{
SS *p1, *p2;
p1 = p2=head; 
while(p1)
{
p2=p1->next;
free (p1);
p1 = p2;
}
}


void language()
{
int choice;
system("cls");
z==1?printf("---------------------------------Change Language--------------------------------\n\n\n"):
printf("------------------------------------更改语言------------------------------------\n\n\n");
printf("\t\t     +----------------------------------+\n");
printf("\t\t     |                                  |\n");        
printf("\t\t     |           [1] English            |\n");
printf("\t\t     |           [2] 简体中文           |\n");
printf("\t\t     |                                  |\n");   
printf("\t\t     +----------------------------------+\n");
z==1?printf("\n\t\t     Please input your choice:"):
printf("\n\t\t     请输入您的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:z = 1;break;
case 2:z = 2;break;
default:error();getch();
}
}


void theme1()
{
int choice;
while(1)
{
system("cls");
printf("----------------------------------Change Theme----------------------------------\n\n\n");
printf("\t\t+------------------------------------------+\n");
printf("\t\t|                                          |\n");        
printf("\t\t|    [1] Classical black [7] Red           |\n");
printf("\t\t|    [2] Mystery black   [8] Yellow        |\n");
printf("\t\t|    [3] Black           [9] Pink          |\n");
printf("\t\t|    [4] White           [10] blue         |\n");
printf("\t\t|    [5] Green           [11] Bule screen  |\n");
printf("\t\t|    [6] Wathet          [12] Flame red    |\n");
printf("\t\t|                                          |\n");   
printf("\t\t+------------------------------------------+\n");
printf("\n\t\t   choose [0] to quit\n");
printf("\n\t\t   Please input your choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:c = 1;color();break;
case 2:c = 2;color();break;
case 3:c = 3;color();break;
case 4:c = 4;color();break;
case 5:c = 5;color();break;
case 6:c = 6;color();break;
case 7:c = 7;color();break;
case 8:c = 8;color();break;
case 9:c = 9;color();break;
case 10:c = 10;color();break;
case 11:c = 11;color();break;
case 12:c = 12;color();break;
case 0:return;
}
}
return;
}


void theme()
{
int choice;
if(z==1)
{
theme1();
return;
}
while(1)
{
system("cls");
printf("------------------------------------更改主题------------------------------------\n\n\n");
printf("\t\t  +----------------------------------------+\n");
printf("\t\t  |                                        |\n");        
printf("\t\t  |      [1] 经典黑       [7] 纯红         |\n");
printf("\t\t  |      [2] 神秘黑       [8] 纯黄         |\n");
printf("\t\t  |      [3] 纯黑         [9] 粉红         |\n");
printf("\t\t  |      [4] 纯白         [10] 经典蓝      |\n");
printf("\t\t  |      [5] 纯绿         [11] 蓝屏蓝      |\n");
printf("\t\t  |      [6] 纯青         [12] 火焰红      |\n");
printf("\t\t  |                                        |\n");   
printf("\t\t  +----------------------------------------+\n");
printf("\n\t\t     选择[0]退出\n");
printf("\n\t\t     请输入您的选择:");
scanf("%d",&choice);
switch(choice)
{
case 0:return;
case 1:c = 1;color();break;
case 2:c = 2;color();break;
case 3:c = 3;color();break;
case 4:c = 4;color();break;
case 5:c = 5;color();break;
case 6:c = 6;color();break;
case 7:c = 7;color();break;
case 8:c = 8;color();break;
case 9:c = 9;color();break;
case 10:c = 10;color();break;
case 11:c = 11;color();break;
case 12:c = 12;color();break;
default:error();getch();
}
}
return;
}


void findhelp1()
{
char ch;
system("cls");
printf("--------------------------------------Help--------------------------------------\n\n");
printf("\n    1、Please save data before quit software in order to avoid lose data!\n");
printf("\n    2、When input the student's name,don't input[Space]or[Tab],\n");
printf("\n       it will lead to error!");
printf("\n\n\n\n\t\t\tPlease press [Esc] to return");
do{
ch = getch();
}while(ch != 27);
}


void findhelp()
{
char ch;
if(z==1)
{
findhelp1();
return;
}
system("cls");
printf("--------------------------------------帮助--------------------------------------\n\n");
printf("\n1、请在正常退出系统前记得保证保存好已输入的学生信息,以免数据丢失!\n");
printf("\n2、在输入学生姓名时,名字中不能带有空格,否则会造成信息错乱!\n");
printf("\n\n\n\n\t\t\t请按 [Esc] 键返回");
do{
ch = getch();
}while(ch != 27);
}


void about1()
{
char ch;
system("cls");
printf("--------------------------------About This Software-----------------------------\n");
printf("\n\n\n\n\t\t+--------------------------------------------+\n");
printf("\t\t|                                            |\n");        
printf("\t\t|    Softname: New Students score            |\n");
printf("\t\t|    Administrate System V1.0                |\n");
printf("\t\t|    Developer:lingfengLTS                   |\n");
printf("\t\t|    The new of this software:               |\n");
printf("\t\t|    [1] User can change Chinese & English   |\n");
printf("\t\t|    [2] User can change the theme           |\n");
printf("\t\t|                                            |\n");
printf("\t\t+--------------------------------------------+\n");
printf("\n\t\t\tPlease press [Esc] to return");
do{
ch = getch();
}while(ch != 27);
}


void about()
{
char ch;
if(z==1)
{
about1();
return;
}
system("cls");
printf("------------------------------------关于本软件----------------------------------\n");
printf("\n\n\n\n\t\t+--------------------------------------------+\n");
printf("\t\t|                                            |\n");        
printf("\t\t|    软件名:新一代学生成绩管理系统 V1.0      |\n");
printf("\t\t|    开发者:凌锋LTS                          |\n");
printf("\t\t|    本软件的亮点有:                         |\n");
printf("\t\t|    [1] 用户能切换中文和英文两种语言        |\n");
printf("\t\t|    [2] 可以自由改变主题                    |\n");
printf("\t\t|                                            |\n");
printf("\t\t+--------------------------------------------+\n");
printf("\n\t\t\t请按 [Esc] 键返回");
do{
ch = getch();
}while(ch != 27);
}


void help_menu1()
{
system("cls");
printf("------------------------------------Settings------------------------------------\n\n\n");
printf("\t\t     +----------------------------------+\n");
printf("\t\t     |                                  |\n");        
printf("\t\t     |          [1] Change language     |\n");
printf("\t\t     |          [2] Change Theme        |\n");
printf("\t\t     |          [3] Help                |\n");
printf("\t\t     |          [4] About               |\n");
printf("\t\t     |          [0] Return              |\n");
printf("\t\t     |                                  |\n");
printf("\t\t     +----------------------------------+\n");
printf("\n\t\t     Please input your choice:");
}


void help_menu2()
{
system("cls");
printf("--------------------------------------设置--------------------------------------\n\n\n");
printf("\t\t     +----------------------------------+\n");
printf("\t\t     |                                  |\n");        
printf("\t\t     |          [1] 更改语言            |\n");
printf("\t\t     |          [2] 更改主题            |\n");
printf("\t\t     |          [3] 查看帮助            |\n");
printf("\t\t     |          [4] 关于本软件          |\n");
printf("\t\t     |          [0] 返回主菜单          |\n");
printf("\t\t     |                                  |\n");
printf("\t\t     +----------------------------------+\n");
printf("\n\t\t     请输入您的选择:");
}


void help()
{
char ch;
int choice;
while(1)
{
z==1?help_menu1():help_menu2();
scanf("%d",&choice);
switch(choice)
{
case 0: return;
case 1:language();break;
case 2:theme();break; 
case 3:findhelp();break;
case 4:about();break;
default:
z==1?
printf("\n\t\t     Input error!please input again\n\t\t     or press [Esc] return to Mainmenu:"):
printf("\n\t\t     输入有误!请重新输入\n\t\t     或按[Esc]键返回主菜单:");
if((ch = getch())==27)
return;
}
}
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. windows 安装环回适配器

    本文转载自:http://www.cnblogs.com/furenjun/archive/2010/05/06/microsoftloopbackadapter.htmlWindows xp/2003 中安装虚拟网卡 Microsoft Loopback Adapter方法 1 (命令行下安装) devcon.exe install %windir%\inf\netloop.inf *msloop 类似于以下输出表示安装成功: Dev…...

    2024/4/20 12:18:43
  2. 参数化SQL语句,防止SQL注入漏洞攻击

    防止SQL注入漏洞攻击的有两种方法: 1)第一种是所有的SQL语句都存放在存储过程中,不但可以避免SQL注入,还能提高性能,并且存储过程可以有专门的数据库管理员(DBA)编写和集中管理;不过这种做法有时候针对相同的几个表有不同的查询条件,SQl语句可能不同,这样就会编写大量…...

    2024/4/15 5:54:27
  3. javaScript中使用var和不是用var定义变量的区别

    javaScript与java、c语言虽然有很多相同,但是也存在区别 JavaScript的变量没有块范围 (1)看下面的例子<script type="text/javascript">//定义全局变量var scope="全集变量";function test(){//全局变量被局部变量覆盖document.writeln(scope+&qu…...

    2024/5/4 0:27:43
  4. ubuntu 18.04,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法

    刚更新重新安装双系统,对应的ubuntu18.04中,有wifi图标,但是现实没有 wifi适配器 网上进行搜索后,查找到对应的解决方案,这里特地记录以下:参考链接如下: https://askubuntu.com/questions/55868/installing-broadcom-wireless-drivers在安装过后,成功连上wifi 转载于:…...

    2024/4/13 9:31:05
  5. C语言数据结构创建有向图的邻接矩阵-顺序存储

    /* *顺序储存有向图邻接矩阵 *定义一个边的权值的二维数组 *定义一个点的一维数组 *创建一个邻接矩阵 *输出这个邻接矩阵 */ #include<stdio.h>#include<string.h>#include<stdlib.h>#define MAXVERTEX 100//顶点数#define ERROR 0#define OK 1typedef cha…...

    2024/4/13 5:51:28
  6. .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程

    Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生。本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity Framework直接执行SQL语句或者存储过程的一些代码片段。具体请见以下正文:1.使用SqlQuery在已知的实体上执行SQL查询语句…...

    2024/4/20 15:43:35
  7. 页面JS获取不到控件ID

    为了使页面更加的友好,我们不可避免的要在页面上使用JS,所以在页面上使用javascript获取控件ID是很常见的事情。但是最近在使用JS的使用,遇到了一件让我很头疼的事情,在获取控件ID时,抱错了,监控显示,获取不到控件ID。 源代码: <script type="text/javascript&…...

    2024/4/20 6:08:56
  8. (C语言)利用结构体数组制作学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。定义结构体类型描述学生信息,每个学生信息包括:学号、姓名、多门课的成绩、总成绩和平均成绩。用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统。…...

    2024/5/4 6:15:01
  9. [数据库] SQL查询语句表行列转换及一行数据转换成两列

    本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法、子查询的应用、decode函数的用法。希望文章对你有所帮助~ 1.创建数据库表及插入数据2.子查询统计不同性质的学生总数3.一行数据转换成两列数据 union all4.表行列数据转换(表转置)1…...

    2024/4/18 17:36:32
  10. C语言数据结构二分查找的递归实现

    /** 对比利用循环实现的时间复杂度递归实现的时间复杂度为1* /* *二分查找算法(对已经排好序的数据而言)递归实现 */ #include<stdio.h> #include<stdlib.h> int Binary_search_recursive(int *s,int length,int key,int L,int H);//二分查找的递归实现函数 void s…...

    2024/4/13 1:44:14
  11. 在JavaScript中获取不重复的随机数

    JavaScript的Math对象提供了random()方法,可以获取一个[0,1)的随机数 利用这个方法,取一个随机数容易 但要是取一个随机并且不重复的数,就需要绕点弯子 试着更换一下思路 获取随机数并不一定需要随机取得一个值,并前后判断是否重复 可以首先创建一个范围,并以该范围所有的…...

    2024/4/18 22:31:22
  12. 开源云计算瘦客户端 Thinstation 5.0 发布

    Thinstation 是一个基本的,轻量级但非常强大的免费开源瘦客户端操作系统。对于运行环境,它基于 Linux 操作系统,运行在 32 位 x86 PC 硬件平台上。它对底层硬件系统的要求非常低 —— 只需要大于等于 100 MHz 的奔腾处理器和至少 32MB 的 RAM 支持。因此,企业可以通过重用老…...

    2024/4/12 10:51:52
  13. winpcap获取适配器列表

    #define HAVE_REMOTE #include <pcap.h> #include <remote-ext.h> #pragma comment(lib,"wpcap.lib") #pragma comment(lib,"Packet.lib")//1.首先到http://www.winpcap.org/install/default.htm下载安装winpcap 驱动和DLL组件 //2.然后到http…...

    2024/4/12 10:52:10
  14. C语言编写的学生成绩管理系统代码…

    下面的代码是学生成绩管理系统的C语言代码,经过测试是可运行的,当然希望尊重他人劳动成果就关注一下我的博客吧,希望可以共同提高!#include#include #include #include #include #define N 100 struct student {int num; char name[20]; char sex[…...

    2024/4/13 6:10:28
  15. 虚拟机找不到网卡驱动的解决方法

    虚拟机连不上网,打开设备管理器,发现找不到网卡驱动,可以尝试以下方法来解决1.是否没有安装vmware tools,虚拟机的驱动貌似都是通过这个来安装的,安装方法,在vm菜单下有,如果已经安装,则再安装下试试2.查看本机的服务,确保VMware DHCP Service 和VMware NATService 这…...

    2024/4/19 1:03:18
  16. MVC JavaScript() 实现后端执行/调用JS脚本

    在mvc中,JavaScriptResult可非常简单的实现在action返回时执行一段后端写的js脚本或者调用前端的js方法,具体如下。 1.在后端编写并执行js脚本// 在后端编写并执行js方法showMsgprotected ActionResult CloseDialog(int closeType){return JavaScript("function showMs…...

    2024/5/2 21:19:14
  17. C语言数据结构——树的定义

    树是n个结点的有限集。n等于0是称为空树,在任意一棵非空树中,有且仅有 一个特定的称为根的结;当n>1时,其余节点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一棵树,并且称为根的子树。 树的结点包含一个数据元素和n个指向其子树的分支。结点拥有的子树数…...

    2024/5/2 8:10:05
  18. mybatis中sql语句查询操作

    动态sqlwhere ifwhere可以自动处理第一个and。<!-- 根据id查询用户信息 --><!-- public User findUserById(int id); --><select id="findUserById" parameterType="user" resultType="user">select * from user <!-- 当有…...

    2024/4/12 10:53:28
  19. JS的优缺点

    介绍JS的有缺点首先就先介绍下JS的特点:JavaScript介绍  JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言。是基于浏览器内核为html添加生命力的脚本语言。具有以下特点:动态,弱类型,单线程,内置支持类。JavaScript的的…...

    2024/4/17 23:40:46
  20. WinPcap编程【4】打开适配器并捕获数据包

    现在,我们已经知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包。在这讲中,我们会编写一个程序,将每一个通过适配器的数据包打印出来。打开设备的函数是 pcap_open()。下面是参数 snaplen, flags 和 to_ms 的解释说明snaplen 制定要捕获…...

    2024/4/18 4:23:24

最新文章

  1. 什么是CI/CD流水线

    在软件开发中&#xff0c;流水线系统&#xff08;通常被称为CI/CD流水线或部署流水线&#xff09;是一种自动化的过程&#xff0c;用以快速、可靠地将软件从开发阶段引向生产阶段。CI代表持续集成&#xff08;Continuous Integration&#xff09;&#xff0c;而CD代表持续交付&…...

    2024/5/4 6:19:45
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 同一个pdf在windows和linux中的页数不一样

    之前认为PDF的格式&#xff0c;至少页数是不会变化的&#xff0c;结果最近发现一个文档在windows和linux中的页数不一样&#xff0c;linux中的pdf进入像word一样排版变得紧凑了&#xff0c;原本在下一页的几行进入了上一页的末尾。问了gpt后得到这样的回答&#xff1a; PDF文档…...

    2024/5/3 8:56:20
  4. linuxday05

    1、makedile原理&#xff08;增量编译生成代码&#xff09; # &#xff08;注释符&#xff09; 目标------依赖 目标不存在//目标比依赖旧才会执行命令&#xff1b; makefile的实现 1、命名要求&#xff08;Makefile/makefile&#xff09; 2、规则的集合 目标文件&#…...

    2024/5/1 14:05:41
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57