資源簡介
學生信息管理系統設計
學生信息包括:學號,姓名,年齡,性別,出生年月,地址,電話,E-mail等。試設計一學生信息管理系統,使之能提供以下功能:
系統以菜單方式工作
學生信息錄入功能(學生信息用文件保存)---輸入
學生信息瀏覽功能---輸出
查詢、排序功能---算法
按學號查詢
按姓名查詢
代碼片段和文件信息
#include
#include
#include
#include
struct?student???????/*定義結構體類型??數據類型全為字符型*/
{
char?num[9]name[20];
char?age[3];
char?sex[2];
char?brith[10]add[20]phone[12]Email[18];
};
typedef?struct?student?STU;
STU?stu[100];
void?input();?????????/*聲明輸入函數*/
void?output();????????/*聲明輸出函數*/
void?search();????????/*聲明查詢函數*/
void?search_num();????/*聲明按學號查詢函數*/
void?search_name();???/*聲明按姓名查詢函數*/
void?order();?????????/*聲明排序函數*/
void?order_num();?????/*聲明按學號排序函數*/
void?order_name();????/*聲明按姓名排序函數*/
void?save(int?n);??????/*聲明保存函數*/????
int?openn();???????????/*聲明打開文件函數*/
void?main()???????????/*主函數*/
{
char?a;??????????????/*定義字符數據?用于選擇選項*/
int?flag=0;??????????/*定義整型數據?用于結束while循環*/
system(“color?75“);
while(1)
{
system(“cls“);
printf(“\n\t\t\t*?歡迎來到學生信息管理系統?*“);
printf(“\n\n\t\t???*****************主菜單*****************\n\n\n“);
printf(“\t\t??????輸入學生信息?...................?A\n\n“);
printf(“\t\t??????輸出學生信息?...................?B\n\n“);
printf(“\t\t??????查詢學生信息?...................?C\n\n“);
printf(“\t\t??????排序學生信息?...................?D\n\n“);
printf(“\t\t??????退出程序?.......................?E\n\n\n“);
printf(“\t\t???****************************************\n\n“);
printf(“\t\t請輸入你的選擇:?“);
scanf(“%c“&a);
fflush(stdin);
switch(a)????????????????????/*調用函數?完成各種功能*/
{
case?‘A‘:input();break;
case?‘B‘:output();break;
case?‘C‘:search();break;
case?‘D‘:order();break;
case?‘E‘:flag=1;break;
default:printf(“\t\tError!\n“);
printf(“\t\t按任意鍵返回主菜單\n“);
getch();break;
}
if(flag)?break;
}
}
int?openn()??????????????????????/*定義打開文件函數,并返回文件中學生個數*/
{
int?i;
FILE?*fp;
if((fp=fopen(“stud.txt““r“))==NULL)
{
printf(“打開文件失敗.\n“);
printf(“按任意鍵返回主菜單!\n“);
getch();
main();
}
for(i=0;!feof(fp);i++)
fread(&stu[i]sizeof(STU)1fp);
fclose(fp);
return(i-1);
}
void?save(int?n)????????????????????/*定義保存函數*/
{
FILE?*fp;
int?i;
if((fp=fopen(“stud.txt““w“))==NULL)
{
printf(“?保存函數不能打開這個文件!\n“);
return;
}
for(i=0;i if(fwrite(&stu[i]sizeof(STU)1fp)!=1)
printf(“文件輸入錯誤!\n“);
fclose(fp);
}
void?input()???????????????????????/*定義輸入函數*/
{
int?im;
FILE?*fp;
system(“cls“);
printf(“\n請輸入學生的總人數:?“);
scanf(“%d“&m);
fflush(stdin);
for(i=0;i {
printf(“請輸入第?%d?學生信息.\n“i+1);
printf(“請輸入這個學生的學號:\n“);
gets(stu[i].num);
fflush(stdin);
printf(“請輸入這個學生的名字:\n“);
gets(stu[i].name);
fflush(stdin);
printf(“請輸入這個學生的年齡:\n“);
gets(stu[i].age);
fflush(stdin);
printf(“請輸入這個學生的性別:(M?or?F)\n“);
gets(stu[i].sex);
fflush(stdin);
printf(“請輸入這個學生的出生年月:\n“);
gets(stu[i].brith);
fflush(stdin);
printf(“請輸入這個學生的地址:\n“);
gets(stu[i].add);
fflush(stdin);
printf(“請輸入這個學生的電話:\n“);
gets(stu[i].phone);
fflush(stdin);
printf(“請輸入這個學生的E-mail:\n“);
gets(stu[i].Email);
fflush(stdin);
}
if((fp=fopen
- 上一篇:高斯投影正反算c語言程序
- 下一篇:C語言入門 - 日文版
評論
共有 條評論