當前位置:首頁 » 數據倉庫 » 教職工系統用什麼資料庫c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

教職工系統用什麼資料庫c語言

發布時間: 2022-08-02 03:20:16

1. :職工工作量統計系統設計.用c語言編程

#include<iostream.h>
#include<string.h>
#include<fstream.h>
class stu
{
char name[20];
double much,sum;
public:
stu()
{
}
stu(char n[20],double muc)
{
strcpy(name,n);
much=muc;
}
double getsum()
{
sum=much;
return sum;
}
friend void main();
};

void main()
{
cout<<"請選擇您需要的操作!"<<endl;
cout<<"操作:"<<endl;
cout<<"(0)職工數據錄入"<<endl;
cout<<"(1)增加職工人員"<<endl;
cout<<"(2)刪除職工人員"<<endl;
cout<<"(3)新完成的需要添加的產品數量數據"<<endl;
cout<<"查詢:"<<endl;
cout<<"(4)按總產品數量查詢"<<endl;
cout<<"(5)按職工姓名查詢"<<endl;
cout<<"(6)輸出所有職工的數據"<<endl;
cout<<"生產量排名名次"<<endl;
cout<<"(7)按職工生產的總產品數量查詢排名"<<endl;
cout<<"選擇相關操作請輸入相對的括弧里的阿拉伯數字!"<<endl;
char p;char w;
stu *s[50];
ofstream *file[50];
int i=0;
int j=0;
bool flag2=0;
do
{
cin>>p;
if((p>='0'&&p<='10'))
flag2=1;
else
cout<<"指令錯誤!請重新輸入:"<<endl;
}while(flag2==0);
do{
switch(p)
{
case '0':
{
char c;
char name[20];double much;
do{
cout<<"請輸入職工姓名"<<endl;
cin>>name;
cout<<"請輸入產品數量:"<<endl;
cin>>much;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<<name<<"產品數量"<<much<<endl;
j++;
s[i]=new stu(name, much);
i++;
cout<<"數據錄入成功,想繼續錄入嗎(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break;
}
case '1':
{
char name[20];double much;
char c;
do
{
cout<<"請輸入您要增加的職工的姓名:"<<endl;
cin>>name;
cout<<"請輸入產品數量"<<endl;
cin>>much;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<<name<<"產品數量"<<much<<endl;
j++;
s[i]=new stu(name, much);
i++;
cout<<"數據錄入成功,想繼續錄入嗎(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '2':
{
char name[20];bool flag3=0;char c;
do{
cout<<"請輸入您要刪除的職工姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求刪除的對象本來就不存在!請檢查輸入的正確性!";
cout<<"要繼續刪除嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '3':
{
char name[20];double mat;flag2=0;
char c;
do
{
cout<<"請輸入您要修改的職工的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"請輸入新完成的產品數量:"<<endl;
cin>>mat;
s[h]->much+=mat;
cout<<"數據添加成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的職工本來就不存在!請檢查重新輸入!"<<endl;
}
cout<<"想繼續修改嗎(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}

case '4':
{
double t;char c;
do
{
int flag1=0;
cout<<"請輸入你要查詢職工的總產品數量"<<endl;
cin>>t;
for(int q=0;q<i;q++)
{
if(s[q]->getsum()==t)
{
flag1=1;
cout<<"您要查詢的職工是:"<<(*s[q]).name<<endl;
}
}
if(flag1==0)
cout<<"對不起!您要查詢的職工不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}

case '5':
{
char n[20];int j=0;char c;
do{
int flag=0;
cout<<"請輸入你要查詢的職工姓名"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<"您要查詢的職工是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的總產品數量是"<<(*s[j]).getsum()<<endl;
}
}
if(flag==0)
cout<<"對不起!您要查詢的職工不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}

case '6':
{
cout<<"本系統所有職工數據如下:"<<endl;
if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"總產品數量:"<<" "<<(*s[k]).getsum() <<endl;
}
break;
}
case '7':
{
int t;stu b;

cout<<"本系統所有職工排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->getsum())<(s[y]->getsum()))
t=y;
if(t!=x)
{
b=*s[x];
*s[x]=*s[t];
*s[t]=b;
}
}
}
if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name
<<"總產品數量:"<<" "<<s[k]->getsum() <<endl;
}
break;
}

case '9':
{
int t;stu b;

cout<<"本系統所以職工總產品數量排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->much)<(s[y]->much))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}

if(i==0)
cout<<"管理系統中沒有錄入數據或者數據已經被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name
<<"產品數量:"<<" "<<s[k]->getsum() <<endl;
}
break;
}
}

cout<<"您想繼續進行其他操作嗎?(y/n)"<<endl;
bool flag4=0;
do
{
cin>>w;
if(w!='y'&&w!='n')
cout<<"指令錯誤!請重新輸入!"<<endl;
else
flag4=1;
}while(flag4==0);
if(w=='y')
cout<<"請輸入操作代碼:(0)職工數據錄入;(1)增加職工人員; (2)刪除職工人員; (3)新完成需要添加的產品數量數據; (4)按總產品數量查詢; (5)按職工姓名查詢; (6)輸出所有職工的數據; (7)按職工生產的總產品數量查詢排名"<<endl;
cin>>p;
}while(w=='y');
for(int x=0;x<i;x++)
{
delete s[x];
cout<<"刪除所有數據成員"<<endl;
}

}

2. c語言結合那種資料庫最好

c語言 資料庫 根本就沒什麼聯系 資料庫是對硬碟的數據存儲 c語言是對內存的的利用 ,區別當然你也懂的了吧 所以沒什麼聯系 java/c#/asp都能和access/sql server/oracle 資料庫進行連接 當然網上多用mysql 應為空間便宜 還有access也在用 其他的空間都超貴 不佔主導

3. 用C語言設計職工信息管理系統

#include<iostream>
#include<string>
#include<fstream>
usingnamespacestd;

constn=50;//定義系統可錄入的員工最大數值

stringename[n];
longenum[n];
charesex[n];
inteage[n];
charemarriage[n];
intedepart[n];
inteposition[n];
intedegree[50];
inteworktime[n];
floatepay[n];

classemployee
{
public:
stringemployeename;
longemployeenum;
charemployeesex;
intemployeeage;
charemployeemarriage;
intemployeedepart;
intemployeeposition;
intemployeedegree;
intemployeeworktime;
floatemployeepay;

staticlongemployeemaxnum;
staticfloatemployeebasepay;

voidnewinfo();
voidshowinfo();
voidshowall();
voidshowdepart(intdepart);
voidshowdegree(intdegree);
voidshowage(intmin,intmax);
voidshownum(longnumber);
voidrefreshinfo();
voiddeleteinfo();
floatpay(intemployeegrade);
staticintmaxnum();
};

classdboperate
{
public:
stringemployeename;
longemployeenum;
charemployeesex;
intemployeeage;
charemployeemarriage;
intemployeedepart;
intemployeeposition;
intemployeedegree;
intemployeeworktime;
floatemployeepay;

staticlongemployeemaxnum;
staticfloatemployeebasepay;

voidwritein(intiflag);
voidreadout();
voidrefreshmaxnum(intiflag);//i=1or-1or0
};

longemployee::employeemaxnum=1000;
floatemployee::employeebasepay=1500;

intemployee::maxnum()//返回系統已經存儲的人數
{
intmn=0;
ifstreammyf;
myf.open("employeemaxnum.txt");
myf>>mn;
cout<<mn<<endl;
myf.close();
returnmn;
}

voidemployee::newinfo()//添加新成員函數
{
cout<<"新員工姓名:";
cin>>employee::employeename;

employee::employeenum=employeemaxnum+employee::maxnum()+1;

cout<<"新員工性別(f為女性,m為男性):";
cin>>employee::employeesex;

cout<<"新員工年齡:";
cin>>employee::employeeage;

cout<<"新員工婚姻狀況(y為已婚,n為未婚):";
cin>>employee::employeemarriage;

cout<<"新員工學歷,請輸入相應學歷的序號:"<<endl;
cout<<"[1:初中2:高中3:本科4:碩士5:博士]";
cin>>employee::employeedegree;
while(employee::employeedegree!=1&&employee::employeedegree!=2&&employee::employeedegree!=3&&employee::employeedegree!=4&&employee::employeedegree!=5)
{
cout<<"輸入有誤,請重新輸入:"<<endl;
cout<<"[1:初中2:高中3:本科4:碩士5:博士]";
cin>>employee::employeedegree;
}

cout<<"新員工所在部門,請輸入相應部門的序號:"<<endl;
cout<<"[1:董事會2:市場部3:公關部4:客服中心5:信息中心]";
cin>>employee::employeedepart;
while(employee::employeedepart!=1&&employee::employeedepart!=2&&employee::employeedepart!=3&&employee::employeedepart!=4&&employee::employeedepart!=5)
{
cout<<"輸入有誤,請重新輸入:"<<endl;
cout<<"[1:董事會2:市場部3:公關部4:客服中心5:信息中心]";
cin>>employee::employeedepart;
}

cout<<"新員工職位,請輸入相應職位的序號:"<<endl;
cout<<"[1:臨時職員2:正式職員3:主任4:部門經理5:董事長]";
cin>>employee::employeeposition;
while(employee::employeeposition!=1&&employee::employeeposition!=2&&employee::employeeposition!=3&&employee::employeeposition!=4&&employee::employeeposition!=5)
{
cout<<"輸入有誤,請重新輸入:"<<endl;
cout<<"[1:臨時職員2:正式職員3:主任4:部門經理5:董事長]";
cin>>employee::employeeposition;
}

cout<<"新員工的工作時(不需要輸入單位):";
cin>>employee::employeeworktime;

employee::employeepay=employee::pay(employee::employeeposition);

dboperatedbo;
dbo.readout();

intmaxnum=employee::maxnum();

enum[maxnum]=employee::employeenum;
ename[maxnum]=employee::employeename;
esex[maxnum]=employee::employeesex;
eage[maxnum]=employee::employeeage;
emarriage[maxnum]=employee::employeemarriage;
edegree[maxnum]=employee::employeedegree;
edepart[maxnum]=employee::employeedepart;
eposition[maxnum]=employee::employeeposition;
eworktime[maxnum]=employee::employeeworktime;
epay[maxnum]=employee::employeepay;

dbo.writein(1);
cout<<"添加新成員成功!"<<endl;

return;
}

voidemployee::showinfo()//程序主體數據輸出函數
{

intchoice1,choice2,min,max;
longsearchnum;
employeee;

cout<<"請選擇查詢方式:"<<endl;
cout<<"******************************************"<<endl;
cout<<"*輸出全體職工信息---------------------1"<<endl;
cout<<"*按職工部門輸出-----------------------2"<<endl;
cout<<"*按職工學歷輸出-----------------------3"<<endl;
cout<<"*按職工年齡輸出-----------------------4"<<endl;
cout<<"*按職工編號輸出-----------------------5"<<endl;
cout<<"******************************************"<<endl;
cin>>choice1;

switch(choice1)
{
case1:showall();break;
case2:cout<<"請輸入要查詢職工的部門編號:[1:董事會2:市場部3:公關部4:客服中心5:信息中心]";
cin>>choice2;
e.showdepart(choice2);break;
case3:cout<<"請輸入要查詢職工的學歷編號:[1:初中2:高中3:本科4:碩士5:博士]";
cin>>choice2;
e.showdegree(choice2);break;
case4:cout<<"請輸入要查詢的年齡范圍:";
cout<<"最小值:";
cin>>min;
cout<<"最大值:";
cin>>max;
e.showage(min,max);break;
case5:cout<<"請輸入要查詢的員工號:";
cin>>searchnum;
e.shownum(searchnum);break;

default:cout<<"出錯啦!"<<endl;break;

}

}

voidemployee::showall()//全體員工輸出函數
{inti;<br>longnumber;<br>for(i=0;i<employee::maxnum();i++)<br>{<br>number=enum[i];<br>shownum(number);<br>}
}

voidemployee::showdepart(intdepart)//按員工所在部門輸出函數
{
inti;
switch(depart)
{
case1:cout<<"董事會的成員有:>"<<endl;break;
case2:cout<<"市場部的成員有:>"<<endl;break;
case3:cout<<"公關部的成員有:>"<<endl;break;
case4:cout<<"客服中心成員有:>"<<endl;break;
case5:cout<<"信息中心成員有:>"<<endl;break;
default:cout<<"輸入錯誤!>"<<endl;break;
}
for(i=0;i<employee::maxnum();i++)
{
if(edepart[i]==depart)
{
longnumber=enum[i];
shownum(number);
}elsecontinue;

}
}

voidemployee::showdegree(intdegree)//按員工學歷輸出函數
{
inti;
switch(degree)
{
case1:cout<<"初中學歷的員工有:"<<endl;break;
case2:cout<<"高中學歷的員工有:"<<endl;break;
case3:cout<<"本科學歷的員工有:"<<endl;break;
case4:cout<<"碩士學位的員工有:"<<endl;break;
case5:cout<<"博士學位的員工有:"<<endl;break;
}
for(i=0;i<employee::maxnum();i++)
{
if(edegree[i]==degree)
{
longnumber=enum[i];
shownum(number);
}elsecontinue;

}
}

voidemployee::showage(intmin,intmax)//按員工年齡段輸出函數
{
inti;
for(i=0;i<employee::maxnum();i++)
{
if(eage[i]>=min&&eage[i]<=max)
{
longnumber=enum[i];
shownum(number);
}
elsecontinue;
}
}

voidemployee::shownum(longnumber)//按員工編號輸出函數
{
inti;
for(i=0;i<employee::maxnum();i++)
{
if(enum[i]==number)
{
cout<<"**********************************"<<endl;
cout<<"員工編號>"<<enum[i]<<endl;
cout<<"姓名>"<<ename[i]<<endl;
cout<<"性別>";
if(esex[i]=='f')cout<<"女"<<endl;
elseif(esex[i]=='m')cout<<"男"<<endl;
cout<<"年齡>"<<eage[i]<<"歲"<<endl;
cout<<"婚姻情況>";
if(emarriage[i]=='y')cout<<"已婚"<<endl;
elseif(emarriage[i]=='n')cout<<"未婚"<<endl;
cout<<"學歷>";
switch(edegree[i])
{
case1:cout<<"初中"<<endl;break;
case2:cout<<"高中"<<endl;break;
case3:cout<<"本科"<<endl;break;
case4:cout<<"碩士"<<endl;break;
case5:cout<<"博士"<<endl;break;
}

cout<<"所在部門>";
switch(edepart[i])
{
case1:cout<<"董事會"<<endl;break;
case2:cout<<"市場部"<<endl;break;
case3:cout<<"公關部"<<endl;break;
case4:cout<<"客服中心"<<endl;break;
case5:cout<<"信息中心"<<endl;break;
}

cout<<"所任職務>";
switch(eposition[i])
{
case1:cout<<"臨時成員"<<endl;break;
case2:cout<<"正式員工"<<endl;break;
case3:cout<<"主任"<<endl;break;
case4:cout<<"部門經理"<<endl;break;
case5:cout<<"董事長"<<endl;break;
}

cout<<"工作時長>"<<eworktime[i]<<"小時"<<endl;
cout<<"額定工資>"<<epay[i]<<"元"<<endl;
cout<<"**********************************"<<endl;
}
elsecontinue;
}
}

voidemployee::refreshinfo()//修改員工信息的函數
{
intcnum=1000;
dboperatedbo;
dbo.readout();
voidemployee::shownum(longnumber);

cout<<"請輸入您要修改的員工編號:>";
cin>>cnum;
intmn;
mn=employee::maxnum();

for(inti=0;i<mn;i++)//遍歷數據文件,查找要修改的員工數據
{
if(enum[i]==cnum)
{
employee::shownum(cnum);

cout<<"請輸入該員工的新信息:"<<endl;

cout<<"新員工姓名:";//錄入員工的新的數據,員工號保持不變
cin>>employee::employeename;
ename[i]=employee::employeename;

cout<<"新員工性別:[f為女性,m為男性]:";
cin>>employee::employeesex;
esex[i]=employee::employeesex;

cout<<"新員工年齡:";
cin>>employee::employeeage;
eage[i]=employee::employeeage;

cout<<"新員工婚姻狀況(y為已婚,n為未婚):";
cin>>employee::employeemarriage;
emarriage[i]=employee::employeemarriage;

cout<<"新員工學歷,請輸入相應學歷的序號:"<<endl;
cout<<"[1:初中2:高中3:本科4:碩士5:博士]";
cin>>employee::employeedegree;
while(employee::employeedegree!=1&&employee::employeedegree!=2&&employee::employeedegree!=3&&employee::employeedegree!=4&&employee::employeedegree!=5)
{
cout<<"輸入有誤,請重新輸入:"<<endl;
cout<<"[1:初中2:高中3:本科4:碩士5:博士]";
cin>>employee::employeedegree;
}
edegree[i]=employee::employeedegree;

cout<<"新員工所在部門,請輸入相應部門的序號:"<<endl;
cout<<"[1:董事會2:市場部3:公關部4:客服中心5:信息中心]";
cin>>employee::employeedepart;
while(employee::employeedepart!=1&&employee::employeedepart!=2&&employee::employeedepart!=3&&employee::employeedepart!=4&&employee::employeedepart!=5)
{
cout<<"輸入有誤,請重新輸入:"<<endl;
cout<<"[1:董事會2:市場部3:公關部4:客服中心5:信息中心]";
cin>>employee::employeedepart;
}
edepart[i]=employee::employeedepart;

cout<<"新員工職位,請輸入相應職位的序號:"<<endl;
cout<<"[1:臨時職員2:正式職員3:主任4:部門經理5:董事長]";
cin>>employee::employeeposition;
while(employee::employeeposition!=1&&employee::employeeposition!=2&&employee::employeeposition!=3&&employee::employeeposition!=4&&employee::employeeposition!=5)
{
cout<<"輸入有誤,請重新輸

4. 用c語言編寫設計,職工信息管理系統。

我給你個大概提示吧,
首先你要做的是個大體的框架
分三個許可權一是管理員許可權,人事部門許可權以及員工許可權。
1.管理員許可權實現包括員工基本信息增刪改查功能。
2.人事許可權包括員工拓展信息,比如工資,獎金等等數據的維護和更新。
3.員工許可權包括個人信息查詢以及問題反饋。
三個雙向鏈表,節點數據存入以上所有信息。
鏈表操作不多說了吧。。。
文件讀寫問題,這里考慮到如果是一般情況的話直接調用readwrite函數就行了
如果內容過多還是連接資料庫吧。
系統開始的初始化和更新也很重要。

5. 怎樣用c語言來編程一個學校人事管理系統

你這是個作業或者是本科的畢業設計吧?
只用C的話,你要確定程序最終的運行環境.因為主要是用windows的,所以假定你用的windows,這樣的話,你的程序界面就需要用windwos
sdk編程的知識了,因為你用C,所以MFC就沒法用了,那個是C++的.
數據的存儲,你可以採用自己設計存儲文件的方式,也可以使用現有的資料庫,推薦採用SqlLite或者mysql.
如果你的和序序跑在linux下,那可以採用gtk來做界面.

6. c語言應該調用什麼資料庫 怎麼調用

現在誰還有C啊,除非嵌入式編程了

C++還差不多,如果是C++ 又是 Windows系統哪么通過ODBC是啥資料庫都可以支持的

如果是Linux我就不太熟悉了,但至少也會有類於ODBC之類的資料庫引擎

調用對編譯器有要求嗎---肯定沒要求,要不然這個編譯器就沒存在必要,或者這個資料庫介面就沒做的通用化。

7. 怎樣用C語言編寫資料庫管理系統急求急求!!

樓主你要理解資料庫管理系統(databse management system DBMS)
現在有很多現成好用的,如mssql,mysql oracle,db2等等

8. 用C語言寫一個教職工信息管理系統

這個是個比較浩大的工程,你給這點分,可能願意接手的比較少,接手了也不一定能給你做多完美

9. 職工信息管理系統 用c語言編寫的(不是C++)

以下是我的程序,剛編好的,應該管用:
#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
#define N 100
struct employee
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
}em[100]; /*定義一個結構體*/

void menu();
void input();
void save(int);
void display();
void del();
void add();
void search();
void search_num();
void search_xueli();
void search_tel();
void modify(); /*定義各函數*/

void menu() /*菜單函數*/
{
printf(" ☆☆☆計算機科學與技術學系☆☆☆\n");
printf("\n");
printf(" ∮08802班 關麗霞∮\n");
printf("\n");
printf(" ******************職工信息管理****************\n");
printf(" 1.錄入職工信息");
printf(" 2.瀏覽職工信息\n");
printf(" 3.查詢職工信息");
printf(" 4.刪除職工信息\n");
printf(" 5.添加職工信息");
printf(" 6.修改職工信息\n");
printf(" 7.退出\n");
printf(" ********************謝謝使用******************\n");
printf("\n");
printf("\n");

}

void main()
{
menu(); /*調用菜單函數*/
int n,flag;
char a;
do
{
printf("請選擇你需要操作的步驟(1--7):\n");
scanf("%d",&n);
if(n>=1&&n<=7)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(n)
{
case 1:printf(" ◆◆◆輸入職工信息◆◆◆\n");printf("\n");input();break;
case 2:printf(" ◆◆◆瀏覽職工信息◆◆◆\n");printf("\n");display();break;
case 3:printf(" ◆◆◆按職工號查詢職工信息◆◆◆\n");printf("\n");search();break;
case 4:printf(" ◆◆◆刪除職工信息◆◆◆\n");printf("\n");del();break;
case 5:printf(" ◆◆◆添加職工信息◆◆◆\n");printf("\n");add();break;
case 6:printf(" ◆◆◆修改職工信息◆◆◆\n");printf("\n");modify();break;
case 7:exit(0);break;
default :break;
}
getchar();
printf("\n");
printf("是否繼續進行(y or n):\n");
scanf("%c",&a);
if(a=='y')
{
flag=1;
system("cls"); /*清屏*/
menu(); /*調用菜單函數*/
printf("請再次選擇你需要操作的步驟(1--6):\n");
scanf("%d",&n);
printf("\n");
}

else
exit(0);
}

}

void input() /*錄入函數*/
{
int i,m;
printf("請輸入需要創建信息的職工人數(1--100):\n");
scanf("%d",&m);
for (i=0;i<m;i++)
{
printf("職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");

}
printf("\n創建完畢!\n");
save(m);
}

void save(int m) /*保存文件函數*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL) /*創建文件並判斷是否能打開*/
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i<m;i++) /*將內存中職工的信息輸出到磁碟文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

int load() /*導入函數*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}

void display() /*瀏覽函數*/
{
int i;
int m=load();
printf("\n 職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
for(i=0;i<m;i++) /*m為輸入部分的職工人數*/
printf("\n %d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
}

void del() /*刪除函數*/
{

int m=load();
int i,j,n,t,flag;
char name[20];
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要刪除的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要刪除此人信息請按1,不刪除請按0\n");
scanf("%d",&n);
if(n==1) /*如果刪除,則其他的信息都往上移一行*/
{
for(j=i;j<m-1;j++)
{
strcpy(em[j].name,em[j+1].name);
em[j].num=em[j+1].num;
em[j].sex=em[j+1].sex;
em[j].age=em[j+1].age;
strcpy(em[j].xueli,em[j+1].xueli);
em[j].wage=em[j+1].wage;
strcpy(em[j].addr,em[j+1].addr);
em[j].tel=em[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n對不起,查無此人!\n");
printf("\n 瀏覽刪除後的所有職工信息:\n");
save(m); /*調用保存函數*/
display(); /*調用瀏覽函數*/
printf("\n繼續刪除請按1,不再刪除請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}
}

void add()/*添加函數*/
{
FILE*fp;
int n;
int count=0;
int i;
int m=load();
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
fp=fopen("emploee_list","a");
printf("請輸入想增加的職工數:\n");
scanf("%d",&n);
for (i=m;i<(m+n);i++)
{
printf("\n 請輸入新增加職工的信息:\n");
printf("請輸入職工號: ");
srand((int)time(0));
em[i].num=rand()%10000+20000000;
if(em[i].num!=em[i-1].num)
printf("%8d ",em[i].num);
printf("\n");
printf("請輸入姓名: ");
scanf("%s",em[i].name);
getchar();
printf("請輸入性別(f--女 m--男): ");
scanf("%c",&em[i].sex);
printf("請輸入年齡: ");
scanf("%d",&em[i].age);
printf("請輸入學歷: ");
scanf("%s",em[i].xueli);
printf("請輸入工資: ");
scanf("%d",&em[i].wage);
printf("請輸入住址: ");
scanf("%s",em[i].addr);
printf("請輸入電話: ");
scanf("%d",&em[i].tel);
printf("\n");
count=count+1;
printf("已增加的人數:\n");
printf("%d\n",count);
}
printf("\n添加完畢!\n");
m=m+count;
printf("\n瀏覽增加後的所有職工信息:\n");
printf("\n");
save(m);
display();
fclose(fp);
}

void search()/*查詢函數*/
{
int t,flag;
do
{
printf("\n按職工號查詢請按1 ; 按學歷查詢請按2 ; 按電話號碼查詢請按3,進入主函數按4\n");
scanf("%d",&t);
if(t>=1&&t<=4)
{
flag=1;
break;
}
else
{
flag=0;
printf("您輸入有誤,請重新選擇!");
}
}
while(flag==0);
while(flag==1)
{
switch(t)
{
case 1:printf("按職工號查詢\n");search_num();break;
case 2:printf("按學歷查詢\n");search_xueli();break;
case 3:printf("按電話號碼查詢\n");search_tel();break;
case 4:main();break;
default:break;
}

}

}

void search_num()
{
int num;
int i,t;
int m=load();
printf("請輸入要查找的職工號(20001111---20009999):\n");
scanf("%d",&num);
for(i=0;i<m;i++)
if(num==em[i].num)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢職工號請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2: break;
default:break;
}
}

void search_xueli()
{
char xueli[30];
int i,t;
int m=load();
printf("請輸入要查找的學歷:\n");
scanf("%s",xueli);
for(i=0;i<m;i++)
if(strcmp(em[i].xueli,xueli)==0)
{
printf("\n已找到,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢學歷請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void search_tel()
{
long int tel;
int i, t;
int m=load();
printf("請輸入要查找的電話號碼:\n");
scanf("%ld",&tel);
for(i=0;i<m;i++)
if(tel==em[i].tel)
{
printf("\n已找到此人,其記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
break;
}
if(i==m)
printf("\n對不起,查無此人\n");
printf("\n");
printf("返回查詢函數請按1,繼續查詢電話號碼請按2\n");
scanf("%d",&t);
switch(t)
{
case 1:search();break;
case 2:break;
default :break;
}

}

void modify() /*修改函數*/
{
int num;
char name[10];
char sex;
int age;
char xueli[30];
int wage;
char addr[30];
long int tel;
int b,c,i,n,t,flag;
int m=load(); /*導入文件內的信息*/
printf("\n 原來的職工信息:\n");
display(); /* 調用瀏覽函數*/
printf("\n");
printf("請輸入要修改的職工的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf("\n已找到此人,原始記錄為:\n");
printf("\n職工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);
printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");
scanf("%d",&n);
if(n==1)
{
printf("\n需要進行修改的選項\n 1.職工號 2.姓名 3.性別 4.年齡 5.學歷 6.工資 7.住址 8.電話\n");
printf("請輸入你想修改的那一項序號:\n");
scanf("%d",&c);
if(c>8||c<1)
printf("\n選擇錯誤,請重新選擇!\n");
}
flag=0;
}

}
if(flag==1)
printf("\n對不起,查無此人!\n");
do
{
switch(c) /*因為當找到第i個職工時,for語句後i自加了1,所以下面的應該把改後的信息賦值給第i-1個人*/
{
case 1:printf("職工號改為: ");
scanf("%d",&num);
em[i-1].num=num;
break;
case 2:printf("姓名改為: ");
scanf("%s",name);
strcpy(em[i-1].name,name);
break;
case 3:printf("性別改為: ");
getchar();
scanf("%c",&sex);
em[i-1].sex=sex;
break;
case 4:printf("年齡改為: ");
scanf("%d",&age);
em[i-1].age=age;
break;
case 5:printf("學歷改為: ");
scanf("%s",xueli);
strcpy(em[i-1].xueli,xueli);
break;
case 6:printf("工資改為: ");
scanf("%d",wage);
break;
case 7:printf("住址改為: ");
scanf("%s",addr);
strcpy(em[i-1].addr,addr);
break;
case 8:printf("電話改為: ");
scanf("%ld",&tel);
em[i-1].tel=tel;
break;
}
printf("\n");
printf("\n是否確定所修改的信息?\n 是 請按1 ; 不,重新修改 請按2: \n");
scanf("%d",&b);

}
while(b==2);
printf("\n瀏覽修改後的所有職工信息:\n");
printf("\n");
save(m);
display();
printf("\n繼續修改請按1,不再修改請按0\n");
scanf("%d",&t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}

}

10. 做一個教學管理系統,用C語言和sql資料庫,登陸界面的登陸按鈕怎麼和資料庫連接,求詳細步驟

你需要寫個DbHelperSQL 資料庫操作類,然後配置 config文件 配置資料庫連接地址,然後調用 DbHelperSQL 對象 對資料庫進行操作 就可以了