㈠ 企業檔案管理系統的全部java代碼
這個採用 java web 進行開發
確認需求 設計表 coding
資料庫:mysql or sqlserver
伺服器:Tomcat
see my (d u) name
㈡ 急需SQL圖書館管理系統或者學籍檔案管理系統的源代碼
1.手工建表用企業管理器.
2.sql腳本建表用查詢分析器
3.建表方法請參考sql自帶幫助.
㈢ 急求畢業設計—職工檔案管理系統(含源代碼)
你可以留下你的Email地址,方便我們交換資料
㈣ 80分獎勵給一個C語言源代碼「檔案管理系統的設計」
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
/*********************** 字定義函數聲明 ********************************/
void Add(); //增加記錄
void Delete(); //刪除記錄
void Search(); //查找記錄
void Alter(); //修改記錄
void Views(); //查看所有記錄
void delete_all(); //清除所有記錄
int check(char strID[]); //查找文件記錄中已經存在的學生ID
/********************* 定義學生信息結構體 **********/
struct student
{
//學生信息(學號,姓名,性別,籍貫,電話,住址,民族);
char ID[10];
char name[10];
char sex[4];
char nativePlace[10];
char phone[13];
char nation[6];
};
struct student stu;
FILE *fp;//定義文件指針
/********************* main() 主函數 *************************************/
void main()
{
int flag;
while(flag!=7)
{
printf("\n\t\t 【 請選擇您所要的操作 】 \n");
printf("\t\t‖****************************************‖\n");
printf("\t\t‖ 1、增加記錄 4、修改記錄 ‖\n");
printf("\t\t‖ 2、刪除記錄 5、清除所有記錄 ‖\n");
printf("\t\t‖ 3、查詢記錄 6、所有記錄列表 ‖\n");
printf("\t\t‖ 〖 按任意鍵退出 〗 ‖\n");
printf("\t\t‖****************************************‖\n");
scanf("%d",&flag);
switch(flag)
{
case 1:
Add(); //增加記錄
getch();
system("cls");
break;
case 2:
Delete(); //刪除記錄
getch();
system("cls");
break;
case 3:
Search(); //查找記錄
getch();
system("cls");
break;
case 4:
Alter(); //修改記錄
getch();
system("cls");
break;
case 5:
delete_all(); //清空所有記錄
getch();
system("cls");
break;
case 6:
Views(); //查看所有記錄
getch();
system("cls");
break;
default:
exit(0);
}
}
}
/***************** 插入新記錄 *******************************/
void Add()
{
if((fp=fopen("StudentMessage","ab+"))==NULL)
{
printf("學生信息文件打開失敗!");
exit(1);
}
else
{
int check_add(char stuID[]);
long flength,offset;
int k=0,t; //t用來接收check()函數的傳值
char str[53];
fseek(fp,0,SEEK_END);
flength=ftell(fp)/sizeof(stu); //統計文件中有多少條記錄
printf("\t請輸入要插入的學生的信息:\n");
input_message:
printf("\t學號:");
scanf("%s",&stu.ID);
t=check_add(stu.ID);
if(t==1)
{
printf("\t》 該學號已經存在,不允許重復插入!請重新輸入一個學號。《\n");
goto input_message; //跳轉到「input_message」標記處繼續執行
}
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性別:");
scanf("%s",&stu.sex);
printf("\t籍貫:");
scanf("%s",&stu.nation);
printf("\t電話:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
rewind(fp);
//檢測文件中是否有空字元串,如果有則在此處插入新記錄,如果沒有則插入到文件尾
while(!feof(fp))
{
fread(&str,sizeof(stu),1,fp);
//檢測到空字元串,則將fp所指向的文件關閉,以讀寫方式重新打開
if(strcmp(str,"")==0)
{
fclose(fp);
fp=fopen("StudentMessage","rb+");
break;
}
k++;
}
offset=sizeof(stu)*k;
fseek(fp,offset,SEEK_SET);
fwrite(&stu,sizeof(stu),1,fp);
fclose(fp);
printf("插入數據成功!\n");
}
}
/****************** 檢測將要插入的學號是否已存在文件記錄中 **************************/
int check(char stuID[10])
{
int id=0,k=1;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開一個二進制文件StudentMessage
{
printf("文件打開失敗!\n");
exit(1);//打開失敗,返回系統
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//檢測用戶輸入的學號是否已經存在,若存在則終止程序的執行
if(strcmp(checkID.ID,stuID)==0)
{
break;
}
id++;
}
fclose(fpp);
return id*k;
}
/******************** 檢測輸入的學號是否能插入 *****************************************/
int check_add(char stuID[10])
{
int id;
FILE *fpp;
struct student checkID;
if((fpp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開一個二進制文件StudentMessage
{
printf("文件打開失敗!\n");
exit(1);//打開失敗,返回系統
}
while(!feof(fpp))
{
fread(&checkID,sizeof(stu),1,fpp);
//檢測用戶輸入的學號是否已經存在,若存在則終止程序的執行
if(strcmp(checkID.ID,stuID)==0)
{
id=1;
break;
}
else
{
id=0;
}
}
fclose(fpp);
return id;
}
/******************* 根據用戶輸入的學號刪除記錄 ************/
void Delete()
{
printf("刪除相應記錄!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL) //以可讀可寫方式打開一個二進制文件
{
printf("文件打開失敗!\n");
return;
}
else
{
char message[10]; //接收用戶需要刪除的學號
int i;
long flength;
fseek(fp,0,SEEK_END); //把文件指針移到文件尾
flength=ftell(fp)/sizeof(struct student); //計算文件中有多少條記錄
printf("\t請輸入您要刪除的學號:");
scanf("%s",message);
i=check(message);
long offset=sizeof(stu)*i; //記錄要刪除的學號的位置
if(flength==0)
{
printf("文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("沒有該學生信息!\n");
return;
}
else
{
//將要刪除的字元串全部置為空
strcpy(stu.ID,"");
strcpy(stu.name,"");
strcpy(stu.sex,"");
strcpy(stu.nation,"");
strcpy(stu.phone,"");
strcpy(stu.nativePlace,"");
fseek(fp,offset,SEEK_SET); //移動指針到要刪除的學號的位置
fwrite(&stu,sizeof(stu),1,fp); //將置空的信息重新寫回到文件中
printf("\t\t數據刪除成功!\n");
}
fclose(fp);
}
}
/****************** 查找數據 ***************************************/
void Search()
{
if((fp=fopen("StudentMessage","rb"))==NULL) //以只讀方式打開StudentMessage文件
{
printf("\t文件打開失敗!\n");
return;
}
else
{
char message[10]; //接收用戶需要查找的信息
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //將文件指針移文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
printf("\t請輸入您要查找的學號:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i;
if(flength==0)
{
printf("\t文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("\t\t查找失敗,沒有找到相應信息!\n");
return;
}
else
{
//輸出查找到的內容
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
fclose(fp);
}
}
/****************** 修改記錄 ********************************/
void Alter()
{
printf("修改相應記錄!\n");
if((fp=fopen("StudentMessage","rb+"))==NULL)
{
printf("文件打開失敗!\n");
exit(1);
}
else
{
char message[10]; //存儲用戶要修改的學號
int i;
long flength,offset;
fseek(fp,0,SEEK_END); //移動文件指針到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
printf("\t請輸入您要修改的學號:");
scanf("%s",message);
i=check(message);
offset=sizeof(struct student)*i; //記錄要修改的記錄在文件中的位置
if(flength==0)
{
printf("文件記錄為空!\n");
return;
}
else if(i>flength)
{
printf("沒有該學生信息!\n");
return;
}
else
{
rewind(fp);
fseek(fp,offset,SEEK_SET);
fread(&stu,sizeof(struct student),1,fp);
printf("該學生原來的信息:\n");
printf("\t學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("名族:%s\n\n",stu.nativePlace);
printf("請更新該學生的信息:\n");
strcpy(stu.ID,message);
printf("\t姓名:");
scanf("%s",&stu.name);
printf("\t性別:");
scanf("%s",&stu.sex);
printf("\t籍貫:");
scanf("%s",&stu.nation);
printf("\t電話:");
scanf("%s",&stu.phone);
printf("\t名族:");
scanf("%s",&stu.nativePlace);
fseek(fp,offset,SEEK_SET); //將文件指針指向要修改的地方
fwrite(&stu,sizeof(stu),1,fp); //將修改後的內容重新寫回到原來的地方
printf("\t數據更新成功!\n");
}
fclose(fp);
}
}
/************** 查看所有記錄 ************************************/
void Views()
{
long flength;
if((fp=fopen("StudentMessage","rb"))==NULL)
{
printf("文件打開失敗!\n");
exit(1);
}
fseek(fp,0,SEEK_END); //移動文件指針到文件尾
flength=ftell(fp)/sizeof(struct student); //得到文件中有多少條記錄
if(flength==0)
{
printf("文件中沒有記錄!");
return;
}
rewind(fp); //將文件指針移動到文件頭
printf("\t\t\t所有記錄列表\n\n");
while(!feof(fp))
{
fread(&stu,sizeof(stu),1,fp);
if(strcmp(stu.ID,"")!=0) //檢測文件中的空字元串,如果不是空字元串則輸出
{
printf("學號:%s ",stu.ID);
printf("姓名:%s ",stu.name);
printf("性別:%s ",stu.sex);
printf("籍貫:%s ",stu.nation);
printf("電話:%s ",stu.phone);
printf("民族:%s\n",stu.nativePlace);
}
}
fclose(fp);
}
/******************** 刪除所有記錄 ********************************/
void delete_all()
{
int ch;
printf("該操作將刪除所有記錄,按「0」退出,按「1」繼續。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
printf("將刪除所有記錄,繼續請按「1」,退出請按「0」。\n");
scanf("%d",&ch);
switch(ch)
{
case 0:
break;
case 1:
if (remove("StudentMessage") == 0) //刪除StudentMessage文件
{
printf("操作成功,所有記錄已經刪除!");
}
else
{
perror("remove"); //如果刪除不成功則輸出系統出錯的信息
}
break;
}
}
}
㈤ 有沒有學生檔案管理系統,基於C#的,需要源碼,
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#define INIT_SIZE 10
#define INCRE_SIZE 10
#define SUBJECT_NUM 3
#define LEN 3
void show_Start();
void show_Table();
void addRecord();
void Info_delete();
void deleteRecord();
void delete_Num(int);
void delete_Name(char tarName[]);
void Info_modify();
void modifyRecord();
void modify_Num(int);
void modify_Name(char[]);
void Info_query();
void queryRecord();
void query_Num(int);
void query_Name(char[]);
void display();
void quit();
void menu_CMD();
char *subject[SUBJECT_NUM] = {"高代","數分","C語言"};
struct STUDENT
{
int num;
char name[20];
char sex;
float score[SUBJECT_NUM];
};
//struct STUDENT stu[LEN + 1];
//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
int static stuNum = 0;
//先暫時定義三個學生吧...
STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);;
int main()
{
//record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);
/*
record[1].num = 1001;
strcpy(record[1].name,"Jason");
record[1].sex = 'M';
record[1].score[0] = 85.0;
record[1].score[1] = 90.0;
record[1].score[2] = 95.0;
record[2].num = 1002;
strcpy(record[2].name,"Jerry");
record[2].sex = 'M';
record[2].score[0] = 85.0;
record[2].score[1] = 90.0;
record[2].score[2] = 95.0;
record[3].num = 1003;
strcpy(record[3].name,"Jessie");
record[3].sex = 'F';
record[3].score[0] = 85.0;
record[3].score[1] = 90.0;
record[3].score[2] = 95.0;
*/
/*
Info_modify();
int key;
cout<<"請輸入您的選擇 : ";
cin>>key;
if(key == 1)
{
int targetNum;
cout<<"請輸入您欲修改的學生的學號 : ";
cin>>targetNum;
modify_Num(targetNum);
cout<<endl;
display();
}
if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲修改學生的姓名 : ";
cin>>targetName;
modify_Name(targetName);
cout<<endl;
display();
}
if(key == 3)
{
exit(0);
}
*/
show_Start();
menu_CMD();
return 0;
}
//修改完後還應該顯示
void show_Start()
{
//cout<<endl;
cout<<" **************************************** "<<endl;
cout<<" 這是一個 "<<endl;
cout<<" 學生成績管理系統 "<<endl;
cout<<" 可以對學生成績進行管理 "<<endl;
cout<<" 歡迎大家使用 "<<endl;
cout<<" Made by Jason "<<endl;
cout<<" **************************************** "<<endl;
}
// 顯示表頭信息,即是 : 學號,姓名,性別,高代,數分,C語言.
void show_Table()
{
cout<<"學號"<<"\t"<<"姓名"<<"\t"<<"性別";
cout<<"\t"<<subject[0]<<"\t"<<subject[1]<<"\t"<<subject[2];
cout<<endl;
}
void menu_CMD()
{
int key;
while(1)
{
cout<<"1. 增加學生信息"<<endl;
cout<<"2. 刪除學生信息"<<endl;
cout<<"3. 修改學生信息"<<endl;
cout<<"4. 查詢學生信息"<<endl;
cout<<"5. 顯示學生信息"<<endl;
cout<<"6. 退出"<<endl;
cout<<"請輸入您的選擇 : ";
cin>>key;
while(1)
{
if((key < 1)||(key > 6))
{
int key;
cout<<"您的輸入有誤,請重新輸入!"<<endl;
cout<<"請選(1 - 5) : ";
cin>>key;
}
else
{
break;
}
}
switch(key)
{
case 1:
addRecord();
break;
case 2:
deleteRecord();
break;
case 3:
modifyRecord();
break;
case 4:
queryRecord();
break;
case 5:
display();
break;
case 6:
quit();
break;
}
}
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//增加學生信息
void addRecord()
{
if(stuNum == 0)
{
cout<<"原來沒有記錄,現在建立新表!"<<endl;
stuNum++;
}
else
{
cout<<"現在在當前表的末尾添加新的信息!"<<endl;
stuNum++;
}
//如果數組空間不夠,重新申請空間
if(stuNum > INIT_SIZE)
{
cout<<"內存空間不夠,現在重新申請新的內存空間!"<<endl;
record = (STUDENT*)realloc(record,(INIT_SIZE + INCRE_SIZE)*sizeof(STUDENT));
cout<<"空間申請完成!"<<endl;
}
cout<<"您現在要添加一組新的信息,您確定嗎?"<<endl;
cout<<"請輸入您的選擇(Y/N) : ";
char choi;
cin>>choi;
if((choi == 'Y')||(choi == 'y'))
{
cout<<"請輸入學號 : ";
cin>>record[stuNum].num;
cout<<"請輸入姓名 : ";
cin>>record[stuNum].name;
cout<<"請輸入性別(M為男,F為女) : ";
cin>>record[stuNum].sex;
int i;
for(i = 0;i < SUBJECT_NUM;i++)
{
cout<<"請輸入"<<subject[i]<<"的成績 : ";
cin>>record[stuNum].score[i];
}
}
if((choi == 'N')||(choi == 'n'))
{
cout<<"退出添加新學生信息!"<<endl;
cout<<endl;
}
cout<<"現在已經有"<<stuNum<<"條學生的信息了!"<<endl;
cout<<endl;
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//刪除信息 晚上完成...
//顯示deleteRecord的表頭信息
void Info_delete()
{
cout<<"請輸入刪除方式 : "<<endl;
cout<<"1. 按學號刪除"<<endl;
cout<<"2. 按姓名刪除"<<endl;
cout<<"3. 退出刪除"<<endl;
}
//刪除學生的信息,包含兩個子函數
void deleteRecord()
{
int key;
cout<<endl;
Info_delete();
cout<<"請輸入您的選擇 : ";
cin>>key;
if(key == 1)
{
int targetNum;
cout<<"請輸入您欲刪除學生的學號 : ";
cin>>targetNum;
//按學號刪除
delete_Num(targetNum);
cout<<endl;
}
if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲刪除學生的姓名 : ";
cin>>targetName;
//按姓名刪除
delete_Name(targetName);
cout<<endl;
}
if(key == 3)
{
while(1)
{
menu_CMD();
}
}
}
//按學號刪除學生信息
//只用完成刪除操作,而不必輸出. 輸出的操作可以在主菜單中進行
void delete_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位
//第一種情況,欲刪除的學生是最後一位
if(i = stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
cout<<endl<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum - 1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
//顯示信息應該放在後面
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}
//2.第二種情況,欲刪除的學生不是最後一位
if(i != stuNum)
{
cout<<"您所要刪除的學生信信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}
//接著完成輸出
cout<<endl;
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}
stuNum--;
cout<<"現在還是剩下"<<stuNum<<"條學生的信息";
cout<<endl;
}
}
}
/*
//方法同上
void delete_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位
//第一種情況 : 欲刪除學生是最後一位
if(i = stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
cout<<endl<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum - 1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
}
//第二種情況 : 欲刪除學生不是最後一位
if(i != stuNum)
{
cout<<"您所要刪除的學生信信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
//整體往前 前移一位
for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}
cout<<endl;
//接著完成輸出
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
cout<<endl;
}
}
}
}
*/
void delete_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
//刪除還要分兩種情況討論
//1. 欲刪除的學生信息是最後一位
//2. 欲刪除的學生信息不是最後一位
//當欲刪除的學生是最後一位,直接輸出前面LEN-1位學生的信息
if(strcmp(record[i].name,tarName) == 0)
{
if(i == stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t"
<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}
//當欲刪的學生不是最後一位,整體往前前移一位
if(i != stuNum)
{
cout<<"您所要刪除的學生信息是 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex<<"\t";
cout<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
//整體往前前移一位
for(int j = i+1;j <= stuNum;j++)
{
record[j-1] = record[j];
}
//然後輸出
cout<<endl;
cout<<"刪除後學生信息表為 : "<<endl;
show_Table();
for(int i = 1;i <= stuNum-1;i++)
{
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(int j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
/*
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
*/
}
stuNum--;
cout<<"現在還剩下"<<stuNum<<"條學生的信息";
cout<<endl;
}
}
}
/*****************************************************************************
******************************************************************************/
//顯示modifyRecord的表頭信息
void Info_modify()
{
cout<<"請輸入修改方式 : "<<endl;
cout<<"1. 按學號修改"<<endl;
cout<<"2. 按姓名修改"<<endl;
cout<<"3. 退出修改"<<endl;
}
//查詢學生的成績,當然裡麵包括兩個子函數
void modifyRecord()
{
int key;
cout<<endl;
Info_modify();
cout<<"請輸入您的選擇 : ";
cin>>key;
//按學號修改
if(key == 1)
{
int targetNum;
cout<<"請輸入您欲修改的學生的學號 : ";
cin>>targetNum;
modify_Num(targetNum);
cout<<endl;
//display();
}
//按姓名修改
if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲修改學生的姓名 : ";
cin>>targetName;
modify_Name(targetName);
cout<<endl;
//display();
}
//退出修改
if(key == 3)
{
while(1)
{
menu_CMD();
}
}
}
//按學號修改
void modify_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
cout<<endl<<"請修改該學生的信息"<<endl;
cout<<"請輸入該學生的學號 : ";
cin>>record[i].num;
cout<<"請輸入該學生的姓名 : ";
cin>>record[i].name;
cout<<"請輸入該學生的性別 : ";
cin>>record[i].sex;
cout<<"請輸入"<<subject[0]<<"的成績 : ";
cin>>record[i].score[0];
cout<<"請輸入"<<subject[1]<<"的成績 : ";
cin>>record[i].score[1];
cout<<"請輸入"<<subject[2]<<"的成績 : ";
cin>>record[i].score[2];
}
}
}
//按姓名修改
void modify_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
cout<<endl<<"請修改該學生的信息 : "<<endl;
cout<<"請輸入該學生的學號 : ";
cin>>record[i].num;
cout<<"請輸入該學生的姓名 : ";
cin>>record[i].name;
cout<<"請輸入該學生的性別 : ";
cin>>record[i].sex;
cout<<"請輸入"<<subject[0]<<"的成績 : ";
cin>>record[i].score[0];
cout<<"請輸入"<<subject[1]<<"的成績 : ";
cin>>record[i].score[1];
cout<<"請輸入"<<subject[2]<<"的成績 : ";
cin>>record[i].score[2];
}
}
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//顯示queryRecord的表頭信息
void Info_query()
{
cout<<"請輸入查詢方式 : "<<endl;
cout<<"1. 按學號查詢"<<endl;
cout<<"2. 按姓名查詢"<<endl;
cout<<"3. 退出查詢"<<endl;
}
//查詢學生信息queryRecord
void queryRecord()
{
int key;
cout<<endl;
Info_query();
cout<<"請輸入您的選擇 : ";
cin>>key;
if(key == 1)
{
int targetNum;
cout<<"請輸入您欲查詢學生的學號 : ";
cin>>targetNum;
query_Num(targetNum);
cout<<endl;
}
if(key == 2)
{
char targetName[20];
cout<<"請輸入您欲查詢學生的學號 : ";
cin>>targetName;
query_Name(targetName);
cout<<endl;
}
//退出查詢,退回到主菜單吧...
if(key == 3)
{
while(1)
{
menu_CMD();
}
}
}
//按學號查詢
void query_Num(int tarNum)
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(record[i].num == tarNum)
{
//如果表中有該學生信息的話,僅用輸出該學生的信息即可.
//輸出該學生的信息
cout<<"該學生的信息如下 : "<<endl;
//顯示表頭信息
show_Table();
//顯示該學生具體的信息
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
}
}
}
//按姓名查詢
void query_Name(char tarName[])
{
int i;
for(i = 1;i <= stuNum;i++)
{
if(strcmp(record[i].name,tarName) == 0)
{
cout<<"該學生的信息如下 : "<<endl;
show_Table();
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
cout<<"\t"<<record[i].score[0]<<"\t"<<record[i].score[1]<<"\t"<<record[i].score[2];
cout<<endl;
}
}
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//先顯示所有學生的信息吧
//顯示record里所有學生的成績
void display()
{
show_Table();
int i,j;
for(i = 1;i <= stuNum;i++)
{
//cout<<"學號"<<"\t"<<"姓名"<<"\t"<<"性別";
cout<<record[i].num<<"\t"<<record[i].name<<"\t"<<record[i].sex;
for(j = 0;j < SUBJECT_NUM;j++)
{
cout<<"\t"<<record[i].score[j];
}
cout<<endl;
}
cout<<endl;
}
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//退出
void quit()
{
char choi;
cout<<"您確定要退出嗎?"<<endl;
cout<<"請輸入您的選擇(Y/N) : ";
cin>>choi;
if((choi == 'Y')||(choi == 'y'))
{
cout<<"現在退出學生信息管理系統"<<endl;
exit(0);
}
//如果不是退出,則接著退回到主界面
else
{
cout<<endl;
menu_CMD();
}
}
這個是原創的... 在C-Free 4.0里跑過,可以正常運行
你可以試著跑一下,如果有什麼問題可以和我聯系
0
| 評論(1)
向TA求助
回答者: 倫落校園4914 來自團隊 嘻嘻愛好者 | 二級採納率:5%
擅長領域: C/C++ 數學
參加的活動: 暫時沒有參加的活動
相關內容
2009-2-28求 學生信息管理系統 C程序源代碼 1
2007-7-29學生信息管理系統 C/C++ 的 源代碼 22
2011-3-16請高手緊急求救啊!!急求學生信息管理系統 源代碼 JAVA的 myeclip...
2009-8-31求 MFC 學生信息管理系統 源代碼 5
2010-9-9MFC 學生信息管理系統 源代碼 那個。。。我也想要可以嗎? 1
更多關於學生檔案管理系統,源碼的問題>>
學生信息管理系統:... 學生信息管理系統:... 學生信息管理系統:...
2012-2-18學生信息管理系統論文,求高手11
2012-1-22學生信息管理系統論文
2011-12-15誰有學生信息管理系統的論文,發過來哦!要求:B/S的,java+mysql的. ...
2011-12-19求畢業設計vb+access 題目是學生信息管理系統 哪位大神有的 全套發我...
2011-12-15誰有學生信息管理系統的論文,發過來哦!
更多關於學生信息管理系統:論文的問題>>
回答 共2條
2010-12-22 20:03 Shanglogo | 六級
不知道你要實現什麼樣的功能,下面的你可以參考一下。
#include<iostream.h>
#include<iomanip.h>
void input(); //聲明7個函數
void output();
void paixu();
void chazhao();
void charu();
void shanchu();
void tongji();
struct Student //結構體
{
int num;
char name[12];
float math;
float eng;
float com;
float sum;
float ave;
};
Student x[30];
int N=0;
void main()
{
int m;
do
{ //開場效果
cout<<endl;
cout<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * * *"<<endl;
cout<<" * 歡迎使用學生信息管理系統 *"<<endl;
cout<<" * 1.輸入信息 2.輸出信息 *"<<endl;
cout<<" * 3.總分排序 4.查找信息 *"<<endl;
cout<<" * 5.插入信息 6.刪除信息 *"<<endl;
cout<<" * 7.統計分數 8.退出系統 *"<<endl;
cout<<" * Made by Shanglogo *"<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * *"<<endl;
cout<<endl;
㈥ 消防檔案管理系統源代碼
去網上找,就是誰有也不能給你現成的,自己寫吧也沒多難。
㈦ 求高手啊!!!急求。就著兩天就要 !學生檔案管理系統的源代碼
好復雜哦
㈧ 急求!基於javaweb的檔案管理系統的實現源代碼(附帶程序說明)!
基本沒人會幫你免費做的。。。。相信我。做這個基本就是有償。。樓上說豬八戒也挺好的,也就100左右能搞定
㈨ 求C語言學生檔案管理界面的源代碼
簡短的代碼 原創 花了2小時搞的#include "stdafx.h"
#include "stdio.h"
#include "string.h"int main(int argc, char* argv[])
{
struct days
{
int year;
int mon;
int day;
};
struct max
{
int num;
char name[20];
float cpp;
float data;
float english;
struct days mon;
}stu[100]={0,"",0,0,0,0,0,0};
int a,b,c,yanz=0;
char name[50];
FILE *fp;
printf("****************************ZX學生管理系統1.0測試版*****************************\n");
loop:printf("1.通過學號查找信息\n2.通過姓名查找信息\n3.添加學生信息\n4.刪除學生信息\n5.文件操作\n請輸入操作代碼(1~6):");
scanf("%d",&a);
switch(a)
{
case 1:
printf("請輸入學生學號:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
printf("學號:%d\n姓名:%s\nC++:%f分\n數據結構:%f分\n英語:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 2:
printf("請輸入學生姓名:");
scanf("%s",&name);
for(b=0;b<100;b++)
if((strcmp(stu[b].name,name))==0 && stu[b].num!=0)
printf("學號:%d\n姓名:%s\nC++:%f分\n數據結構:%f分\n英語:%f分\n平均分%f\n出生日期:%d年%d月%d日\n\n",stu[b].num,stu[b].name,stu[b].cpp,stu[b].data,stu[b].english,(stu[b].cpp+stu[b].data+stu[b].english)/3,stu[b].mon.year,stu[b].mon.mon,stu[b].mon.day);
break;
case 3:
for(b=0;b<100;b++)
{
if(stu[b].num==0)
{printf("請輸入新學生的學號:");<br> scanf("%d",&stu[b].num);<br> printf("請輸入新學生的姓名:");<br> scanf("%s",&stu[b].name);<br> printf("請輸入新學生的C++分:");<br> scanf("%f",&stu[b].cpp);<br> printf("請輸入新學生的數據結構分:");<br> scanf("%f",&stu[b].data);<br> printf("請輸入新學生的英語分數:");<br> scanf("%f",&stu[b].english);<br> printf("請輸入新學生的出生日期(****,**,**):");<br> scanf("%d,%d,%d",&stu[b].mon.year,&stu[b].mon.mon,&stu[b].mon.day);<br> break;}
}
if(b>=99) printf("空間已滿!\n");
break;
case 4:
printf("請輸入要刪除的那個學生學號:");
scanf("%d",&c);
for(b=0;b<100;b++)
if(stu[b].num==c)
{
stu[b].num=NULL;
printf("刪除成功!\n");
yanz=1;
}
if(yanz==0) printf("找不到學號為%d學生的信息!",c);
break;
case 5:
printf("1.保存信息文件\n2.新建文件\n3.讀取文件\n請輸入操作代碼:");
scanf("%d",&c);
if(c==1)
{
printf("請輸入輸入文件路徑:");
scanf("%s",&name);
if((fp=fopen(name,"ab"))!=0)
{
for(b=0;b<100;b++)
if(stu[b].num!=0)fwrite(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("保存文件失敗,可能文件被保護或磁碟寫滿!\n");
}
else if(c==2)
{
printf("請輸入輸入文件名:");
scanf("%s",&name);
fp=fopen(name,"wb");
fclose(fp);
}
else if(c==3)
{
printf("請輸入輸入文件路徑:");
scanf("%s",&name);
if((fp=fopen(name,"rb"))!=0)
{
for(b=0;b<100;b++)
fread(&stu[b],sizeof(struct max),1,fp);
fclose(fp);
}
else printf("讀取文件失敗,可能文件不存在或被保護!\n");
}
else printf("輸入錯誤!\n");
}
goto loop;
return 0;
}
㈩ 人事檔案系統源碼
網上有這樣的程序,可下載,也許有部分功能需要收費,你可以將那一部分屏弊掉來使用。