Student Information Management System-Beginner Edition

Source: Internet
Author: User
Tags goto strcmp

MAIN.C file

#include "func.h"

int main (int argc,char *argv[])
{
Char a[20];
Char b;
int i,num=0;
Char c[500];
Char key[20];
Pusr_account Phead_account=null;
Pusr_account Ptail_account=null;
Pusr_infor Phead_infor=null;
Pusr_infor Ptail_infor=null;
Pusr_account pcur;
FILE *fp_account,*fp_infor;

Memset (C,0,sizeof (c));
memset (key,0,sizeof (key));
Fp_account=fopen (Argv[1], "R");
if (NULL = = Fp_account)
{
Perror ("fopen");
}
Fp_infor=fopen (Argv[2], "R");
if (NULL = = Fp_account)
{
Perror ("fopen");
}
while (Fgets (C,sizeof (c), Fp_account)!=null)
num++; Count the number of rows that is the number of users

Scan_fp_list (&phead_account,&ptail_account);
Scan_fp_list1 (&phead_infor,&ptail_infor);

Start_top ();
printf ("User name:");
Gets (a);
printf ("\ n password:");
while (0==1)
{
Out
printf ("\b\b\b\b\b\b\b\b\b\b");
}
i=0;
while ((B=getch ())! = ' \ r ')
{
if (b>= ' a ' &&b<= ' Z ' | | b>= ' A ' &&b<= ' Z ' | | b>= ' 0 ' &&b<= ' 9 ' | | b== ' _ ')
{
Key[i]=b; Password saved in key waiting to be compared
i++;
printf ("*");
}
else if (b== ' \b ')
{
if (i>0)
{
i--;
printf ("\b \b");
}
}
}
Pcur=phead_account;
for (i=0;i<num;i++)
{
if (strcmp (a,pcur->usr_name) ==0)
{
if (strcmp (key,pcur->usr_pwd) ==0)
{
if (pcur->usr_role==1)
{Mng_menu (phead_account,phead_infor,fp_account,fp_infor);} else if (pcur->usr_role==2)
{Stu_menu (phead_account,phead_infor,fp_account,fp_infor);}
}else{
printf ("Password is wrong, please re-enter");
memset (key,0,sizeof (key));
Goto out;
}
}
pcur=pcur->pnext_usr_account;
}
if (i=num)
{
printf ("\ n \ nyou Do not have this account");
}
System ("pause");
return 0;
}

func.h file

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

typedef struct usr_account_tag{
Char usr_name[20];
Char usr_pwd[20];
int usr_role;
struct Usr_account_tag *pnext_usr_account;
}usr_account,*pusr_account;

typedef struct usr_infor_tag{
int usr_id;
Char usr_name[20];
int usr_course_id[3];
float usr_course_score[3];
struct Usr_infor_tag *pnext_usr_infor;
}usr_infor,*pusr_infor;

void Start_top ();
void Scan_fp_list (Pusr_account *,pusr_account *);
void Scan_fp_list1 (pusr_infor *,pusr_infor *);
void Mng_menu (Pusr_account, pusr_infor, FILE *,file *);
void Stu_menu (Pusr_account, Pusr_infor,file *,file *);
void Srch_acc (Pusr_account, pusr_infor, FILE *,file *);
void Del_acc (Pusr_account, pusr_infor, FILE *,file *FP);
void Mod_acc (Pusr_account, pusr_infor, FILE *,file *);
void Add_acc (pusr_account,pusr_infor, FILE *,file *);
void Del_stu (Pusr_account, pusr_infor, FILE *,file *);
void Mod_stu (pusr_account,pusr_infor, FILE *,file *);
void Add_stu (Pusr_account, pusr_infor, FILE *,file *);
void Srch_stu_num (Pusr_account, pusr_infor, FILE *,file *);
void Srch_stu_num1 (Pusr_account, pusr_infor, FILE *,file *);
void Srch_stu_name1 (Pusr_account, pusr_infor, FILE *,file *);
void Srch_stu_name (Pusr_account, pusr_infor, FILE *,file *);
void All_stu_print (Pusr_account, pusr_infor, FILE *,file *);
void Srch_stu (Pusr_account, pusr_infor, FILE *,file *);

FUNC.C file

#include "func.h"

