『壹』 學生信息管理系統編程(c語言)
挺好的一個題目啊
但我可不願意幫人寫作業
網上很多類似的,你可以參考下:
#include <stdio.h>
#include <string.h> struct student {
char name[30];
float math;
float chinese;
float english;
float average;
};
int MenuChoice(void);
int EnterAccount(void);
void Enter(struct student *fst);
void Amend(struct student *src);
void Delete(struct student *next);
void Print(struct student *out);
main()
{
struct student one[100] = {0}, *look = one;
int menu, t;
while ((menu = MenuChoice()) != 0)
if (menu >= 1 && menu <= 4 && (t = EnterAccount())) {
look = one + t;
switch (menu) {
case 1:
Enter(look);
break;
case 2:
if (strcmp(look->name, ""))
printf("學號:%d\n姓名: %s\n語文成績: %.1f\n數學成績:%.1f\n英語成績: %f\n平均"成績:%.1f\n",
t, look->name, look->chinese, look->math, look->english, look->average);
else
printf("對不起,該學號不存在!\n");
break;
case 3:
Amend(look);
break;
case 4:
Delete(look);
break;
}
}
else if (menu == 5)
Print(one);
else
printf("錯誤的請求!\n");
return 0;
}
int MenuChoice(void)
{
int choice;
printf("請選擇:\n"
"1 - 新建學生信息\n"
"2 - 查找學生信息\n"
"3 - 修改學生信息\n"
"4 - 刪除學生信息\n"
"5 - 列印學生信息\n"
"0 - 退出\n");
scanf("%d", &choice);
return choice;
}
int EnterAccount(void)
{
int ret;
printf("請輸入學號:\n");
scanf("%d", &ret);
if (ret >= 1 && ret <= 100)
return ret -1;
return 0;
}
void Enter(struct student *fst)
{
printf("請輸入學生姓名、語文成績、數學成績、英語成績和平均成績\n");
scanf("%s%f%f%f%f", fst->name, &fst->chinese, &fst->math, &fst->english, &fst->average);
}
void Amend(struct student *src)
{
int t;
printf("請選擇:\n"
"1 - 修改學生姓名\n"
"2 - 修改學生語文成績\n"
"3 - 修改學生數學成績\n"
"4 - 修改學生英語成績\n"
"5 - 修改學生平均成績\n");
scanf("%d", &t);
switch (t) {
case 1:
printf("請輸入學生的新名字\n");
scanf("%s", src->name);
break;
case 2:
printf("請輸入學生新的語文成績\n");
scanf("%f", &src->chinese);
break;
case 3:
printf("請輸入學生新的數學成績\n");
scanf("%f", &src->math);
break;
case 4:
printf("請輸入學生新的英語成績\n");
scanf("%f", &src->english);
break;
case 5:
printf("請輸入學生新的平均成績\n");
scanf("%f", &src->average);
break;
}
}
void Delete(struct student *next)
{
strcpy(next->name, "");
next->math = next->english = next->chinese = next->average = 0.0;
}
void Print(struct student *out)
{
struct student *up;
for (up = out; out < &up[100]; out++)
if (strcmp(out->name, ""))
printf("學號:%d\n姓名: %s\n語文成績: %.1f\n數學成績:%.1f\n英語成績: %.1f\n平均成績:%.1f\n",
out-up + 1, out->name, out->chinese, out->math, out->english, out->average);
}
『貳』 用C語言編程學生信息管理系統!
/*【學生管理系統】*/
//modify
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#define N 100
typedef struct student
{
int num; //學號,姓名,年齡,性別,出生年月,地址,電話,
char name[18];
char sex;
int age;
int y,m;
int tel;
char add[30];
char mail[20];
int res;
int stu;
} SDate;
int PassWord();
void Menu();
int Input_Choice(); //函數聲明
void Info_Paixu(SDate *student,int n);
void Info_print(SDate *stu,int n);
int Input_file(SDate *stu1);
int Info_Input(SDate *stu,int count);
void Info_Seach(SDate *stu,int n);
void Info_Change(SDate *stu,int n,int Num);
void Exit();
void Print_file(SDate *stu,int n);
int Info_Del(SDate *stu, int n, int del);
void Info_Change(SDate *stu, int res, int choice);
int Info_Add(SDate *stu, int count);
int main()
{
SDate stu[N];
int ret=0,res=0,choice=0;
char ch;
loop:
ret=PassWord(); //登錄函數 默認密碼為admin
if(!ret)
{
system("cls");
printf("\n\t\t密碼錯誤或驗證碼錯誤!\n"); //默認密碼:admin
system("pause");
system("cls");
goto loop;
}
system("cls");
e:
Menu(); //菜單顯示函數
printf("你的選擇是?\n");
scanf("%d",&ret);
switch(ret)
{
case 1:
choice=Input_Choice(); //InputChoice()數據輸入方式選擇函數
if(choice==1)
res=Info_Input(stu,res); //鍵盤輸入函數
else if(choice==2)
res=Input_file(stu); //文件讀取函數
else
{
system("cls");
goto e;
}
break;
case 2:
if(res==0)
{
system("cls");
printf("沒有數據輸入,請重新選擇!\n");
goto e;
}
else
Info_print(stu,res);
break;
case 3:
if(res==0||res==1)
{
system("cls");
printf("沒有需要排序數據,請重新選擇!\n");
goto e;
}
else
Info_Paixu(stu,res);
break;
case 4:
Info_Seach(stu,res);
break;
case 5:
res=Info_Add(stu,res);
break;
case 6:
Info_print(stu,res);
printf("輸入學號進行刪除:");
scanf("%d",&choice);
res=Info_Del(stu, res, choice);
break;
case 7:
printf("請輸入需要修改的學號:");
scanf("%d",&choice);
Info_Change(stu,res,choice);
break;
case 8:
Print_file(stu, res);
break;
case 9:
Exit();
break;
default :
printf("您的選澤有誤!\n");
}
getchar();
printf("返回主菜單重新選擇y/n?");
scanf("%c",&ch);
if(ch=='Y'||ch=='y')
{
system("cls");
goto e;
}
return 0;
}
int yanzheng() //驗證碼模塊
{
int a,b,c,d;
srand((unsigned)time(NULL));
a=rand()%100;
b=rand()%100;
c=a+b;
printf("\n\t **************************\n");
printf("\t\t驗證碼: %d+%d=?\n",a,b);
printf("\t\t 答案為:");
scanf("%d",&d);
if(c==d)
return 1;
else
return 0;
}
int PassWord() //登錄模塊
{
int i=0;
char passWord[18];
char p[]="admin"; //默認密碼設置
char ch;
printf("\t 歡迎使用學生信息管理系統\n");
printf("\n");
printf("\t\t用戶名:Admin\n");
printf("\n");
printf("\t\t密碼:");
while((ch=getch())!=13)
{
putchar('*');
passWord[i]=ch;
i++;
}
passWord[i]='\0';
if(strcmp(p,passWord)==0)
yanzheng();
else
return 0;
}
void Menu() //菜單模塊
{
printf("\t 歡迎使用學生信息管理系統\n");
printf("\n*******************************************\n");
printf("** \t\t1、學生信息錄入\t\t **\n");
printf("** \t\t2、學生信息瀏覽\t\t **\n");
printf("** \t\t3、學生信息排序\t\t **\n");
printf("** \t\t4、學生信息查找\t\t **\n");
printf("** \t\t5、學生信息添加\t\t **\n");
printf("** \t\t6、學生信息刪除\t\t **\n");
printf("** \t\t7、學生信息修改\t\t **\n");
printf("** \t\t8、學生信息保存\t\t **\n");
printf("**\t\t9、退出\t\t\t **\n");
printf("*******************************************\n");
}
int Input_Choice() //數據輸入方式選擇
{
int i;
system("cls");
printf("\t 歡迎使用學生信息管理系統\n");
printf("\t\t1、鍵盤錄入\n");
printf("\t\t2、文件讀取\n");
printf("\t\t0、返回\n");
printf("\t你的選擇是?");
scanf("%d",&i);
return i;
}
int Info_Input(SDate *stu,int count) //信息從鍵盤輸入模塊
{
SDate *p;
p=stu;
system("cls");
printf("請輸入第%d個學生學號(輸入0結束):\n",count+1);
scanf("%d",&p->num);
while(p->num!=0)
{
printf("請輸入該學生姓名:\n");
scanf("%s",p->name);
printf("請輸入該學生年齡:\n");
scanf("%d",&p->age);
getchar();
printf("請輸入該學生性別:\n");
scanf("%c",&p->sex);
printf("請輸入該學生出生年月:\n");
scanf("%d%d",&p->y,&p->m);
printf("請輸入該學生住址:\n");
scanf("%s",p->add);
printf("請輸入該學生聯系電話:\n");
scanf("%d",&p->tel);
printf("請輸入該學生E-Mail:\n");
scanf("%s",p->mail);
count++;
p++;
system("cls");
printf("請輸入第%d個學生學號(輸入0結束):\n",count);
scanf("%d",&p->num);
}
return count;
}
int Input_file(SDate *stu1) //信息從文件輸入模塊
{
int rin=0;
SDate *p;
FILE *fp;
p=stu1;
if((fp=fopen("StuInfo.txt","r"))==NULL)
printf("該文件不存在!\n");
while(!feof(fp))
{
fscanf(fp,"%d %s %c %d %d %d %d %s %s\n",&p->num,p->name,&p->sex,&p->age,&p->y,&p->m,&p->tel,p->add,p->mail);
p++;
rin++;
}
fclose(fp);
printf("文件讀取成功!\n");
return rin;
}
void Info_print(SDate *stu,int n) //信息輸出至屏幕模塊
{
SDate *p;
if(n==0) //學號,姓名,年齡,性別,出生年月,地址,電話,
printf("沒有錄入信息!\n");
else
{
printf("\n以下是%d個同學的信息\n",n);
printf("學號 姓名 性別 年齡 出生年月 電話 地址 E-Mail\n");
for(p=stu; p<stu+n; p++)
printf("%d %s %c %d %d-%d %d %s %s\n",p->num,p->name,p->sex,p->age,p->y,p->m,p->tel,p->add,p->mail);
}
}
void Print_file(SDate *stu,int n) //信息保存至文件模塊
{
FILE *fp;
SDate *p;
p=stu;
if((fp=fopen("StuInfo.txt","a"))==NULL)
printf("文件讀取失敗!\n");
else
{
for(; p<stu+n; p++)
fprintf(fp,"%d %s %c %d %d %d %d %s %s\n",p->num,p->name,p->sex,p->age,p->y,p->m,p->tel,p->add,p->mail);
fclose(fp);
printf("\n保存成功!\n");
}
}
void Info_Paixu(SDate *stu,int n) //學號排序模塊
{
int i,j;
SDate p;
for(i=0; i<n-1; i++)
{
for(j=0; j<n-1-i; j++)
{
if((stu[j].num)>(stu[j+1].num))
{
p=stu[j];
stu[j]=stu[j+1];
stu[j+1]=p;
}
}
}
printf("排序完成!\n");
}
void Exit() //退出模塊
{
printf("謝謝使用!\n");
exit(1);
}
void Info_Seach(SDate *stu,int n) //查詢模塊,目前僅支持學號或姓名的精準查詢
{
int num,choice;
char name[10];
int flag=-1,i;
system("cls");
printf("請輸入查詢方式:\t1、學號查詢\n\t \t2、名字查詢\n");
printf("您的選擇是?");
scanf("%d",&choice);
if(choice==1)
{
lab1:
printf("請輸入需要查找的學號:\n");
scanf("%d",&num);
for(i=0; i<n; i++)
{
if(num==stu[i].num)
{
flag=i;
printf("%d %s %c %d %d-%d %d %s %s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].y,stu[i].m,stu[i].tel,stu[i].add,stu[i].mail);
}
}
if(flag==-1)
{
printf("未找到!請重新選擇\n");
printf("1、返回繼續查詢\n2、退出查詢,返回主菜單\n3、退出程序你的選擇是?");
scanf("%d",&choice);
if(choice==1)
{
system("cls");
goto lab1;
}
if(choice==2)
goto end;
else
Exit();
}
}
else if(choice==2)
{
lab2:
printf("請輸入需要查找的姓名:\n");
scanf("%s",name);
for(i=0; i<n; i++)
if(strcmp(name,stu[i].name)==0)
{
flag=i;
printf("%d %s %c %d %d-%d %d %s %s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].y,stu[i].m,stu[i].tel,stu[i].add,stu[i].mail);
}
if(flag==-1)
{
printf("您的輸入有誤!請重新選擇\n");
printf("\t\t1、返回繼續查詢\n\t\t2、退出查詢,返回主菜單\n\t\t3、退出程序\t\t\n你的選擇是?");
scanf("%d",&choice);
if(choice==1)
{
system("cls");
goto lab2;
}
if(choice==2)
goto end;
else
Exit();
}
}
end:
;
}
void Info_Change(SDate *stu,int n,int Num) //信息修改模塊
{
int i;
for(i=0; i<n; i++)
if(stu[i].num==Num)
{
printf("請輸入該學生姓名:\n");
scanf("%s",stu[i].name);
printf("請輸入該學生年齡:\n");
scanf("%d",&stu[i].age);
getchar();
printf("請輸入該學生性別:\n");
scanf("%c",&stu[i].sex);
printf("請輸入該學生出生年月:\n");
scanf("%d%d",&stu[i].y,&stu[i].m);
printf("請輸入該學生住址:\n");
scanf("%s",stu[i].add);
printf("請輸入該學生聯系電話:\n");
scanf("%d",&stu[i].tel);
printf("請輸入該學生E-Mail:\n");
scanf("%s",stu[i].mail);
printf("學號為%d的同學信息修改完成!\n",Num);
}
}
int Info_Del(SDate *stu, int n, int del) //信息刪除模塊
{
int i,j;
for(i=0; i<n; i++)
if(stu[i].num==del)
for(j=i; j<n-1; j++)
stu[j]=stu[j+1];
n--;
printf("刪除成功!\n");
return n;
}
int Info_Add(SDate *stu,int count) //信息添加模塊
{
SDate *p;
system("cls");
printf("當前共有%d個數據\n",count+1);
p=stu+(count);
printf("請輸入第%d個學生學號(輸入0結束):\n",count+1);
scanf("%d",&p->num);
while(p->num!=0)
{
printf("請輸入該學生姓名:\n");
scanf("%s",p->name);
printf("請輸入該學生年齡:\n");
scanf("%d",&p->age);
getchar();
printf("請輸入該學生性別:\n");
scanf("%c",&p->sex);
printf("請輸入該學生出生年月:\n");
scanf("%d%d",&p->y,&p->m);
printf("請輸入該學生住址:\n");
scanf("%s",p->add);
printf("請輸入該學生聯系電話:\n");
scanf("%d",&p->tel);
printf("請輸入該學生E-Mail:\n");
scanf("%s",p->mail);
count++;
p++;
system("cls");
printf("請輸入第%d個學生學號(輸入0結束):\n",count+1);
scanf("%d",&p->num);
}
return count;
}
『叄』 c語言設計,編程實現學生基本信息管理程序
t;
# include <fstream>
# include <string.h>
#include <conio.h>//用getch();
using namespace std;
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student類﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class Student
{
public:
char name[20];
char Id[20];
int Cnum; //C課程得分
int Mnum; //數學課程得分
int Enum; //英語課程得分
int sum; //總分
Student * Next;
void Input()
{
cout<<"\t\t請輸入學生的姓名:"; cin>>name;
cout<<"\t\t請輸入學生的學號:"; cin>>Id;
cout<<"\t\t請輸入C課程的成績:"; cin>>Cnum;
cout<<"\t\t請輸入數學課程的成績:"; cin>>Mnum;
cout<<"\t\t請輸入英語課程的成績:"; cin>>Enum;
sum=Cnum+Mnum+Enum;
}
void ReadFile(istream & in)
{
in>>name>>Id>>Cnum>>Mnum>>Enum>>sum;
}
void Show()
{
cout<<"姓名:"<<name<<endl<<"學號:"<<Id<<endl<<"C++:"<<Cnum<<endl
<<"數學:"<<Mnum<<endl<<"外語:"<<Enum<<endl<<"總成績:"<<sum<<endl<<endl<<endl;
}
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage類﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class Studentmassage
{
public:
Studentmassage();
~Studentmassage();
void ShowMenu();
void Find();
void Save();
void ModifyItem();
void RemoveItem();
void Swap(Student *,Student *);
void Sort();
//void Unpass();
int ListCount();
//void Average();
void Display()
{
for(Student * p=Head->Next;p!=End;p=p->Next)
p->Show();
cout<<"輸入任意字元!繼續……";
getch();
}
void AddItem()
{
End->Input();
End->Next=new Student;
End=End->Next;
cout<<"添加成功!"<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
private:
Student * Head,* End;
ifstream in;
ofstream out;
Student *FindItem(char * name)
{
for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功則返回上一個指針,不成功就返回空
if(!strcmp(p->Next->name,name))return p;
return NULL;
}
Student *FindID(char * Id)
{
for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功則返回上一個指針,不成功就返回空
if(!strcmp(p->Next->Id,Id))return p;
return NULL;
}
};
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌構造函數﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::Studentmassage()
{
Head=new Student;
Head->Next=new Student;
End=Head->Next;
in.open("sort.txt");
if(!in)
cout<<"這是一個新系統,無學生信息。請先輸入。"<<endl;
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='\0')break;
End->Next=new Student;
End=End->Next;
}
in.close();
cout<<"\t\t讀取學生信息成功!"<<endl;
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析構函數﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Studentmassage::~Studentmassage()
{
Save();
for(Student * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜單﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::ShowMenu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 學 生 成 績 管 理 系 統 ☆ 〓〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.顯示學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.排序統計成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.查找學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.刪除學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.修改學生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系統 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"\n\t\t\n\t\t請選擇:";
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函數﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::Find()
{
char name[20] ,Id[10];
int x;
Student * p=NULL;
cout<<"\n\t\t*********************************\n";
cout<<"\t\t※ 1.按學生的姓名查找\n\t\t※ 2.按學生學號查找";
cout<<"\n\t\t*********************************\n請選擇:";
cin>>x;
switch(x)
{
case 1:{cout<<"\t\t請輸入要查找的學生的姓名:";cin>>name;
if(p=FindItem(name))
{
p->Next->Show();
cout<<"輸入任意字元!繼續……";
getch();
}
else
{
cout<<"\t\t沒有找到該姓名的學生!"<<'\n'<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
}break;
case 2:
{
cout<<"\t\t請輸入要查找的學生的學號:";cin>>Id;
if(p=FindID(Id))
{
p->Next->Show();
cout<<"輸入任意字元!繼續……";
getch();
}
else
{
cout<<"\t\t沒有找到該學好的學生!"<<'\n'<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
}break;
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::ModifyItem() //修改信息
{
char name[20];
Student * p=NULL;
cout<<"\t\t請輸入要修改的人的姓名:";cin>>name;
if(p=FindItem(name))
{
cout<<"\t\t已找到學生的信息,請輸入新的信息!"<<endl;
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
else
{
cout<<"\t\t沒有找到!"<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌刪除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::RemoveItem() // 刪除信息
{
char name[20];
Student * p=NULL,*temp=NULL;
cout<<"\t\t請輸入要刪除的學生的姓名:"<<endl;cin>>name;
if(p=FindItem(name))
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"\t\t刪除成功!"<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
else
{
cout<<"\t\t沒有找到!"<<endl;
cout<<"輸入任意字元!繼續……";
getch();
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::Swap(Student *p1, Student *p2)//交換兩個combox變數的數據域
{
Student *temp=new Student;
strcpy(temp->name,p1->name);
strcpy(temp->Id,p1->Id);
temp->Cnum=p1->Cnum;
temp->Mnum=p1->Mnum;
temp->Enum=p1->Enum;
temp->sum=p1->sum;
strcpy(p1->name,p2->name);
strcpy(p1->Id,p2->Id);
p1->Cnum=p2->Cnum;
p1->Mnum=p2->Mnum;
p1->Enum=p2->Enum;
p1->sum=p2->sum;
strcpy(p2->name,temp->name);
strcpy(p2->Id,temp->Id);
p2->Cnum=temp->Cnum;
p2->Mnum=temp->Mnum;
p2->Enum=temp->Enum;
p2->sum=temp->sum;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int Studentmassage::ListCount()//統計當前鏈表的記錄總數,返回一個整數
{
if(! Head)
return 0;
int n=0;
for(Student * p=Head->Next;p!=End;p=p->Next)
{
n++;
}
return n;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::Sort()//對當前鏈表進行排序
{
cout <<"Sorting..."<<endl;
Student *p=NULL,*p1=NULL,*k=NULL;
int n=Studentmassage::ListCount();
if(n<2)
return;
for(p=Head->Next;p!=End;p=p->Next)
for(k=p->Next;k!=End;k=k->Next)
{
if(p->sum>k->sum)
{
Studentmassage::Swap(p,k);
}
}
cout <<"排序完成!"<<endl;
getch();
return;
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函數﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Studentmassage::Save()
{
out.open("sort.txt");
for(Student *p=Head->Next;p!=End;p=p->Next)
out<<p->name<<"\t"<<p->Id<<"\t"<<p->Cnum<<"\t"
<<p->Mnum<<"\t"<<p->Enum<<"\t"<<p->sum<<'\n';
out.close();
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函數﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int main()
{
int x,i=0;
bool quit=false;
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;
for(i=0;i<3;i++)
cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;
cout<<"\t\t◎★★★★★★★★◎"<<endl;
for(i=0;i<3;i++)
cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;
cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;;
Studentmassage Grade;
cout<<"按任意鍵開始……";
getch();
while(!quit)
{
system("cls");
Grade.ShowMenu();
cin>>x;
switch(x)
{
case 0:quit=true;break;
case 1:Grade.AddItem();break;
case 2:Grade.Display();break;
case 3:Grade.Sort();break;
case 4:Grade.Find();break;
case 5:Grade.RemoveItem();break;
case 6:Grade.ModifyItem();break;
}
}
return 0;
}
//你要的功能全部實現了~你再改改吧,有多餘的功能,設計報告你就自己寫寫吧!能幫你的就這么多了。
另外,站長團上有產品團購,便宜有保證
請採納。
『肆』 c語言編程:航班信息管理程序
編譯無錯!
#include<stdio.h>
struct Art
{
long int hangbanh;
char qdcity[10];
char zdcity[10];
char qftime[20];
char gettime[20];
char jx[10];
char banqi[15];
}a[100];
int s;
void cunqu()
{ int i=0;
long int k;
printf("請輸入航班號,輸入-1結束:");
scanf("%ld",&k);
while(k!=-1)
{a[i].hangbanh=k;
printf("\n請輸入終點站:");
scanf("%s",a[i].zdcity);
printf("\n請輸入起飛時間:");
scanf("%s",a[i].qftime);
printf("\n請輸入到達時間:");
scanf("%s",a[i].gettime);
printf("\n請輸入機型:");
scanf("%s",a[i].jx);
printf("\n請輸入班期:");
scanf("%s",a[i].banqi);
i++;
printf("\n\n請輸入航班號,輸入-1結束:");
scanf("%ld",&k);
}
s=i;
}
void caxun()
{ long int k;
printf("請輸入航班號\n");
scanf("%ld",&k);
for(int i=0;i<s;i++)
if(k==a[i].hangbanh)
{
printf("航班號%ld\n",a[i].hangbanh);
printf("起點站%s\n",a[i].qdcity);
printf("終點站%s\n",a[i].zdcity);
printf("起飛時間%s\n",a[i].qftime);
printf("到達時間%s\n",a[i].gettime);
printf("機型%s\n",a[i].jx);
printf("班期%s\n",a[i].banqi);
}
}
void paixu()
{ int i,j;
struct Art t;
for(i=0;i<s;i++)
for(j=i;j<s;j++)
if(a[i].hangbanh>a[j].hangbanh)
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<s;i++)
{printf("航班號%ld\n",a[i].hangbanh);
printf("起點站%s\n",a[i].qdcity);
printf("終點站%s\n",a[i].zdcity);
printf("起飛時間%s\n",a[i].qftime);
printf("到達時間%s\n",a[i].gettime);
printf("機型%s\n",a[i].jx);
printf("班期%s\n\n",a[i].banqi);
}
}
void prit()
{printf("\t1.存取\n");
printf("\t2.查詢\n");
printf("\t3.排序\n");
}
void main()
{int k;
prit();
do{
printf("請選擇:");
scanf("%d",&k);
switch(k)
{case 1: cunqu();break;
case 2:caxun();break;
case 3:paixu();break;
case 0:break;
default :break;
}
}while(k!=0);
}
『伍』 計算機信息管理專業需要編程技術很好嗎
摘要 信息專業的計算機編程是專業課啊!現在大學都是在學c語言,即使不是信息學院的也要有計算機2級證書的,也要學計算機編程!