Void Scan_fp_list (Pusr_account *pphead,pusr_account *pptail)//account information is saved to the linked list
{
char a[100];
FILE *FP;
Pusr_account pnew;
Fp=fopen ("Usr_account.txt", "R");
while (memset (A,0,sizeof (a)), Fgets (A,100,FP))
{
pnew= (pusr_account) malloc (sizeof (Usr_account));
memset (pnew,0,sizeof (Usr_account));
Sscanf (A, "%s%s%d", pnew->usr_name,pnew->usr_pwd,&pnew->usr_role);
if (*pphead==null)
{
*pphead=pnew;
*pptail=pnew;
}else{
Pnew->pnext_usr_account=*pphead;
*pphead=pnew;
}
}
fclose (FP);

}

void Scan_fp_list1 (pusr_infor *pphead,pusr_infor *pptail)//Save student performance information in the linked list
{
Char a[100];
FILE *FP;
Pusr_infor pnew;
Fp=fopen ("Usr_infor.txt", "R");
while (Memset (A,0,sizeof (a)), Fgets (A,100,FP))
{
pnew= (pusr_infor) malloc (sizeof (usr_infor));
memset (pnew,0,sizeof (usr_infor));
SSCANF (A, "%d%s%f%f%f", &pnew->usr_id,&pnew->usr_name,&pnew->usr_course_score[0],&pnew- >USR_COURSE_SCORE[1],&PNEW->USR_COURSE_SCORE[2]);
if (*pphead==null)
{
*pphead=pnew;
*pptail=pnew;
}else{
pnew->pnext_usr_infor=*pphead;
*pphead=pnew;
}
}
Fclose (FP);
}


void Start_top ()//print page start
{
printf ("*******************************************************************************\n");
printf ("******************** Student Information Management System **************\n");
printf ("*******************************************************************************\n");
}


void Mng_menu (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//Management Level Interface//admin interface
{
int i;
System ("CLS");
Start_top ();
printf ("\n\n\n\t\t\t\t1. View student information \ n");
printf ("\t\t\t\t2. Add student information \ n");
printf ("\t\t\t\t3. Modify student information \ n");
printf ("\T\T\T\T4. Delete Student information \ n");
printf ("\t\t\t\t5. Add account information \ n");
printf ("\t\t\t\t6. Change account information \ n");
printf ("\t\t\t\t7. Delete account information \ n");
printf ("\t\t\t\t8. View account information \ n");
printf ("\t\t\t\t9. Exit system \ n");
printf ("\ n Please enter your choice:");
scanf ("%d", &i);
Switch (i)
{
Case 1:srch_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 2:add_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 3:mod_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 4:del_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 5:ADD_ACC (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 6:MOD_ACC (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 7:DEL_ACC (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 8:SRCH_ACC (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 9:;break; Exit system
}
System ("CLS");
}

Void Stu_menu (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//student interface
{
int i;
System ("CLS");
Start_top ();
printf ("\n\n\n\t\t\t\t1. Search by name \ n");
printf ("\t\t\t\t2. Search by study number \ n");
printf ("\t\t\t\t3. return \ n");
printf ("Please enter your choice:");
scanf ("%d", &i);
Switch (i)
{
Case 1:srch_stu_name1 (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1); Case 2:SRCH_STU_NUM1 (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 3:mng_menu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);//Return to login interface
}
}

Void Srch_stu (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//Manage Level 2 entry interface
{
int i;
System ("CLS");
Start_top ();
printf ("\n\n\n\t\t\t\t0. View all students \ \");
printf ("\t\t\t\t1. Search by name \ n");
printf ("\t\t\t\t2. Search by study number \ n");
printf ("\t\t\t\t3. return \ n");
printf ("Please enter your choice:");
scanf ("%d", &i);
Switch (i)
{
Case 0:all_stu_print (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1); Case 1:srch_stu_name (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 2:srch_stu_num (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
Case 3:mng_menu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}
}

Void All_stu_print (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//Manage view all student scores
{
Pusr_infor p;
System ("CLS");
Start_top ();
printf ("\n\n\t\t\t\t all student information \ n \ nthe");
printf ("\t\t" \ t name \t\t math \ t language \ n ");
P=phead_infor;
while (p)
{
printf ("\t\t%d\t%15s\t%5.2f\t%5.2f\t%5.2f\t\n", P->USR_ID,P->USR_NAME,P->USR_ COURSE_SCORE[0],P->USR_COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
p=p->pnext_usr_infor;
}
printf ("Press any key to exit \ n");
Fflush (stdin);
GetChar ();
Srch_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}

Void Srch_stu_name (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//management check student results by name
{
Char a[20];
int i=0;
Pusr_infor p;
Memset (A,0,sizeof (a));
System ("CLS");
Start_top ();
printf ("\ n Please enter student's name:");
scanf ("%s", a);

P=phead_infor;
while (p)
{
if (strcmp (p->usr_name,a) ==0)
{
printf ("\t\t number \ t name \t\t math \ t language \ \ \ english \ n");
printf ("\t\t%d\t%15s\t%5.2f\t%5.2f\t%5.2f\t\n", p->usr_id,p->usr_name,p->usr_course_score[0],p->usr _COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
i++;
}
P=p->pnext_usr_infor;
}
if (null==p&&0==i)
printf ("No student information \ n");
printf ("Press any build to return to the previous layer \ n");
Fflush (stdin);
GetChar ();
Srch_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}

Void srch_stu_name1 (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//students check results by name
{
Char a[20];
int i=0;
Pusr_infor p;
Memset (A,0,sizeof (a));
System ("CLS");
Start_top ();
printf ("\ n Please enter student's name:");
scanf ("%s", a);
P=phead_infor;
while (p)
{
if (strcmp (p->usr_name,a) ==0)
{
printf ("\t\t number \ t name \t\t math \ t language \ \ \ english \ n");
printf ("\t\t%d\t%15s\t%5.2f\t%5.2f\t%5.2f\t\n", p->usr_id,p->usr_name,p->usr_course_score[0],p->usr _COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
i++;
}
P=p->pnext_usr_infor;
}
if (null==p&&0==i)
printf ("No student information \ n");
printf ("Press any build to return to the previous layer \ n");
Fflush (stdin);
GetChar ();
Stu_menu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}

Void Srch_stu_num1 (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//Students Check results by study number
{
int i = 0;
int a=0;
Pusr_infor p;
System ("CLS");
Start_top ();
printf ("\ n Please enter student number:");
scanf ("%d", &a);
P=phead_infor;
while (p)
{
if (p->usr_id==a)
{
printf ("\t\t \ t name \t\t math \ t English \ n");
printf ("\t\t%d\t%15s\t%5.2f\t%5.2f\t%5.2f\t\n", p->usr_id,p->usr_name,p->usr_course_score[0],p->usr _COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
i++;
}
P=p->pnext_usr_infor;
}
if (null==p&&0==i)
printf ("No student information \ n");
printf ("Press any build to return to the previous layer \ n");
Fflush (stdin);
GetChar ();
Stu_menu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}


void Srch_stu_num (Pusr_account phead_account,pusr_infor phead_infor,file *fp,file *FP1)//Management Check students ' grades by student number
{
int i=0;
int a=0;
Pusr_infor p;
System ("CLS");
Start_top ();
printf ("\ n Please enter student number:");
scanf ("%d", &a);
P=phead_infor;
while (p)
{
if (p->usr_id==a)
{
printf ("\t\t" \ t name \t\t math \ t language \ n ");
printf ("\t\t%d\t%15s\t%5.2f\t%5.2f\t%5.2f\t\n", p->usr_id,p->usr_name,p->usr_course_score[0],p->usr _COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
i++;
}
p=p->pnext_usr_infor;
}
if (null==p&&0==i)
printf ("No student information \ n");
printf ("Press any build to return to the previous layer \ n");
Fflush (stdin);
GetChar ();
Srch_stu (PHEAD_ACCOUNT,PHEAD_INFOR,FP,FP1);
}

void Add_stu (Pusr_account pphead1,pusr_infor pphead,file *fp,file *FP1)//Add student Information
{
int i;
Char a[20]={' 0 '};
float b,c,d;
Pusr_infor p;
Pusr_infor pnew= (pusr_infor) malloc (sizeof (usr_infor));
memset (pnew,0,sizeof (usr_infor));
Out
System ("CLS");
Start_top ();
printf ("\ n Please enter the student information to be added:");
printf ("\t\t" \ t name \t\t math \ t language \ n ");
scanf ("%d%s%f%f%f", &i,a,&b,&c,&d);
P=pphead;
while (p)
{
if (i==p->usr_id)
{
printf ("\ n, repeat, press any key to re-enter");
GetChar ();
memset (A,0,sizeof (a));
Goto out;
}
p=p->pnext_usr_infor;
}
pnew->usr_id=i;
strcpy (Pnew->usr_name,a);
pnew->usr_course_score[0]=b;
pnew->usr_course_score[1]=c;
pnew->usr_course_score[2]=d;
pnew->pnext_usr_infor=pphead;
Pphead=pnew;
Fp1=fopen ("Usr_infor.txt", "w+");
P=pphead;
while (p)
{
fprintf (FP1, "\t%d\t%s\t%6.2f\t%6.2f\t%6.2f\n", P-&GT;USR_ID,P-&GT;USR_NAME,P-&GT;USR_COURSE_SCORE[0],P-&GT;USR_ COURSE_SCORE[1],P-&GT;USR_COURSE_SCORE[2]);
p=p->pnext_usr_infor;
}
Fclose (FP1);
printf ("Add student information successfully \ n");
printf ("Press any key to return to the upper layer");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

void Mod_stu (Pusr_account pphead1,pusr_infor pphead,file *fp,file *FP1)//Management modify student information
{
Pusr_infor p;
int A;
Char k[20]={' 0 '};
float b,c,d;
Ou
System ("CLS");
Start_top ();
printf ("Please enter the student number to be modified: \ n");
scanf ("%d", &a);
while (p)
{
if (a==p->usr_id)
{
Goto out;
}
p=p->pnext_usr_infor;
if (null==p)
{
printf ("No student, please press any key to reenter");
Fflush (stdin);
GetChar ();
Goto ou;
}
}
Out
printf ("\ n Please enter student information to be modified:");
printf ("\t\t name \t\t math \ t English \ n");
scanf ("%s%f%f%f", k,&b,&c,&d);
strcpy (P-&GT;USR_NAME,K);
p->usr_course_score[0]=b;
p->usr_course_score[1]=c;
p->usr_course_score[2]=d;
P=pphead;
Fp1=fopen ("Usr_infor.txt", "w+");
while (p)
{
fprintf (FP1, "\t%d\t%s\t%6.2f\t%6.2f\t%6.2f\n", P-&GT;USR_ID,P-&GT;USR_NAME,P-&GT;USR_COURSE_SCORE[0],P-&GT;USR_ COURSE_SCORE[1],P-&GT;USR_COURSE_SCORE[2]);
p=p->pnext_usr_infor;
}
Fclose (FP1);
printf ("Modify student information success");
printf ("Press any key to return to the previous level");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

Void Del_stu (Pusr_account pphead1,pusr_infor pphead,file *fp,file *FP1)//Manage Delete student information
{
Pusr_infor p,ppre;
int A;
OU:
System ("CLS");
Start_top ();
printf ("Please enter the student number to delete:");
scanf ("%d", &a);
P=pphead;
Ppre=pphead;
while (p)
{
if (a==p->usr_id)
{
goto out;
}
Ppre=p;
p=p->pnext_usr_infor;
if (null==p)
{
printf ("Do not have the student, press any key to reenter");
GetChar ();
Goto ou;
}
}
Out:
if (p==ppre)
{
Pphead=p->pnext_usr_infor;
Free (p);
}else{
Ppre->pnext_usr_infor=p->pnext_usr_infor;
Free (p);
}
Fp1=fopen ("Usr_infor.txt", "w+");
P=pphead;
while (p)
{
fprintf (FP1, "\t%d\t%s\t%6.2f\t%6.2f\t%6.2f\n", P->USR_ID,P->USR_NAME,P->USR_ COURSE_SCORE[0],P->USR_COURSE_SCORE[1],P->USR_COURSE_SCORE[2]);
p=p->pnext_usr_infor;
}
Fclose (FP1);
printf ("The Student information has been deleted \ n");
printf ("Press any key to return to the previous level");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

void Add_acc (Pusr_account pphead1,pusr_infor pphead,file *fp,file *FP1)//Add account information
{
Char a[20]={' 0 '};
Char b[20]={' 0 '};
int C;
Pusr_account p;
Pusr_account pnew= (pusr_account) malloc (sizeof (Usr_account));
memset (pnew,0,sizeof (Usr_account));
Out
System ("CLS");
Start_top ();
printf ("Please enter the account information to be added \ n");
printf ("\t\t name \t\t password \ n");
scanf ("\t%s\t\t%s\t%d", a,b,&c);
P=pphead1;
while (p)
{
if (strcmp (a,p->usr_name) ==0)
{
printf ("\ n account repeat, press any key to re-enter");
GetChar ();
memset (A,0,sizeof (a));
Memset (b,0,sizeof (b));
Goto out;
}
p=p->pnext_usr_account;
}
strcpy (Pnew->usr_name,a);
strcpy (PNEW-&GT;USR_PWD,B);
pnew->usr_role=c;
pnew->pnext_usr_account=pphead1;
Pphead1=pnew;
P=pphead1;
Fp=fopen ("Usr_account.txt", "w+");
while (p)
{
fprintf (FP, "\t%s\t%s\t%d\t\n", p->usr_name,p->usr_pwd,p->usr_role);
p=p->pnext_usr_account;
}
Fclose (FP);
printf ("Add account success \ n");
printf ("Enter any key to return to the previous level");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

void Mod_acc (Pusr_account pphead1,pusr_infor pphead,file *fp,file *fp1)//Change account information
{
Char a[20]={' 0 '};
Char b[20]={' 0 '};
int C;
Pusr_account p;
Ou
System ("CLS");
Start_top ();
printf ("Please enter the name of the account to be changed");
scanf ("%s", a);
P=pphead1;
while (p)
{
if (strcmp (a,p->usr_name) ==0)
{
Goto out;
}
p=p->pnext_usr_account;
if (p==null)
{
printf ("No account, please press any key to re-enter");
GetChar ();
memset (A,0,sizeof (a));
Goto ou;
}

}
Out:
printf ("Please enter the information you want to change \ n");
printf ("\ t password \t\t permission");
scanf ("\t%s\t\t%d", b,&c);
strcpy (P->USR_PWD,B);
p->usr_role=c;
P=pphead1;
Fp=fopen ("Usr_account.txt", "w+");
while (p)
{
fprintf (FP, "\t%s\t%s\t%d\t\n", p->usr_name,p->usr_pwd,p->usr_role);
p=p->pnext_usr_account;
}
fclose (FP);
printf ("Account modified successfully, press any key to return to the previous level");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

Void Del_acc (Pusr_account pphead1,pusr_infor pphead,file *fp,file *fp1)//Delete account information
{
Pusr_account p,ppre;
Char a[20]={' a '};
OU:
System ("CLS");
Start_top ();
printf ("Please enter the account name to be deleted");
scanf ("%s", a);
P=pphead1;
Ppre=pphead1;
while (p)
{
if (strcmp (p->usr_name,a) ==0)
{
goto out;
}
Ppre=p;
p=p->pnext_usr_account;
if (null==p)
{
printf ("Do not have the account, press any key to reenter");
Fflush (stdin);
GetChar ();
Goto ou;
}
}
Out:
if (p==ppre)
{
Pphead1=p->pnext_usr_account;
Free (p);
}else{
Ppre->pnext_usr_account=p->pnext_usr_account;
Free (p);
}
Fp=fopen ("Usr_account.txt", "w+");
P=pphead1;
while (p)
{
fprintf (FP, "\t%s\t%s\t%d\t\n", p->usr_name,p->usr_pwd,p->usr_role);
p=p->pnext_usr_account;
}
fclose (FP);
printf ("Deleted account information \ n");
printf ("Press any key to return to the previous level");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

void Srch_acc (Pusr_account pphead1,pusr_infor pphead,file *fp,file *FP1)//Manage view all account information
{
Pusr_account p;
System ("CLS");
Start_top ();
printf ("\n\n\t\t\t\t all account information \ n");
printf ("\t\t name \ t password \ n");
P=pphead1;
while (p)
{
printf ("\t\t%15s\t%15s\t%d\t\n", p->usr_name,p->usr_pwd,p->usr_role);
p=p->pnext_usr_account;
}
printf ("Press any key to exit \ n");
Fflush (stdin);
GetChar ();
Mng_menu (PPHEAD1,PPHEAD,FP,FP1);
}

Usr_account.txt file

Wusheng 2009 1
Yangkai 12306 1
Qinger 5201314 1
Dajiushen 201009 2
Zhaosi 99428 2
Falaowang 99628 2
Rendahua 123 2

Usr_infor.txt file

1001 Wusheng 100.00 98.00 99.00
1002dajiushen 87.00 91.00 83.00
1003yangkai 70.00 75.00 81.00
1004zhaosi 33.00 24.00 26.00
1005falaowang 45.00 56.00 71.00
1006qinger 91.00 81.00 86.00
1007rendahua 11.00 9.00 14.00

Student Information Management System-Beginner Edition

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.